slav_z
-
Постов
233 -
Зарегистрирован
-
Посещение
-
Победитель дней
33
Сообщения, опубликованные slav_z
-
-
попробуйте переопределить метод function GetDefaultStyleLookupName: string; override; своего компонента.... и вернуть название класса стиля родителя... (посмотрите переопределение этого метода у стандартных компонентов)
-
1 час назад, Senator сказал:
Заранее благодарю всех за помощь!
не за что... какая ошибка то?
-
если нужно просто установить фон для формы можно сделать это без всякого кода и дополнительных ресурсов:
-
-
-
с такими вопросами лучше к семейному психологу.. тут на них не ответят...
-
System.IOUtils TPath.GetPathRoot(ParamStr(0)) или TDirectory.GetDirectoryRoot(ParamStr(0)) ....если диска в пути нет, функции ведут себя по-разному..
-
здесь на форуме это все уже обсуждалось... на андроид 11 изменилось расположение системных библиотек... дельфи 10.2 об этом не знает... 10.3.3 еще можно было заставить работать с андроид 11 (исправлением и перекомпиляцией System.pas)... но надо ставить 10.4... надо... sdk и файл манифеста тыркать бесполезно....
-
Все разработчики при работе с FMX рано или поздно сталкиваются с одной и той же проблемой: необходимо исключить "случайное" срабатывание нажатий элементов внутри скроллбокса во время его скроллинга. Идут годы, а решения так и нет. Давайте попробуем это исправить. Поехали!
Запускаем IDE, создаем новый проект, кидаем на форму TVertScrollBox и на него чего-нибудь побольше... запускаем на мобильном устройстве, пытаемся скроллировать,
получаем проблемы в виде срабатывания разных событий типа OnClick элементов.
Решение состоит в том, чтобы сделать элементы "невидимыми" для событий связанных с действиями пользователя с экраном во время скроллинга.
Делаем следующее:
Все. Переносим код в базовую форму, делаем его более гибким, убираем все те костыли, которые мы уже успели сделать ранее...
Удачи!
-
-
3 часа назад, juppy сказал:
Не c:/ a c:\
Функция просто не видит ваш путь.
без разницы... windows понимает и туда и обратно...
-
сделайте простейший проект в котором воспроизводится ошибка... и киньте сюда.. а то как в наперстки играем...
-
ListBox1.Items.AddStrings(TDirectory.GetFiles('c:/','*'+Exp,TSearchOption.soAllDirectories));
но работать она будет не быстро.. ей надо всю структуру диска С обойти...
лучше ее в отдельном потоке запускать...
-
24 минут назад, Delpher-X сказал:
Так мне нужен не только корень, но и вложенные каталоги.
тогда понятно... эта функция только из определенного каталога файлы получает... ща попробую..
-
-
10 минут назад, Delpher-X сказал:
То есть, вот эта строка будет искать все файлы с указанным расширением? А вместо TDirectory.GetCurrentDirectory можно указать например, 'C:/'?
да... но именно эта строка не только получит все нужные файлы из указанной директории, но и добавит их в ListBox
-
вот ваш код с 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 на наличие флага "только для чтения"... место на диске есть?... без вашего проекта сложно угадать причину...
-
13 минут назад, Delpher-X сказал:
получение текущей директории приложения, ведь так?
ага
можете указать там свою директорию где лежат ваши doc файлы
-
5 минут назад, Delpher-X сказал:
он что именно делает?
цикл по текстовым файлам из указанной директории
для вас будет for S in TDirectory.GetFiles(TDirectory.GetCurrentDirectory,'*.doc') do
-
4 минуты назад, Delpher-X сказал:
А Inc - это что?
инкремент значения Inc(I) это I:=I+1
-
5 минут назад, Delpher-X сказал:
Потому что я не знаю, как из строк ListBox'а, где лежит весь путь, выделить собственно само имя файла.
TPath.GetFileName(ListBox1.Items)
-
без вашего проекта можно долго гадать... похожий код у меня работает без ошибок...
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;
-
подозрение на таймер... (перенесите Timer2.Enabled := False; в начало метода, может он где то запускается повторно)
подозрение на функцию random()... почему именно так сделано получение начального индекса для файлов?
-
если есть антивирус... он тоже может мешать...
Как получить в desing-time в свойстве StyleLookup своего компонента-наследника TSpeedButton тот же перечень стилей, что и у родителя?
в FindStyleResource
Опубликовано
другой путь - регистрация собственного редактора свойства StyleLookup для своего компонента (посмотрите модуль source\Property Editors\FmxStyleLookup.pas)