estra
-
Постов
370 -
Зарегистрирован
-
Посещение
-
Победитель дней
20
Активность репутации
-
estra получил реакцию от Андрей Рулин в Динамическое изменение цвета TProgressBar
Можно ди будет в следующей версии (или ближайшем hotfix) добавить прогрессбару свойство Color (или Fill, или еще какое-то), для изменения цвета в RunTime?
-
estra получил реакцию от Alisson R Oliveira в [Android] Как изменить качество изображения?
Как изменить качество (Quality) изображения? Написал такую функцию, но она не работает
procedure ChangeQuality( SrcBitmap: TBitmap; var DstBitmap: TBitmap; AQuality: Integer ); var Stream: TStream; Surface: TBitmapSurface; SaveParam: TBitmapCodecSaveParams; begin if Assigned( DstBitmap ) then begin //DstBitmap.SetSize( SrcBitmap.Width, SrcBitmap.Height ); Stream := TMemoryStream.Create; Surface := TBitmapSurface.Create; try Surface.Assign( SrcBitmap ); SaveParam.Quality := AQuality; // AQuality = 65 TBitmapCodecManager.SaveToStream( Stream, Surface, '.jpg', @SaveParam ); Stream.Position := 0; DstBitmap.LoadFromStream( Stream ); finally Surface.Free; Stream.Free; end; end; end; -
estra отреагировална #WAMACO в Как получить значения переменных пакета?
с помощью SQL
select * from GLOBALS
-
estra получил реакцию от petyaas в Как определить цвет пикселя?
В первую очередь нужно научиться пользоваться поиском.
> Определить цвет нужного мне пикселя (X,Y)...
http://blogs.embarcadero.com/yaroslavbrovin/2013/06/17/firemonkey-bitmap-scanline/ > и нарисовать хотя бы линию этого цвета на форме используя обычный: Canvas.DrawLine
http://fire-monkey.ru/topic/3-kak-narisovat-tochku-na-kanve-v-firemonkey/#entry7 http://fire-monkey.ru/topic/13-pochemu-na-mobilnykh-platformakh-u-menia-ne-risuet/
На всякий случай пример:
var C: TAlphaColor; procedure TForm1.FormCreate(Sender: TObject); begin c := TAlphaColorRec.Null; end; ///<Summary> /// Получение цвета пикселя ///</Summary> procedure TForm1.Button1Click(Sender: TObject); var bm: TBitmap; M: TBitmapData; begin bm := TBitmap.Create; bm.LoadFromFile( 'c:\TROP002_w100h100.PNG' ); // Получение цвета пикселя bm.Map( TMapAccess.Read, M ); C := M.GetPixel( 10, 10 ); bm.Unmap( M ); // Принудительная перерисовка Invalidate; bm.Free; end; ///<Summary> /// Отрисовка линии ///</Summary> procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin Canvas.Stroke.Color := C; Canvas.Stroke.Kind := TBrushKind.Solid; Canvas.DrawLine( PointF( 0, 0 ), PointF( 100, 100 ), 1 ); end; -
estra получил реакцию от Sergionn в [FGX Native] [Вебинар] Сравнение возможностей кроссплатформенных мобильных библиотек нативных приложений FMX и FGX Native
Где можно посмотреть запись вебинара?
-
estra получил реакцию от Равиль Зарипов (ZuBy) в HueTrackBar
HuewTrackBar !!! В точку!!!
P.S.
Не вздумайте прочесть это по русски!
P.P.S.
Никого не хочу обидеть, просто очень тонко подмечено)))
-
estra получил реакцию от Barbanel в HueTrackBar
HuewTrackBar !!! В точку!!!
P.S.
Не вздумайте прочесть это по русски!
P.P.S.
Никого не хочу обидеть, просто очень тонко подмечено)))
-
estra получил реакцию от Евгений Корепов в Детский вопрос про область видимости переменной
А я могу понять автора, хотя и с оговоркой.
Вы правы, способ не кроссплатформенный, но мы и не знаем, под какую ОС пишет ТС. Если под Винду, то почему бы и нет. Если нужно кроссплатформенное решение, то GlobalConst.pas прекрасно подойдет, никто не спорит.
Но, подобными вопросами полезно задаваться и решать их в познавательных и исследовательских целях, чтобы лучше узнать инструмент, который используешь в работе. ТС не знал такого способа, теперь узнает, прокачает свои скилы, разве ж это плохо)))
Да и даже чисто с практической точки зрения, бывают задачи, которые просто невозможно решить, не прибегая к хакам. Так что знать о них нужно, но применять с умом и осторожностью, ибо они не панацея!!!
-
estra получил реакцию от Евгений Корепов в Детский вопрос про область видимости переменной
Существует (если нельзя, но очень хочется, то можно). Правда проверял его работоспособность в VCL, в FM проверьте сами.
program Project2; uses Vcl.Forms, Unit1 in 'Unit1.pas' {Form1}; var MyVariableInt: Integer; MyVariableBool: Boolean; MyVariableStr: string; exports MyVariableInt, MyVariableBool, MyVariableStr; {$R *.res} begin MyVariableInt := 456; MyVariableBool := True; MyVariableStr := 'qwerty'#0; Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end. unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: ^Integer; begin i := GetProcAddress(HInstance, 'MyVariableInt'); if Assigned(i) then ShowMessage(IntToStr(i^)); i := GetProcAddress(HInstance, 'MyVariableBool'); if Assigned(i) then ShowMessage(BoolToStr(Boolean(i^))); i := GetProcAddress(HInstance, 'MyVariableStr'); if Assigned(i) then ShowMessage(PChar(i^)); end; end.
-
estra получил реакцию от Rusland в Доработка компонента для чтения штрих-кодов под RAD XE7
Там адаптировать нечего, всего 2 изменения в файле FMX.TKRBarCodeScanner.pas.
1.
// было uses System.Classes {$IFDEF IOS} ,FMX.TMSZBarReader {$ENDIF} {$IFDEF ANDROID} ,FMX.Platform, FMX.Helpers.Android, System.Rtti, FMX.Types, System.SysUtils, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, FMX.StdCtrls, FMX.Edit {$ENDIF} ; // стало uses System.Classes {$IFDEF IOS} ,FMX.TMSZBarReader {$ENDIF} {$IFDEF ANDROID} ,FMX.Platform, FMX.Helpers.Android, System.Rtti, FMX.Types, System.SysUtils, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, FMX.StdCtrls, FMX.Edit {$IF CompilerVersion >= 20} ,Androidapi.Helpers {$ENDIF} {$ENDIF} ; 2
// было {$IFDEF ANDROID} function TTKRBarCodeScanner.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean; begin Result := False; if FMonitorClipboard and (AAppEvent = aeBecameActive) then begin Result := GetBarcodeValue; end; end; {$ENDIF} // стало {$IFDEF ANDROID} function TTKRBarCodeScanner.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean; begin Result := False; if FMonitorClipboard and (AAppEvent = {$IF CompilerVersion >= 20}TApplicationEvent.{$ENDIF}aeBecameActive) then begin Result := GetBarcodeValue; end; end; {$ENDIF} -
estra получил реакцию от Rusland в Задействовать System.Zip.TZipFile без распоковки в поддиректорию?
[ОФФТОП] Интересно, а как метод ExtractAll должен поступать в случае, если в нескольких поддиректориях лежат файлы с одинаковыми именами? (Выберите верный вариант)
В тихую перезаписывать (в конечном итоге оставляя одну версию файла, да еще непонятно какую) Останавливаться (возможно с выбросом ошибки или исключения) Долбать пользователя запросами (дергая какое-нибудь событие) P.S.
выбрав вариант, предложите разработчикам "допилить" этот (метод | класс | компонент).
-
estra получил реакцию от ENERGY в Задействовать System.Zip.TZipFile без распоковки в поддиректорию?
[ОФФТОП] Интересно, а как метод ExtractAll должен поступать в случае, если в нескольких поддиректориях лежат файлы с одинаковыми именами? (Выберите верный вариант)
В тихую перезаписывать (в конечном итоге оставляя одну версию файла, да еще непонятно какую) Останавливаться (возможно с выбросом ошибки или исключения) Долбать пользователя запросами (дергая какое-нибудь событие) P.S.
выбрав вариант, предложите разработчикам "допилить" этот (метод | класс | компонент).
-
estra получил реакцию от Rusland в Как добавить второй язык
Это кто же вам такую ерунду то сказал?
Почитайте "Delphi. Программирование для Windows, OS X, iOS и Android":
Глава 24. Мультиязычные проекты:
Компонент языковой поддержки TLang Режим автоматического перевода Перевод меню Ссылка 1, Ссылка 2
-
estra получил реакцию от Rusland в Как добиться эффекта отражения?
Не поделитесь своим переводом обертки?
-
estra получил реакцию от Rusland в Как добиться эффекта отражения?
Так попробуйте и узнаете! Заодно и нам расскажите... Что мешает?
P.S.
А как с камерой работаете? Примерчиком не поделитесь?
-
estra получил реакцию от Pax Beach в [Windows] Как определить путь к исполняемому файлу приложения?
Судя по разделу речь идет не о мобильных платформах. Тогда определить путь к исполняемому файлу приложения можно так:
ParamStr( 0 );
Если обратиться к справке, там написано:
Returns a specified parameter from the command line.
ParamStr returns the parameter from the command line that corresponds to Index, or an empty string if Index is greater than ParamCount. For example, an Index value of 2 returns the second command-line parameter.
Note: ParamStr(0) returns the path and file name of the executing program (for example, C:\TEST\MYPROG.EXE).
Другими словами - параметром для функции ParamStr является индекс параметра командной строки. Нулевой индекс всегда возвращает полный путь к файлу. Если вы запустили исполняемый файл с параметром (например: c:\app.exe param), то:
ParamStr(0) = 'c:\app.exe'
ParamStr(1) = 'param'
Узнать количество параметров командной строки можно с помощью функции ParamCount.
-
-
estra получил реакцию от Дениска в Как отключить автозавершение текста
Проблема в следующем. Набирая текст (например в нижнем поле букву "В") над клавиатурой появляется панель с возможными вариантами автозавершения. Далее, перехожу к другому полю (верхнему) и нажимаю кнопку "в" но в поле появляется "Вв", то есть "текс из поля автозавершения + нажатый символ".
Как можно отключить появление поля автозавершения при вводе текста, или как убрать его при переходе к другому контролу?
-
estra отреагировална kami в [android] Как правильно удалять контролы в RunTime(2)?
Сперва - Release, потом = nil
http://fire-monkey.ru/topic/2817-динамическое-созданиеуничтожение/?do=findComment&comment=16461
Free на мобильных платформах не делает ничего.
В вашем коде компонент, естественно, будет продолжать находиться - ведь ссылку на него как минимум хранит его Owner, переданный в конструкторе.
-
estra получил реакцию от rareMax в Перезагрузка операторов для классов
холивар начинается, это ни есть хорошо. хотелось бы узнать ответ разработчиков по существу вопроса…
Add и Multiply - дело вкуса, а лично мне по вкусу перегрузить операторы, чем городить функции.
сахар сомнительный, ибо тогда на плюсы будет смахивать а так можно далеко зайти. я бы, например, не отказался от тернарного оператора a = (b > c) ? 1 : 2
но это все лирика, топик о перезагрузке операторов, давайте не отклоняться от темы!
-
estra получил реакцию от Равиль Зарипов (ZuBy) в Перезагрузка операторов для классов
холивар начинается, это ни есть хорошо. хотелось бы узнать ответ разработчиков по существу вопроса…
Add и Multiply - дело вкуса, а лично мне по вкусу перегрузить операторы, чем городить функции.
сахар сомнительный, ибо тогда на плюсы будет смахивать а так можно далеко зайти. я бы, например, не отказался от тернарного оператора a = (b > c) ? 1 : 2
но это все лирика, топик о перезагрузке операторов, давайте не отклоняться от темы!
-
estra получил реакцию от Andrey Efimov в Перезагрузка операторов для классов
холивар начинается, это ни есть хорошо. хотелось бы узнать ответ разработчиков по существу вопроса…
Add и Multiply - дело вкуса, а лично мне по вкусу перегрузить операторы, чем городить функции.
сахар сомнительный, ибо тогда на плюсы будет смахивать а так можно далеко зайти. я бы, например, не отказался от тернарного оператора a = (b > c) ? 1 : 2
но это все лирика, топик о перезагрузке операторов, давайте не отклоняться от темы!
-
estra получил реакцию от Равиль Зарипов (ZuBy) в Перезагрузка операторов для классов
век живи, век учись
-
estra получил реакцию от Rusland в [Событие] Мировой тур RAD Studio 10.1 Berlin - Санкт-Петербург
Трансляция будет?
-
estra получил реакцию от Kitty в [Android] #13#10
Вопрос закрыт. Проблема версий. Код не работал в XE7, а в 10 Seattle заработал.