dervish00

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

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

  • Посещение

Информация о dervish00

  • Звание
    Пользователь
  1. Не показывается в списке нужный Item

    Если выбрать айтем с номером больше 53, а потом раскрыть список, то самым нижним видимым будет 53, если покрутить полосу прокрутки, то видно, что выделенным является правильный айтем, но он не видим при раскрытии списка. Уж и не знаю, как еще объяснить...
  2. Не показывается в списке нужный Item

    Есть форма с ComboBox. Список заполняю динамически и ставлю ItemIndex равным какому-либо элементу. При нажатии на стрелочку для раскрытия списка до какого-то значения ItemIndex в этом списке подсвечивается правильный Item, а после какого-то этот правильный Item спрятан внизу, т.е. до него список не скроллируется. Думал, что это из-за динамики, сделал такой же комбо, только заполненный в дизайнтайм - поведение абсолютно такое же. Что делаю не так? Простенький проект-пример в прицепе. testcombobox.zip Все это в винде. Delphi Berlin.
  3. Странное поведение TFloatAnimation на Android

    Как видно из кода - мне нужно одновременно две панельки запускать (одна прячется, другая появляется). А AnimateFLoatWait пока не закончит работу - не даст запуститься второй анимашке. На самом деле все решил - оказался такой страшный мой косяк, что аж стыдно... У меня в коде, как вы понимаете, чуть сложнее - имена панелек берутся из смерженной до этого строки с разделителями. Так я парсил эту строку под имена отдельные как раньше это делал под виндой (у меня куча процедурок и функций своих осталось со времен, когда активно кодил), а здесь не учел, что под андроидом строки с нуля начинаются, а не с 1-ки. Поправил - вроде все отрабатывает как положено и даже через FindComponent, т.е. не надо городить костылик с отбором панельки по имени... Всем спасибо за участие и прошу прощения за свой косяк.
  4. Странное поведение TFloatAnimation на Android

    По-моему, кое-что нарыл. Сейчас буду разбираться
  5. Странное поведение TFloatAnimation на Android

    krapotkin у TAnimator.AnimateFloat нет события OnFinish, а мне в конце надо сделать у панельки Visible := False
  6. Странное поведение TFloatAnimation на Android

    Не работает. Даже безо всяких UpperCase - просто напрямую (что передал, с тем и сравниваю) не работает. Думается мне, что дело тут несколько глубже и связано с передачей параметров. Пока знаний по андроиду не хватает, пытаюсь найти инфу в сети... Просто хотелось сделать универсальный инструмент для смены панелек (их будет 6-8 штук) с плавной анимацией. Можно, конечно и в лоб описать все переходы, но как-то некрасиво.
  7. Странное поведение TFloatAnimation на Android

    function Form1.GetPanel(paName: string):Tpanel; begin Result := NIL; if AnsiUpperCase(paName) = 'PANEL1' then Result := Panel1; if AnsiUpperCase(paName) = 'PANEL2' then Result := Panel2; end; procedure Form1.Button1Click(Sender: TObject); var FirstFMXObjName, SecondFMSObjName : string; pa : TPanel; begin FirstFMXObjName := 'panel1'; SecondFMSObjName := 'panel2'; // pa := GetPanel(FirstFMXObjName); pa := Panel1; //раскомментировав пред. строку и закомментировав эту - не работает if NOT Assigned(pa) then Exit; FloatAnimationHideFromRight2Left.Parent := pa; FloatAnimationHideFromRight2Left.Enabled := True; FloatAnimationHideFromRight2Left.PropertyName := 'Position.X'; FloatAnimationHideFromRight2Left.StartFromCurrent := False; FloatAnimationHideFromRight2Left.StartValue := 0.0; FloatAnimationHideFromRight2Left.StopValue := -pa.Width; // pa := GetPanel(SecondFMSObjName); pa := Panel2; //раскомментировав пред. строку и закомментировав эту - не работает if NOT Assigned(pa) then Exit; FloatAnimationShowFromRight2Left.Parent := pa; FloatAnimationShowFromRight2Left.Enabled := True; pa.Position.X := pa.Width; pa.Visible := True; FloatAnimationShowFromRight2Left.PropertyName := 'Position.X'; FloatAnimationShowFromRight2Left.StartFromCurrent := False; FloatAnimationShowFromRight2Left.StartValue := pa.Width; FloatAnimationShowFromRight2Left.StopValue := 0.0; FloatAnimationHideFromRight2Left.Start; FloatAnimationShowFromRight2Left.Start; end; вот такой код. Под Windows и Android работает без проблем. Но если раскомментировать/закомментировать строки, которые подписаны в коде, то под Windows работает, а под Android - нет. А хотелось бы чтобы именно так работало (для универсальности). Пытался сделать через FindComponent и также под Windows все работало, а под Android выдавало Access Violation. Есть ли у гуру мысли, что происходит?
  8. Устанавливаю в TEdit.Text строковое значение, прочитанное из БД. Ставлю на этот TEdit фокус (TEdit.SetFocus). Показываю форму с этим TEdit. Естественно, вся строка подсвечена. Тапаю кратко в конце строки, чтобы снять выделение и пытаюсь добавить к введенной строке несколько символов. Начинает заменяться ВЕСЬ текст. Думал у меня косяк - открыл пример MobileControl, благо там TEdit-ов пруд пруди. Оказалось, что у всех такое поведение. Можно как-то это изменить?
  9. [TLabel]OnClick в Android

    При нажатии на TSpeedButton, TButton итп появляется кружок вокруг места нажатия, а при нажатии на TLabel (c HitTest=true) - нет. Можно ли как-то его добавить, чтобы создавалось впечатление, что нажата кнопка? Мне нужно, чтобы вертикально шли три кнопки (Tspeedbutton) - Сохранить, Не сохранять, Отмена, которые прижаты к правому краю формы. Текст хотелось бы выровнять по правому краю кнопок, но такого свойства не нашел. Пришлось заменить TSpeedButton на TLabel, а у них нет пресловутого "кружка". "Некрасивенько..." (С)
  10. дааа, что-то я погорячился... все гораздо проще. но, вопрос в любом случае не снимается - SQLite -> XML, например для бакапа. правда, это другая тема...
  11. Подниму темку. Все описанное выше хорошо для БД, в которые пользователь ничего не сохраняет, а как сделать то же (апгрейдить БД) в которую пользователь уже чего-то занес. Просится решение, что-то вроде выгрузки из текущей базы, например, в xml, удаление текущей, создание новой и загрузки в новую данных из xml. Отсюда вопрос: есть ли какие-либо готовые решения выгрузки SQLite БД в XML?
  12. Новая БД в Android

    да, точно, спасибо. вот что значит отсутствие практики... "давно не брал я в руки шашку" (с). попробовал - работает.
  13. Новая БД в Android

    enatechno Спасибо. Красиво и легко. Я, правда, уже порешал у себя. Все получилось. Оказывается, нельзя в ДатаМодуле инициализировать. Сделал это в OnCreate главной формы - все заработало.
  14. Новая БД в Android

    Pax Beach Спасибо за ответ. Начал копать в этом направлении (к сожалению, в силу некоторых рабочих процессов, не могу уделить сейчас этому много времени). Добавил к приложению (просто пустая форма) модуль, на который посадил два компонента. Вот код: unit DMUnit; interface uses System.SysUtils, System.Classes, Data.DbxSqlite, Data.DB, Data.SqlExpr, Data.FMTBcd, System.IOUtils; type TDM = class(TDataModule) Conn: TSQLConnection; DS: TSQLDataSet; procedure ConnBeforeConnect(Sender: TObject); procedure ConnAfterConnect(Sender: TObject); private { Private declarations } public { Public declarations } end; var DM: TDM; implementation {%CLASSGROUP 'FMX.Controls.TControl'} {$R *.dfm} procedure TDM.ConnAfterConnect(Sender: TObject); begin Conn.ExecuteDirect('CREATE TABLE IF NOT EXISTS tbl1 (_id INTEGER, name TEXT, PRIMARY KEY (_id ASC)'); end; procedure TDM.ConnBeforeConnect(Sender: TObject); begin {$IF DEFINED(iOS) or DEFINED(ANDROID)} Conn.Params.Values['ColumnMetadataSupported'] := 'False'; Conn.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'test.db'); {$ENDIF} end; begin DM.Conn.Connected := True; end. при старте приложение сразу вылетает. Если закамментить: begin // DM.Conn.Connected := True; end. то стартует нормально, но БД, естественно, не создается... Что не так? Вроде все просто и прозрачно.
  15. Новая БД в Android

    Обязательно ли деплоить пустую БД с приложением на устройство или можно при первом запуске просто создать новую БД? Как добавить таблицу в существующую БД более/менее понятно из wiki, а вот как создать БД - так и не понял. Вроде перерыл интернет на эту тему, но так и не нашел. Может кто сталкивался? Буду благодарен за ответы по существу вопроса.