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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    265

Весь контент Равиль Зарипов (ZuBy)

  1. если внимательно посмотрели пример, то я её сам добавил. в этом нет ничего сложного
  2. нет другого способа, да и проблем нет никаких. сохранил-отправил-удалил а сохранять можно в Temppath или DocumentsPath
  3. если у вас картинка в Image нужно сохранить в файл и этот путь указать
  4. у меня код примерно такой же как дал krapotkin, но сохранение делает PHP
  5. krapotkin выкладывал когда-то MyDialogs Изменения от меня: Переписан код, удалены лишние компоненты Подогнал под стандартные диалоги платформ Смена позиции кнопок "Oк", "Отмена" в зависимости от платформы Профиксил MaxLength для TEdit (при установке ограничении ввода символов для мобильных платформ) Возможность использования анонимных методов (TThreadProcedure) MyDialogs_ZuBy.7z
  6. похоже на правду, но сейчас нет времени проверить. думаю Pax Beach примет это к сведению
  7. я про это в курсе, но тогда на Windows отвалится. я не проверял, но в коде видел циклы со строками начинающиеся с 1
  8. могу подсказать в какую сторону копать. строки в ANDROID/IOS начинаются с 0, а там не заметил чтобы это учитывалось. Если сделаете, выложите. Всем будет полезно
  9. немного неправильно сделали, вот так: procedure TfmMainQRShare.ImageQRPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var Row, Column: Integer; xPos, yPos, RectSize: Single; pixelColor: TAlphaColor; Img: TImage; begin Img := (Sender as TImage); if Assigned(QRCode) and (not QRCode.Data.IsEmpty) then begin RectSize := Min(Img.Width, Img.Height) / QRCode.Columns; if RectSize > 0 then begin try Canvas.BeginScene; for Row := 0 to QRCode.Rows - 1 do begin for Column := 0 to QRCode.Columns - 1 do begin if (QRCode.IsBlack[Row, Column]) then pixelColor := TAlphaColors.Black else pixelColor := TAlphaColors.White; xPos := Column * RectSize + 0.5 * RectSize; yPos := Row * RectSize + 0.5 * RectSize; Canvas.Fill.Color := pixelColor; Canvas.FillRect(RectF(xPos, yPos, xPos + (RectSize + 1), yPos + (RectSize + 1)), 0, 0, AllCorners, 1); end; end; finally Canvas.EndScene; end; end; Img.Bitmap.SetSize(Canvas.Width, Canvas.Height); Img.Bitmap.Assign(Canvas.Bitmap); end; end; procedure TfmMainQRShare.Update; begin QRCode.Free; QRCode := TDelphiZXingQRCode.Create; QRCode.Data := edtText.Text; QRCode.Encoding := TQRCodeEncoding(cmbEncoding.ItemIndex); QRCode.QuietZone := StrToIntDef(edtQuietZone.Text, 2); QRCodeBitmap.SetSize(QRCode.Rows, QRCode.Columns); ImageQR.Repaint; end; но проблема в другом, проблема в самом модуле, он не правильно работает со строками
  10. AV выходит только при не правильной JSON структуре. А остальные данные можно не проверять, на существование. Он сам съест ошибку и вернет пустоту. а если учесть что данные идут от сервера (в данной теме) нужно всего ишь проверить правильность начальных символов. дело в кол-ве строчек, а в количестве символов и в понимании работы с JSON
  11. я всеже предложу вам посмотреть реализацию через XSO там реализован правильный фильтр JSONParse.zip
  12. Я отказался от родного в пользу XSO, посмотрите как компактно выглядет код который я привел выше. И стабильно и читабельно, скорость тоже на высоте
  13. Я вижу решение таким, реализуйте. Каждый пиксель нужно отрисовать примерно 4 раза, тогда квадрат будет не 1х1, а 4х4. Картинка станет четкой т.к. увеличится холст
  14. если использовать XSuperObject var aJSON: string; xJS, xObj: ISuperObject; j: integer; begin xJS := SO(aJSON); // данные with xJS.A['data'] do // имя массива begin for j := 0 to length - 1 do begin xObj := O[j]; TStringList.Add(xObj.S['number']); // собираем в стринг лист нужное поле end; end; end;
  15. самый простой использовать MultiView, все уже реализовано и не нужно платить
  16. Можно сделать это при помощи TMultiView и Custom'ного режима отображения. Можно при помощи компонентов ТPanel+TText, меняя позиции по координатам компонента к которому относится подсказка
  17. FTP тут не нужен, работайте по HTTP, 301 ошибка указывает на переадресацию
  18. ошибка значит не в этом у вас. у меня все корректно отрабатывает
  19. Edit1.Anchors := [TAnchorKind.akTop, TAnchorKind.akRight];
  20. не работает OLE в TWebBrowser(FMX), а Word/Excel/WMI и прочее работает
  21. не верно, на FMX можно работать с OLE также как и в VCL. просто работает это только для Windows. Подключаем uses'ы и пользуемся
  22. нужно помнить что на мобильных в TBitmap нельзя присвоить картинку загруженную в отдельном потоке. Поэтому пользуемся хелперами для загрузки файлов, на форуме не раз обсуждалось
  23. Я к счастью тоже не пользовался, но судя по темам на форуме и не нужно. Лучше когда все можно контролировать, а не искать баги в этом беспределе. Тем более к моему подходу проектирования и кодинга это не будет работать
  24. у меня пока нет берлина, поэтому не могу сказать точно. Но предложить могу вот так, в новой процедуре в public секции сделать: FSelectionStyleImage := nil; // освобождаем от ресурсов, для использования цвета FSelectionStyleColor := TAlphaColorRec.Green; // присваиваем собственный цвет для выделения в DrawItemsFill нужно проверить текущий индекс на выделение, если выделено, то присвоить FBrush.Color := FSelectionStyleColor; // присваиваем цвет нашему выделенному Index'у Как-то так, должно получится
×
×
  • Создать...