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

krapotkin

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

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

  • Посещение

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

    210

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

  1. от души рекомендую заменить TJSONObject на XSuperObject https://github.com/onryldz/x-superobject код будет таким примерно uses XSuperObject; ... procedure TForm1.b1Click(Sender: TObject); var x:ISuperObject; arr:ISuperArray; str:string; begin X:=TSuperObject.Create(); X.S['jsonrpc'] := '2.0'; X.S['method'] := 'get_accounts'; X.I['id'] := 1; arr:=TSuperArray.Create(); arr.Add('captain'); X.A['params']:=arr; ... str:=X.AsJSON(); ... но для начала вам нужно убедиться, что для правильного запроса правильный ответ. ваша строка с образцом не совпадает только в id у вас это строка, а в приведенных примерах - число. может, в этом проблема h:=THTTPClient.Create(); // h.Accept := 'application/json' // h.AcceptCharSet := 'UTF-8'; src:=TStringStream.Create('{"jsonrpc":"2.0","method":"get_accounts","id":1,"params":["captain"]}'); res:=TStringStream.Create(); resp:=h.Post(URL,src,res); if resp.StatusCode=200 then begin ShowMessage('Ответ'+sLineBreak+res.DataString); end; FreeAndNil(h); FreeAndNil(res); FreeAndNil(src); так же может быть, нужно правильно указывать кодировку запроса-ответа и другие заголовки HTTP проверьте этот код. а потом уже делайте JSON любым способом
  2. так нужно саму строку смотреть
  3. Вики: Все передаваемые данные — простые объекты, сериализованные в JSON Запрос — вызов определённого метода, предоставляемого удалённой системой. Он должен содержать три обязательных свойства: method — Строка с именем вызываемого метода. params — Массив объектов, которые должны быть переданы методу, как параметры. id — Значение любого типа, которое используется для установки соответствия между запросом и ответом. вроде все понятно. в чем конкретно вопрос?
  4. по поводу алгоритма закрытия формы через N секунд нужно вызвать из таймера диалог с сообщением. (лучше взять у ZuBy уже предложенную библиотеку MyDialogs. я начинал ее делать именно из-за того, что стандартные диалоги не вывозят) а на закрытие диалога повесить form.Release тогда все будет как вы хотите сначала выйдет сообщение. Потом закроется форма
  5. в том, что на билдере выполнение процедуры останавливается в ShowMessage код void __fastcall TForm1::Button1Click(TObject *Sender) { Label1->Text = L"До"; ShowMessage(L"Привет"); Label1->Text = L"После"; }
  6. нет в данном случае ОРД это отец русской демократии ))) я же написал код, что еще? if (keychar = ' ') then
  7. блин, для цифробуквенных символов, тех, что отображаются в Edit, ответ в ord(keychar) = 32 для всех остальных - в Key а чтобы узнать нажат ли ctrl, есть shift таким образом if (keychar = ' ') and (ssCtrl in shift) then спасет ОРД.
  8. информация для размышления asdf<пробел>fgt<F1><F2><F3>
  9. krapotkin

    TTask опасен (Android)

    а сейчас тут в точности написано следующее My_Procedure; Button1.Enabled := True;
  10. krapotkin

    TTask опасен (Android)

    вообще имхо плохой вариант делать анимацию через поток и sleep в данном случае я бы лучше наверное разделил анимацию на нужное кол-во ступеней и просто в таймере запускал их смысл абсолютно тот же ибо доп. поток будет работать только на Sleep, все остальное все равно происходит в главном
  11. krapotkin

    TTask опасен (Android)

    вот да
  12. что вообще происходит? вам нужно вызвать диалог через 10 секунд?
  13. непонятно. если вы хотите, чтобы картинки показывались, они должны быть в памяти. если они загружаются, то это время классический пример баланса ресурсов. либо быстро либо экономно
  14. я уже писал. нужно саму мысль о том, что можно 10000+ чего то создавать и прокручивать гнать палкой себе по лбу
  15. конечно от стиля в других стилях вовсе не серый в FMX панели не используются так же как в VCL. можно вместо панели использовать Rectangle если красить или Layout если прозрачный
  16. все там показывается сколько ни создай окон они так друг на друге и сидят
  17. не нужно ничего закрывать из модального окна. и в других ОС тоже. его нужно использовать как и везде для диалога с юзером. просто та часть, где идет проверка и реакция на ввод, сейчас живет в отдельной процедуре соответственно if Result = mrOk then Application.Terminate; procedure ExitQwery(MainSelf: TForm);
  18. или воспользоваться TThread.Queue(procedure begin ....... end);
  19. krapotkin

    OnIdle для Androida

    а почему просто в потоке не сделать?
  20. https://community.embarcadero.com/blogs/entry/creating-an-overflow-menu-on-android-463
  21. это же мобилка. тут все просто. берешь panel или layout и ставишь в любое место экрана
  22. гугл работа TImageList FMX Delphi выдает https://community.embarcadero.com/blogs/entry/timagelistxe8ru
×
×
  • Создать...