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

ophion

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

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

  • Посещение

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

    2

Активность репутации

  1. Like
    ophion получил реакцию от Ingalime в Как получить IMEI?   
    Дам вам подсказку из Android доков...
     
     
    public String getDeviceId ()   Added in API level 1 Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones. Return null if device ID is not available.
    Requires Permission: READ_PHONE_STATE

    public String getDeviceId (int slotId)   Added in API level 23 Returns the unique device ID of a subscription, for example, the IMEI for GSM and the MEID for CDMA phones. Return null if device ID is not available.
    Requires Permission: READ_PHONE_STATE
    Parameters slotId of which deviceID is returned  
  2. Like
    ophion получил реакцию от beklexx в [Android] Использование ACloseDialogProc в MessageDlg   
    Коротко объясню....
    ACloseDialogProc - это процедура-обработчик результатов, полученных при помощи MessageDlg, поскольку в этой версии RAD XE7 все диалоги являются не блокирующими, т.е. во время показа диалога, продолжается выполнение следующих строк кода.
     
    Вам необходимо объявить новую процедуру, которая будет вызываться после нажатия любых кнопок в MessageDlg.
     
    Т.е. будет что-то вроде
    procedure TForm1.doSomethingWithDialogResult(const AResult: TModalResult); begin   if AResult=mrYes then begin     {тут обработка нажатия кнопки Yes}   end; end; а вызвать диалог необходимо следующим образом
    MessageDlg('Тут текст сообщения', TMsgDlgType.mtConfirmation, mbYesNo, 0, doSomethingWithDialogResult);
  3. Like
    ophion отреагировална aldi в Доработка компонента для чтения штрих-кодов под RAD XE7   
    function TMainForm.CheckBarcode :boolean; var list : TStringList; begin Result := true; {$IFDEF Android} if BarcodeChecked then exit; list := TAndroidHelperClass.getListOfApplications(); if list = nil then exit; try if not (list.Text.Contains('com.google.zxing.client.android')) then begin Result := false; MessageDlg('This application requires a QR code scanner application.'), TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], 0, procedure(const AResult: TModalResult) begin TAndroidHelperClass.openGooglePlayByAppPackage('com.google.zxing.client.android'); end); exit; end else BarcodeChecked := true; finally list.Free; end; {$ENDIF} end;
  4. Like
    ophion получил реакцию от Brovin Yaroslav в [TidHTTP] Скачивание файлов без замораживания пользовательского интерфейса   
    Грузить в отдельном потоке?!
  5. Like
    ophion отреагировална Alexey Lovchikov в Доработка компонента для чтения штрих-кодов под RAD XE7   
    Написал небольшой класс по работе с сканером 
     
    Проверял на XE7 Update 1 под Android 4.1.2
     
    Пример

    Barcode.zip
  6. Like
    ophion получил реакцию от Kitty в Получение координат устройства Андроид   
    Реализации сервисных приложений под Android имели место, и об этом есть пара статей http://blog.blong.com/2013/11/delphi-and-android-services.html и http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html
    Надеюсь, это Вам поможет
  7. Like
    ophion получил реакцию от Brovin Yaroslav в [Android] Использование ACloseDialogProc в MessageDlg   
    Прошу извинить меня.
    Допустил опечатку, но уже подправил.
    const Sender:TObject - был лишним.
  8. Like
    ophion получил реакцию от Евгений Корепов в [Android] Использование ACloseDialogProc в MessageDlg   
    Коротко объясню....
    ACloseDialogProc - это процедура-обработчик результатов, полученных при помощи MessageDlg, поскольку в этой версии RAD XE7 все диалоги являются не блокирующими, т.е. во время показа диалога, продолжается выполнение следующих строк кода.
     
    Вам необходимо объявить новую процедуру, которая будет вызываться после нажатия любых кнопок в MessageDlg.
     
    Т.е. будет что-то вроде
    procedure TForm1.doSomethingWithDialogResult(const AResult: TModalResult); begin   if AResult=mrYes then begin     {тут обработка нажатия кнопки Yes}   end; end; а вызвать диалог необходимо следующим образом
    MessageDlg('Тут текст сообщения', TMsgDlgType.mtConfirmation, mbYesNo, 0, doSomethingWithDialogResult);
  9. Like
    ophion отреагировална estra в Доработка компонента для чтения штрих-кодов под 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}
  10. Like
    ophion получил реакцию от Brovin Yaroslav в [Android] Использование ACloseDialogProc в MessageDlg   
    Коротко объясню....
    ACloseDialogProc - это процедура-обработчик результатов, полученных при помощи MessageDlg, поскольку в этой версии RAD XE7 все диалоги являются не блокирующими, т.е. во время показа диалога, продолжается выполнение следующих строк кода.
     
    Вам необходимо объявить новую процедуру, которая будет вызываться после нажатия любых кнопок в MessageDlg.
     
    Т.е. будет что-то вроде
    procedure TForm1.doSomethingWithDialogResult(const AResult: TModalResult); begin   if AResult=mrYes then begin     {тут обработка нажатия кнопки Yes}   end; end; а вызвать диалог необходимо следующим образом
    MessageDlg('Тут текст сообщения', TMsgDlgType.mtConfirmation, mbYesNo, 0, doSomethingWithDialogResult);
×
×
  • Создать...