![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Вкратце обрисую ситуацию.
Есть такая игра TES4:Oblivion. И есть к ней моды (модификации). Некоторые требуют наличия такого файла, как ArchiveInvalidation.txt. В нем должны перечисляться пути к заменяемым модификацией файлам. Например: textures/menus/map/world/cyrodiil_resized.dds textures/menus/map/world_map_arrow_icon.dds textures/menus/hud/hud_compass_goal.dds и т.д. Насколько мне известно можно начинать отсчет хоть от названия диска: С:/.../file.dds Моя цель - создать программку, автоматически перечисляющую эти пути (вручную писать долго...). Вопрос: каким образом можно заставить программу перечислять все пути к файлам, включая в конце концов их самих и их расширение и сохранять это в файл ArchiveInvalidation.txt, желательно - без заменения предыдущего файла, а просто путем его дополнения?.. Например, выбираю я в, например, в ShellTreeView директорию, нажимаю Button и все пути к файлам в ней (директории) заносятся в AI.txt. ... |
#2
|
||||
|
||||
![]() для этой самой кнопки пропиши это:
Код:
procedure TForm1.Button1Click(Sender: TObject); var dir: String; procedure AddFile(const f: String); begin Memo1.Lines.Add(f); //здесь добавляй найденный файл f куда надо end; procedure AddDir(const d: String); var rec: TSearchRec; a: Integer; b: String; begin if not(DirectoryExists(d))then Exit; a := FindFirst(d+'\*', faAnyFile or not faSymLink, rec); while(FindNext(rec)=0)do begin if(rec.Name='.')or(rec.Name='..')then Continue; b := d+'\'+rec.Name; if(FileExists(b))then AddFile(b) else if(DirectoryExists(b))then AddDir(b); end; end; begin dir := sShellTreeView1.SelectedFolder.PathName; Memo1.Lines.Clear; AddDir(dir); end; может быть 5 минут моего времени стоит хотя бы "+"? ![]() TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |
#3
|
|||
|
|||
![]() Пасиб! Счас проверю... )))
P.S. "+" - это отзыв? Я тут просто недавно... )))))) |
#4
|
||||
|
||||
![]() да, справа сверху от сообщения
TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |