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

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

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

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

  • Посещение

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

    264

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

  1. В этом случае, при скрытии одной или нескольких кнопок, остальные кнопки будут прижаты к одному краю (левому или правому). При этом группа видимых кнопок будет уже не по центру окна. Здесь есть решение: нужно ширину второго Layout-а всегда устанавливать равной суммарной ширине видимых кнопок. Но вот хотелось бы решение, когда настроил в инспекторе объектов и забыл, так сказать. все делается кодом, то что вы в инспекторе поставили не значит, что оно по волшебству работает. так что не ленитесь и делайте
  2. function JSONParse(const aJSONData: string; const aMemo: TMemo): boolean; var aJSValue: TJSONValue; aJSObject: TJSONObject; aJSArray: TJSONArray; I, J: integer; begin Result := false; aJSValue := TJSONObject.ParseJSONValue(aJSONData) as TJSONValue; if Assigned(aJSValue) then begin aJSObject := aJSValue as TJSONObject; if Assigned(aJSObject) then begin for I := 0 to aJSObject.Count - 1 do begin aMemo.Lines.Add(aJSObject.Pairs[I].JsonString.Value + '=' + aJSObject.Pairs[I].JsonValue.Value); if aJSObject.GetValue(aJSObject.Pairs[I].JsonString.Value) is TJSONArray then begin aJSArray := aJSObject.GetValue(aJSObject.Pairs[I].JsonString.Value) as TJSONArray; if Assigned(aJSArray) then begin for J := 0 to aJSArray.Count - 1 do aMemo.Lines.Add(aJSArray.Items[J].Value); end; end; end; end; end; Result := true; end; JSONParse('{"desc":"Описания...","otdel":["1","12","300"],"manufacturer":"ООО \"Привет\""}', Memo1)
  3. видимо такой возможности нет, компилятор не всемогущ. хотя может где то в настройках и есть такое
  4. это делается так TLayout = Top\Bottom TLayout = Center Button1 = Left\Right Button2 = Left\Right Button3 = Left\Right Button4 = Left\Right Button5 = Left\Right center_demo.zip
  5. покажите как вы формируете JSON, и почему вы не можете перед отправкой его посмотреть? ShowMessage может с легкостью больше 255 символов вывести, отсюда и скопировать
  6. для чего это нужно? ведь можно до отправки посмотреть структуру JSON'a
  7. для Windows отработал вот такой вариант procedure TForm9.Edit1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin Edit1.CaretPosition := Edit1.Text.Length; end; способ правильный только нужно вызывать его после того как нажали на компонент и он получил фокус, OnTyping тоже отработал, только первый символ все равно пропустил в месте предыдущего расположения каретки
  8. Лови ipad estay https://www.dropbox.com/s/527supdlc565umw/20150923_183759.jpg?dl=0 Только в модуле uDevice на 137 кажись строке для виза отсутствовал энд. Рекомендую поправить иначе не компилится под ИОС. да, это поправил уже. благодарю за скрин
  9. не то что ожидал конечно, хотел версию Айфона получить... но видима он это не передаёт. найти не могу
  10. DeviceInfo - модуль для получения информации о девайсе Android || Windows || IOS || MAC OS Intel планшет для Андроида нужно включить разрешения (permission) Ссылка на GitHub
  11. TListBox - в него можно накидать компоненты и сделать в 5 секунд, то что вам нужно или использовать стиль var aItem:TListBoxItem; begin aItem := TListBoxItem.Create(nil); aItem.Text := 'Item Title'; aItem.ItemData.Bitmap.Assign(aBitmap); aItem.Parent := aListBox; end; TListView - тоже можно создать такое и лучше, но нужно все описать ручками в событии OnUpdateObjects with aListView.Items.Add do begin Text := 'Item Title'; Bitmap.Assign(aBitmap); end;
  12. включен Recieve Push Notifications? Библиотеки cloud-messaging.dex.jar и прочие гугловые включены?
  13. на чистом проекте работает отлично caFree, а вот в рабочем AV ловлю. Проверю еще раз код. Спасибо за разъяснения!
  14. а самому перекодировать? принимаете текст ведь как вариант попробовать прогнать через эту функцию, поиграйтесь с указанием кодировки function myStringToUTF8(aStr: String): string; // uses System.NetEncoding var Data: TEncoding; StrArray: TBytes; begin Data := TEncoding.Create; try try StrArray := BytesOf(aStr); Result := StringOf(Data.Convert(Data.Default, TEncoding.UTF8, StrArray)); except Result := aStr; end; finally FreeAndNil(Data); end; end;
  15. сделайте свой менеджер окон, типа стэка, который следит за окнами и при закрытии уничтожает их! была идея, но как лучше. кто(что) будет проверять что форма закрыта и нужно её уничтожить. только не нужно предлагать таймер
  16. Из обычной формы я записываю допустим в переменную, что надо в через 10 минут отправить запрос, в итоге я должен спокойно забыть о приложении и просто закрыть его ну и заблокировать экран телефона, а в это время подался знак на включение таймера в сервисе ну и по прошествию времени, отправляется запрос. Впрочем обычная ситуация общение приложение-сервис-приложение делается через Intent
  17. В каком смысле "не работает правильно"? В том что после такого метода форму заного нельзя создать. AV вылетает
  18. Так и сделано, но не то что хочу. Нужно чтобы при закрытия формы, она сама удалилась. Ситуация: создаём форму, показываем, закрываем. И она весит в памяти, а хотелось бы чтобы она почистили за собой
  19. Доброго времени суток! Создание Application.CreateForm(TFormObject, FormObject); FormObject.Show; Уничтожение if Assigned(FormObject) then begin FormObject.Release; FormObject.DisposeOf; FormObject := nil; end; Вопрос, как при закрытии формы сделать уничтожение самой себя? TActionClose.caFree не предлагать, не работает правильно эта форма будет несколько раз создаваться и уничтожаться за время выполнения приложения (обязательное условие)
×
×
  • Создать...