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

OnePeople

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

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

  • Посещение

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

    57

Сообщения, опубликованные OnePeople

  1. 1.для ускорения соединения добавьте 
    
    bluetoothAdapter.cancelDiscovery();

    Перед 

     

      FSocket.Connect;

    2. после 

    FAdapter := FBluetoothManager.CurrentAdapter;

    добавьте

    if (FSocket <> nil) then
      FSocket.close;

    When you're done with your BluetoothSocket, always call close(). Doing so immediately closes the connected socket and releases all related internal resources.

  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. Вы можете перемещаться по этим "квадратикам" клавишей Tab - соответственно вперед, удерживая Shift нажимая Tab - соответственно назад. Удобна например когда редактируемых переменных несколько например попробуйте для for также нажать пробел и по перемещаться!

  4. Все верно, но есть ещё доступ к устройствам, блютуз, вай фай, доступ к уведомлениям и т.д., вот были бы методы управления не зависимые от платформы, а то на одной платформе нужно так с ними взаимодействовать, на другой по другому.( Имею ввиду почему это не обернуть, сделать например WifiUtils, BTUtils, NotificationUtils). Вы пишете один код, а в нутри в зависимости от платформы код меняется, хоть самому пиши)

  5. Да можно под Андроид нормально писать, callback'ов не хватает единственное, а дальше все хорошо работает. Если как правильно тут написали не трогают кроссплатформенность, этим и не пахнет, для каждой платформы все равно приходиться много кода разного писать( Моё мнение!

  6.  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;

    А так сколько показывает?

  7.  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

  8. 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.
  9. Вы печатаете с начала листа, но существуют так называемые "аппаратные поля" или "физические поля", в зависимости от возможностей принтера: это область, недоступная для печати, вокруг бумаги; то есть, если вы нарисуете что-то в этой области, оно не будет напечатано - эти поля зависят от принтера, и в некоторых случаях можно получить значения этих полей с помощью вызова

        LeftSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
        TopSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);

  10. 1 час назад, Sascha сказал:

    а почему вообще возникает необходимость писать этот костыль?

    почему Overwrite = Always в деплойменте не работает???

    Можно не писать в 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.

×
×
  • Создать...