estra
-
Постов
370 -
Зарегистрирован
-
Посещение
-
Победитель дней
20
Активность репутации
-
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 отреагировална ruslan в [Юмор] Очень серьезно
Как Вы думаете, к чему приведет выполнение следующего кода ?
StartTime:= Now; while ( not Embarcadero.EOF ) or ( Embarcadero.Bugs.Count > 0 ) do begin Trolling; if MonthBetween(Now, StartTime) > 12 then Embarcadero.Destroy; end; if ( Embarcadero.Bugs.Count > 0 ) then begin while Embarcadero.Members.Count > 0 do Embarcadero.Members[0].Destroy; Mozg.Delete( Mozg.IndexOf('Delphi') ); end else exit;
-
estra отреагировална Brovin Yaroslav в [iOS] Как добавить младшие версии iOS SDK?
При сборке приложения из среды, IDE автоматически указывает минимальную поддерживаемую версию в файле:
<Название проекта>.info.plist Строчка отвечающая за минимальную версию в этом файле:
<key>MinimumOSVersion</key> <string>6.0</string> -
estra получил реакцию от Brovin Yaroslav в Почему отладчик показывает значение вещественной переменной типа Single, не 0.3, а 0.3000000001192029?
так и должно быть.
Обрезать? смотря для чего. Для представления в виде строки может и нужно будет. Вот код, поэкспериментируйте с 2 последними цифрами:
var a: Double = 0.300000011920929; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage( FloatToStrF( a, TFloatFormat.ffFixed, 4, 2 ) ); end; > В райнтайме отображается 0,3!
Посмотрите какое значение указано в параметре DecimalDigits
-
estra получил реакцию от Dozent в Почему отладчик показывает значение вещественной переменной типа Single, не 0.3, а 0.3000000001192029?
так и должно быть.
Обрезать? смотря для чего. Для представления в виде строки может и нужно будет. Вот код, поэкспериментируйте с 2 последними цифрами:
var a: Double = 0.300000011920929; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage( FloatToStrF( a, TFloatFormat.ffFixed, 4, 2 ) ); end; > В райнтайме отображается 0,3!
Посмотрите какое значение указано в параметре DecimalDigits
-
estra получил реакцию от Rusland в Как добиться эффекта отражения?
Не поделитесь своим переводом обертки?
-
estra отреагировална Brovin Yaroslav в Почему при старте программы FindStyleResource не может ничего найти?
Ответ прост.
Потому что в событии OnCreate и OnShow еще не загружен стиль. Поэтому FindStyleResource ничего вам не найдет. Стиль загружается обычно в момент первой прорисовки.
Два решения:
Принудительно загрузить стиль для требуемого компонента
Button1.NeedStyleLookup; Button1.ApplyStyleLookup; Выполнять код по поиску элементов стиля в специально отведенном событии TStyledControl.OnApplyStyleLookup. -
estra отреагировална Andrey Efimov в Как применить анимацию к элементу стиля?
Проверил на Label и свойстве Opacity.
У меня анимация срабатывает сразу, в design-time, без всяких галочек, просто положил на стиль лейбла и всё.
Как получить доступ из кода:
procedure TForm1.Button1Click(Sender: TObject); var StyleObject: TFmxObject; StyleAni: TFloatAnimation; begin StyleObject := Label1.FindStyleResource('floatanimationstyle'); if (StyleObject <> nil) and (StyleObject is TFloatAnimation) then begin StyleAni := TFloatAnimation(StyleObject); StyleAni.Duration := 0.9; StyleAni.StartValue := 0; StyleAni.StopValue := 1; StyleAni.Start; end; end; Проверил, данный код работает.
-
estra получил реакцию от Brovin Yaroslav в Распараллеливание процессов
Распараллеливание - это распределение вычислений между несколькими процессорами (или несколькими ядрами одного процессора). Есть подозрение, что вы неверно выбрали термин. Про распараллеливание можете почитать тут (Новый модуль System.Threading) или посмотреть тут. Вы же (исходя из сути вопроса) скорее всего имеете ввиду многопоточность. Если так, почитайте в интернете про класс TThread, статей и примеров великое множество.
-
estra получил реакцию от AngryOwl в Распараллеливание процессов
Распараллеливание - это распределение вычислений между несколькими процессорами (или несколькими ядрами одного процессора). Есть подозрение, что вы неверно выбрали термин. Про распараллеливание можете почитать тут (Новый модуль System.Threading) или посмотреть тут. Вы же (исходя из сути вопроса) скорее всего имеете ввиду многопоточность. Если так, почитайте в интернете про класс TThread, статей и примеров великое множество.
-
estra отреагировална Brovin Yaroslav в Как узнать поддерживаемый максимально допустимый размер изображения в TBitmap?
В FireMonkey TBitmap имеет верхнее ограничение на размеры хранимого изображения, ограниченные максимально допустимым размером текстур в текущей платформе. Узнать максимальную ширину и высоту можно так:
var MaxWidthHeight: Integer; begin MaxWidthHeight := TCanvasManager.DefaultCanvas.GetAttribute(TCanvasAttribute.MaxBitmapSize); end; -
estra получил реакцию от Brovin Yaroslav в Утилита генерации pas файлов для AndroidAPI из jar файлов
Спасибо.
-
estra получил реакцию от Евгений Корепов в Цифровая клавиатура при нажатии кнопки.
А как вы скрываете TEdit? Если Edit1.Visible = False, то в данном случае такой вариант не годится (для текстового поля с Visible = False клавиатура появляться не будет). В вашем случае надо делать так: Edit1.Visible = True, Edit1.Opacity = 0. Тогда для кнопки пишем такой код:
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.SetFocus; end; и получаем желаемый эффект.
-
estra получил реакцию от Brovin Yaroslav в Подключение смартфона EXPLEY RIO PLAY
Проблемы с подключением устройств помогает решить Moborobo.
-
estra получил реакцию от Brovin Yaroslav в [Android] [XE7] Как получить входящие/исходящие сообщения?
Это подойдет - Получаем список SMS-сообщений?
-
estra получил реакцию от brunnengi в [Android] [XE7] Как получить входящие/исходящие сообщения?
Это подойдет - Получаем список SMS-сообщений?
-
estra получил реакцию от AngryOwl в [Android] [XE7] Как получить журнал вызовов?
Это подойдет - Работаем со списком вызовов?
-
estra получил реакцию от AngryOwl в [Android] [XE7] Как получить список контактов?
Это подойдет - Работаем со списком контактов, #1, Работаем со списком контактов, #2?
-
estra получил реакцию от AngryOwl в [Android] [XE7] Как получить входящие/исходящие сообщения?
Это подойдет - Получаем список SMS-сообщений?
-
estra получил реакцию от brunnengi в [Android] [XE7] Как получить журнал вызовов?
Это подойдет - Работаем со списком вызовов?
-
estra получил реакцию от brunnengi в [Android] [XE7] Как получить список контактов?
Это подойдет - Работаем со списком контактов, #1, Работаем со списком контактов, #2?
-
estra получил реакцию от Morfi в Изменение размера шрифта в RunTime
Здесь и здесь есть очень хорошее объяснение. -
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 получил реакцию от Brovin Yaroslav в [Android] XE7 Как получить состояние клавиатуры?
uses FMX.VirtualKeyboard; var Keyboard: IFMXVirtualKeyboardService; begin if TPlatformServices.Current.SupportsPlatformService( IFMXVirtualKeyboardService, IInterface( Keyboard ) ) then if TVirtualKeyboardState.Visible in Keyboard.GetVirtualKeyBoardState then ShowMessage( 'клавиатура открыта' ) else ShowMessage( 'клавиатура скрыта' ); end; -
estra получил реакцию от Brovin Yaroslav в Доработка компонента для чтения штрих-кодов под 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}