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

OnePeople

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

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

  • Посещение

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

    56

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

  1. Можно на java небольшой пример?
  2. Если происходит множественный выбор тогда так: procedure TForm9.ListBox1ChangeCheck(Sender: TObject); var i: Integer; begin label1.Text := ''; for I := 0 to ListBox1.Items.Count - 1 do begin if ListBox1.ListItems[i].IsChecked then begin label1.Text := label1.Text + i.ToString + ' '; end; end; end;
  3. https://github.com/Embarcadero/RADStudio11Demos/blob/main/Object Pascal/Multi-Device Samples/Device Sensors and Services/Foreground Location Tracking
  4. Для доступа к памяти вам нужно запросить необходимые разрешения в реальном времени, на форуме куча примеров
  5. Я не знаю но думаю так по памяти, в AndroidManifest.template: targetSdk=30.
  6. Закройте проект. Попробуйте открыть файл *.fmx формы в проводнике, найти ваш MainMenu22 и удалить там строчку ShortCut. Затем откройте проект.
  7. Вы можете перемещаться по этим "квадратикам" клавишей Tab - соответственно вперед, удерживая Shift нажимая Tab - соответственно назад. Удобна например когда редактируемых переменных несколько например попробуйте для for также нажать пробел и по перемещаться!
  8. Ну так Application.ProcessMessages в Андроиде не работает так то
  9. Так и написанное в студии не будет работать если изменилось API androida. К каждой новой версии все равно надо подготавливать свое приложение хоть в студии, хоть в Делфи, хоть где то ещё.
  10. Все верно, но есть ещё доступ к устройствам, блютуз, вай фай, доступ к уведомлениям и т.д., вот были бы методы управления не зависимые от платформы, а то на одной платформе нужно так с ними взаимодействовать, на другой по другому.( Имею ввиду почему это не обернуть, сделать например WifiUtils, BTUtils, NotificationUtils). Вы пишете один код, а в нутри в зависимости от платформы код меняется, хоть самому пиши)
  11. Да можно под Андроид нормально писать, callback'ов не хватает единственное, а дальше все хорошо работает. Если как правильно тут написали не трогают кроссплатформенность, этим и не пахнет, для каждой платформы все равно приходиться много кода разного писать( Моё мнение!
  12. DialogService: IFMXDialogService; FMargin, FMinMargin: TRect; FPaperSize: TPointf; FUnits: TPageMeasureUnits; FOptions : TPageSetupDialogOptions; begin if TPlatformServices.Current.SupportsPlatformService(IFMXDialogService, DialogService) then DialogService.PageSetupGetDefaults(FMargin, FMinMargin, FPaperSize, FUnits, FOptions); Text8.Text := FMinMargin.Left.ToString + ' ' + FMinMargin.Top.ToString; А так сколько показывает?
  13. ну так у вас 10 раз inc(pc) for i := 0 to 9 do begin for j := 0 to 5000 do for k := 0 to 10000 do begin a:=a+k/1000+k/500; end; inc(pc);
  14. uses PrinterAPI; var FkPrinter: TMyPrinter; begin FkPrinter:=TMyPrinter.Create(Printer.Printers[cbPrinters.ItemIndex].Device,true); OffsetX := FkPrinter.GetOffsetX; OffsetY := FkPrinter.GetOffsetY; Printer.Canvas.Offset := TPoint.Create(OffsetX , OffsetY ); PrinterAPI.rar
  15. PHYSICALOFFSETX For printing devices: the distance from the left edge of the physical page to the left edge of the printable area, in device units. For example, a printer set to print at 600 dpi on 8.5-by-11-inch paper, that cannot print on the leftmost 0.25-inch of paper, has a horizontal physical offset of 150 device units. PHYSICALOFFSETY For printing devices: the distance from the top edge of the physical page to the top edge of the printable area, in device units. For example, a printer set to print at 600 dpi on 8.5-by-11-inch paper, that cannot print on the topmost 0.5-inch of paper, has a vertical physical offset of 300 device units.
  16. Вы печатаете с начала листа, но существуют так называемые "аппаратные поля" или "физические поля", в зависимости от возможностей принтера: это область, недоступная для печати, вокруг бумаги; то есть, если вы нарисуете что-то в этой области, оно не будет напечатано - эти поля зависят от принтера, и в некоторых случаях можно получить значения этих полей с помощью вызова LeftSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX); TopSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
  17. Можно не писать в startupcopy.pas есть методы обновления ассетов. Самому лень писать)))) I feel that files that need to be deployed are files that should not and need not be changed by the application. They are resources like images. If an application changes a file, it does so with intent. The user via the developer wanted it that way. Changing it back through an update causes data loss. As a consequence all files that could be subject to change should not be deployed but generated when used.
  18. Библиотеки которые вы задеплоите можно использовать, а загруженные в процессе работы приложения нельзя!
  19. procedure TForm1.UpdateAsset(AssetName, FilePath: String); var inputStream: JInputStream; FileOutputStream: JFileOutputStream; WData: TJavaArray<Byte>; LData: Integer; begin try InputStream := TAndroidHelper.Context.getAssets.open(StringToJString(AssetName)); except exit; end; try FileOutputStream := TJFileOutputStream.JavaClass.init(StringToJString(FilePath)); except exit; end; WData := TJavaArray<Byte>.Create(4096); repeat try LData := InputStream.read(WData); except LData := -1; end; if LData <> -1 then begin FileOutputStream.write(WData, 0, LData); end; until (LData = -1) or (LData = 0); FileOutputStream.flush; FileOutputStream.close; inputStream.close; end; Обновление файла из assets в папку с программой Пользоваться так проверяете при Form.Create что версия новая и вызываете UpdateAsset('internal/base.db', ApplicationPath + 'base.db');
×
×
  • Создать...