Перейти к содержанию
Fire Monkey от А до Я

estra

Пользователи
  • Постов

    371
  • Зарегистрирован

  • Посещение

  • Победитель дней

    20

Весь контент estra

  1. В триггере запускайте нужную вам анимацию FloatAnimation.Start;
  2. Добавьте строчку Status1.StyledSettings := Status1.StyledSettings - [TStyledSetting.Size];
  3. Там адаптировать нечего, всего 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}
  4. Может, хотя странно... Я проверял на нескольких устройствах, в том числе lexand a702 и huawei ascend p7, все отлично.
  5. Никаких проблем ни с установкой компонента в XE7 ни с адаптацией не возникло. В чем именно у вас проблема?
  6. 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;
  7. Примеры лежат в Samples\Object Pascal\RTL\Tethering\
  8. Верно, только вопрос не мой )) Внимательней посмотрите на автора первого поста ))
  9. Частично согласен. Результат тот же и работает только под Windows, но WMI не используется...
  10. Я не про модуль Ярослава, внимательно прочтите мой первый пост в этой теме...
  11. А скачать и посмотреть не можете? Если вы про WMI, то он там не используется... (для уточнения, я говорю про этот модуль - HDD)
  12. Никогда не говорите "никак", рискуете попасть в глупое положение. Модуль, ссылка на который приведена выше, прекрасно работает в FM без каких либо доработок.
  13. Вариант хороший, но в вопросе же написано - "... без написания вручную кода через WMI?"... brunnengi, если ты нашел решение, поделись, мне этот вопрос тоже интересен.
  14. Скорее всего нет. Придется искать код в интернете. Вот например модуль HDD для VCL, попробуйте адаптировать его для FM. Если получится, поделитесь результатом со всеми.
  15. Думаю вопрос был не об этом. Нужно читать вывод с "чужих" консольных приложений, например ping.
  16. Сразу хочу обратить внимание, это не баг, а простая недоработка. Надеюсь в следующей версии (или ближайшем апдейте/хотфиксе) ее устранят. Теперь к сути. Если кодировать/декодировать данные в пределах одной платформы, то проблем нет, но они появляются когда эти процессы происходят на разных платформах. В моем случае кодирование происходит на Windows, а декодирование на Android. Вот функции декодирования (): function DecodeString(const Input: string; InputEncoding, OutputEncoding: TEncoding): string; var InStr, OutStr: TStringStream; begin InStr := TStringStream.Create(Input); // !!! try OutStr := TStringStream.Create(''); // !!! try DecodeStream(InStr, OutStr); Result := OutStr.DataString; // Тут возникает ошибка finally OutStr.Free; end; finally InStr.Free; end; end; А конструктор TStringStream.Create выглядит так: constructor TStringStream.Create(const AString: string); begin Create(AString, TEncoding.Default, False); end; TEncoding.Default для Windows равен ANSI, а для Android UTF8. Отсюда ошибка No mapping for the Unicode character exists in the target multi-byte code pdge. Для решения а сделал перезагруженные методы EncodeString и DecodeString, подробности во вложении. Положите файл в папку с проектом и пользуйтесь. Надеюсь разработчики прислушаются и доработают модуль. Soap.EncdDecd.zip
  17. Слона то я и не заметил... Спасибо! Но для большего удобства было бы не плохо удалять выделенный элемент кнопкой Delete. Очень странно, что это до сих пор не сделано, ибо работать с клавиатурой и быстрее и удобнее...
  18. Не смотрели пример MetropolisUIFlyoutDemo? Там диалог реализован на базе TPopup (посмотрите процедуру ShowExitFlyout)... Такое решение подойдет?
  19. Допустим есть необходимость удалить из стиля какой нибудь элемент.Почему это нельзя сделать из редактора стилей? Приходится сохранять стиль в текстовый файл, править его и загружать обратно, но это не очень то удобно. Почему нет такой возможности в самом редакторе?
  20. Собственно вопрос в заголовке темы. В редакторе стиля добавляю TImage, загружаю в него картинку. В StyleName кнопки прописываю свой стиль, но изображение все равно нет. Подскажите, как правильно добавить изображение на кнопку? Вот пример. CornerButtom.zip
  21. где-то тут c:\Program Files (x86)\Embarcadero\RAD Studio\14.0\source\fmx\FMX.Consts.pas
  22. Если речь идет о простой локализации заголовка MessageDlg, то можно скопировать файл FMX.Consts.pas из исходников RAD Studio в свой проект и поменять в нем значения следующих строковых ресурсов: SMsgDlgWarning SMsgDlgError SMsgDlgInformation SMsgDlgConfirm А вот как менять строковые ресурсы в FMX в runtime я, к сожалению, не знаю. Мне и самому это интересно, если кто знает, поделитесь решением!
  23. Судя по разделу речь идет не о мобильных платформах. Тогда определить путь к исполняемому файлу приложения можно так: 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.
×
×
  • Создать...