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

Лидеры

  1. Rusland

    Rusland

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


    • Баллы

      4

    • Постов

      1 204


  2. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      3

    • Постов

      738


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

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

    Модераторы


    • Баллы

      2

    • Постов

      2 517


  4. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


Популярный контент

Показан контент с высокой репутацией 25.04.2016 во всех областях

  1. Не-не-не, поддержка Linux и Intel Atom будет не раньше версии "Delphi 99.9 Uhta"
    3 балла
  2. Обновили продукты в онлайн магазине. http://store.embarcadero.ru/catalog/rubric/24 Итого чтобы обновить мою Delphi XE8 до "Delphi 10.1 Berlin Professional"+"Mobile Add-On Pack к Delphi 10.1 Berlin Professional" нужно заплатить 85038,22 рублей. Кажется наем фрилансеров для реализации моих хотелок обойдется дешевле. К торрент версии душа не лежит. Буду и дальше сидеть на XE8, подожду "Delphi 10.8 Bangladesh Professional" с компилятором для Linux и Intel Atom, полноценными сервисами InAppBilling, полной реализацией работы с сенсорами и надеюсь множеством других доделок.
    2 балла
  3. если использовать 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;
    2 балла
  4. ophion

    Генерация QR-кода на Android

    Всем доброго времени суток. Среда: Rad Studio 10 Seattle (без Update 1) Платформа: Android Столкнулся с необходимостью генерации QR-кода для отображения на TImage. Воспользовался информацией, взятой тут http://zarko-gajic.iz.hr/firemonkey-mobile-android-ios-qr-code-generation-using-delphi-xe-5-delphizxingqrcode/ У автора возникла проблема с опцией DisableInterpolation на платформе Android (тот же код отлично работает на Windows), а именно, на Android это не работает (изображение получается размытым) Перепробовал всё, что приходило в голову, а так же было нагуглено.... но все попытки безуспешны. Подскажите, как изменить размер изображения, чтобы оно не становилось мутным?
    1 балл
  5. Для работы с JSON в Delphi есть все что нужно - штатная библиотека System.JSON. Быстрая и удобная, работать с ней одно удовольствие. Вот накидал проект, ваш JSON загружаю из файла. unit UnitFormMain; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.IOUtils, FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, System.JSON; type TFormMain = class(TForm) Memo: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } function ParseJSONArray(AJSONString : String) : TStringList; end; var FormMain: TFormMain; implementation {$R *.fmx} procedure TFormMain.FormCreate(Sender: TObject); Var AJSONString : String; begin AJSONString:=TFile.ReadAllText('D:\Embarcadero\Projects\Test\test062 JSON Array\input.json'); // Загружаем JSON в строку Memo.Lines.Assign(ParseJSONArray(AJSONString)); // Вызываем функцию парсинга, если все удачно - Memo заполнится значениями, если нет - останется пустым. end; function TFormMain.ParseJSONArray(AJSONString : String) : TStringList; // для удобства функция возвращает TStringList, так будет проще закинуть результат в Memo Var AJSONArray : TJSONArray; AJSONValue : TJSONValue; I : Integer; begin Result:=TStringList.Create; // Создаем результат фозвращаемый функцией AJSONArray:=TJSONArray(TJSONObject.ParseJSONValue(AJSONString)); // Зная что на входе TJSONArray парсим его, пропуская парсинг TJSONObject if Not Assigned(AJSONArray) then // Если парсинг удался, то AJSONArray<>Nil Exit; for I := 0 to AJSONArray.Count-1 do // Работаем как с обычным массивом if AJSONArray.Items[I].TryGetValue('number',AJSONValue) Then //Здесь используем полезную функцию TryGetValue, защищая себя от некорректных или отсутствующих 'number' Result.Add(AJSONValue.Value); // Если успешно, то добавляем полученную строку в результирующий StringList end; end. P.S. работает под всеми платформами. Скорость для такого небольшого файла JSON можно принять за мгновенную даже на стареньких телефонах. Мне вот тут один сервис отдавал JSON размером в 6 мегабайт. Онлайн парсер http://pro.jsonlint.com/ которым удобно смотреть структуру зависал наглухо. А в Delphi все отлично и быстро работало
    1 балл
  6. 1 балл
  7. Error

    Архитектура FM

    На Windows два вида канвы: TCanvasGdiPlus и TCustomCanvasD2D, на Mac есть нативная для макоси TCanvasQuartz, как видите не OpenGL-ем единым. На Windows есть как минимум один повод использовать D2D - в этой канве используется нативный для системы рендинг текста, в то время как в TGpuCanvas рендинг текста происходит через промежуточные битмапы, что сказывается на производительности. D2D, Quartz, GdiPlus - все эти Api созданы как-раз для использования в приложениях, в то время как OpenGL явно не предназначен для этого и не имеет элементарного рендера текста. Действительно у меня на 7-ке были актуальные драйвера по дефолту, за одной маленькой проблемой - с софтварным рендингом Тут все просто - бросьте на форму TCircle и запустите на телефоне, а потом сравните качество прорисовки круга с Windows. И из-за заточености OpenGL под 3д визуализацию намного лучше и не сделать скорее всего. -- Я наоборот жду когда под мобильными платформами будет использоваться нативное API для графики
    1 балл
  8. Alex924

    Delphi 10 Seattle Update 1 HotFix

    Может кто-то поделиться Хотфиксом утечки памяти для Rad Studio 10 Seattle Update 1 с Embarcadero Developer Network? Нигде не могу найти Ссылка с хотфиксом: http://cc.embarcadero.com/item/30453
    1 балл
  9. Не знаю то или не то что ты хочешь, но вот: Пример: Строка JSON: {"type1":199, "type2":"val2","ar":["arval1","arval2"]} первый это число, второе строка, третье массив Код на кнопку: procedure TForm1.Button1Click(Sender: TObject); var s : string; js : TJSONObject; begin s := '{"type1":199, "type2":"val2","ar":["arval1","arval2"]}'; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; memo1.Lines.Add(JS.Pairs[0].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[1].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[2].JsonValue.ClassName); end; Запускаем и в memo1 попадают вот такие ответы: TJSONNumber TJSONString TJSONArray Думаю дальше ты знаешь что делать, если конечно я правильно тебя понял и правильно тебе насоветовал тут.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...