x11

Пользователи
  • Публикации

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

  • Посещение

О x11

  • Звание
    Продвинутый пользователь

Посетители профиля

106 просмотров профиля
  1. Ведь из базы я могу SELECT запросом выбрать нужный тип стиля: для винды или для андроида.
  2. Под винду так, под андроид эдак, под др. ось ещё как-то перетак. А хотелось бы, чтобы было одинаково везде. Пока вижу все это хранить в базе. Даже не в ресурсах приложения.
  3. Здесь ещё есть несколько приемов работы со стилями и из ресурсов. http://www.gesource.jp/weblog/?p=7544
  4. Есть другая идея: загрузить все ресурсные файлы в базу sqlite и оттуда их доставать.
  5. К тому же приходится в редакторе ресурсов прописывать Identifier тоже ручками.
  6. Я специально поставил на нужной отметке. Там автор видео добавляет в ресурсы проекта (Project/Resources and images) файлы *.style. Потом вместо цикла по стилям добавляет в Combobox новые строки/объекты копипастом. Я уже посмотрел пару таких примеров с копипастом. Но подозреваю, что можно как-то циклом получить стили в runtime, чтобы добавить их в combobox. И это было бы правильно. Вот пример: procedure TfmSelectStyle.FormCreate(Sender: TObject); Function NewItem(const aText: string): TListBoxItem; begin Result := TListBoxItem.Create(comboStyles); Result.Parent := comboStyles; Result.Text := aText; end; begin comboStyles.AddObject(NewItem('Default')); comboStyles.AddObject(NewItem('Copper')); comboStyles.AddObject(NewItem('CopperDark')); comboStyles.AddObject(NewItem('CoralCrystal')); comboStyles.AddObject(NewItem('CoralDark')); comboStyles.AddObject(NewItem('Diamond')); comboStyles.AddObject(NewItem('EmeraldCrystal')); comboStyles.AddObject(NewItem('EmeraldDark')); comboStyles.AddObject(NewItem('Jet')); comboStyles.AddObject(NewItem('Radiant')); comboStyles.AddObject(NewItem('Sterling')); comboStyles.AddObject(NewItem('Vapor')); end; Так выбираем procedure TfmSelectStyle.comboStylesChange(Sender: TObject); var aTos: String; aStyle: TFMXObject; const ToStr: Array[TOSVersion.TPlatform] of string = ('Windows', 'MacOS', 'iOS', 'Android', 'WinRT', 'Linux'); begin aStyle := nil; //если выбираем из ресурсов if comboStyles.ItemIndex > 0 then begin aTos := ToStr[TOSVersion.Platform] + comboStyles.Selected.Text; aStyle := TStyleStreaming.LoadFromResource(HInstance, aTos, RT_RCDATA); if not assigned(aStyle) then begin ShowMessage('Стиль не найден: ' + aTos); exit; end; end;// if comboStyles.ItemIndex > 0 then TStyleManager.SetStyle(aStyle); end; Вот так загружены в проект стили
  7. А всплывающие подсказки к кнопкам появились? А то в Берлин фиг поймешь, что за кнопки на панели редактора стилей.
  8. Посмотрел это видео https://youtu.be/iM9lamNwmtc?t=20m51s Там же просто копипастинг. Чтобы подключить ещё 2-5-10 стилей, нужно заниматься копипастой. Именовать/переименовывать. Разве так можно? А нельзя как-то автоматизировать процесс добавления стилей в список, где их может выбирать пользователь в процессе работы?
  9. По сути, мне нужно склеить значения нескольких полей в одном выражении. Можно, конечно, в SQL запросе, но чувствую, что можно как-то и прямо в CustomFormat. здесь http://www.malcolmgroves.com/blog/?p=1226 даже показано, как можно использовать свои функции
  10. http://docwiki.embarcadero.com/RADStudio/Berlin/en/Using_Custom_Format_and_Parse_Expressions_in_LiveBindings CustomFormat понимает выражение self.owner.qObjects.FieldByName('floor').AsString + "/" + %s а как быть, если qObjects живет в другом модуле, в другой форме? Пытаюсь так: DM.qObjects.FieldByName('floor').AsString + "/" + %s и получаю ошибку, что EvalError in LinkListControlToField1: Couldn't find DM.
  11. Здесь видео отсюда но там используется VertScrollBox
  12. Оказывается, что проблема очень древняя и её до сих пор не исправили https://delphihaven.wordpress.com/2013/12/30/removing-a-fmx-controls-size-restrictions/
  13. а если не используешь дизайнер стилей?
  14. т.е. чтобы устранить ошибку, нужно обязательно использовать TStyleBook и ещё что-то там проделать?