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

slav_z

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

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

  • Посещение

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

    33

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

  1. другой путь - регистрация собственного редактора свойства StyleLookup для своего компонента (посмотрите модуль source\Property Editors\FmxStyleLookup.pas)
  2. попробуйте переопределить метод function GetDefaultStyleLookupName: string; override; своего компонента.... и вернуть название класса стиля родителя... (посмотрите переопределение этого метода у стандартных компонентов)
  3. если нужно просто установить фон для формы можно сделать это без всякого кода и дополнительных ресурсов:
  4. скорее всего стиль у TListBox еще не загружен... и ему нечего еще прокручивать... попробуйте это:
  5. с такими вопросами лучше к семейному психологу.. тут на них не ответят...
  6. System.IOUtils TPath.GetPathRoot(ParamStr(0)) или TDirectory.GetDirectoryRoot(ParamStr(0)) ....если диска в пути нет, функции ведут себя по-разному..
  7. здесь на форуме это все уже обсуждалось... на андроид 11 изменилось расположение системных библиотек... дельфи 10.2 об этом не знает... 10.3.3 еще можно было заставить работать с андроид 11 (исправлением и перекомпиляцией System.pas)... но надо ставить 10.4... надо... sdk и файл манифеста тыркать бесполезно....
  8. slav_z

    FMX: Скроллинг и нажатия

    Все разработчики при работе с FMX рано или поздно сталкиваются с одной и той же проблемой: необходимо исключить "случайное" срабатывание нажатий элементов внутри скроллбокса во время его скроллинга. Идут годы, а решения так и нет. Давайте попробуем это исправить. Поехали! Запускаем IDE, создаем новый проект, кидаем на форму TVertScrollBox и на него чего-нибудь побольше... запускаем на мобильном устройстве, пытаемся скроллировать, получаем проблемы в виде срабатывания разных событий типа OnClick элементов. Решение состоит в том, чтобы сделать элементы "невидимыми" для событий связанных с действиями пользователя с экраном во время скроллинга. Делаем следующее: Все. Переносим код в базовую форму, делаем его более гибким, убираем все те костыли, которые мы уже успели сделать ранее... Удачи! https://github.com/slav-libx/scroll-click.git
  9. сделайте простейший проект в котором воспроизводится ошибка... и киньте сюда.. а то как в наперстки играем...
  10. ListBox1.Items.AddStrings(TDirectory.GetFiles('c:/','*'+Exp,TSearchOption.soAllDirectories)); но работать она будет не быстро.. ей надо всю структуру диска С обойти... лучше ее в отдельном потоке запускать...
  11. тогда понятно... эта функция только из определенного каталога файлы получает... ща попробую..
  12. смотрите причину у себя.. значение Exp указано? в корне диска С точно есть такие файлы? после нигде нет очистки ListBox?
  13. да... но именно эта строка не только получит все нужные файлы из указанной директории, но и добавит их в ListBox
  14. вот ваш код с ListBox... все работает без ошибок procedure TForm1.FormCreate(Sender: TObject); begin Exp:='.txt'; ListBox1.Items.AddStrings(TDirectory.GetFiles(TDirectory.GetCurrentDirectory,'*'+Exp)); end; procedure TForm1.Button1Click(Sender: TObject); var FileIndex, FileName : String; I : Integer; begin randomize; FileIndex := IntToStr(random(5000)); for I := 0 to ListBox1.Items.Count-1 do begin FileIndex := IntToStr(StrToInt(FileIndex) + 1); FileName := FileIndex + Exp; TFile.Copy(ListBox1.Items[I], FileName); end; //Timer2.Enabled := False; end; проверьте ВСЕ ваши файлы doc на наличие флага "только для чтения"... место на диске есть?... без вашего проекта сложно угадать причину...
  15. ага можете указать там свою директорию где лежат ваши doc файлы
  16. цикл по текстовым файлам из указанной директории для вас будет for S in TDirectory.GetFiles(TDirectory.GetCurrentDirectory,'*.doc') do
  17. без вашего проекта можно долго гадать... похожий код у меня работает без ошибок... procedure TForm1.Button6Click(Sender: TObject); var S: string; I: Integer; begin I:=random(5000); for S in TDirectory.GetFiles(TDirectory.GetCurrentDirectory,'*.txt') do begin Inc(I); TFile.Copy(S,I.ToString+'.txt',True); end; end;
  18. подозрение на таймер... (перенесите Timer2.Enabled := False; в начало метода, может он где то запускается повторно) подозрение на функцию random()... почему именно так сделано получение начального индекса для файлов?
×
×
  • Создать...