![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с файлами и со строками [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
Елена © (2002-09-09 10:21:00)Ситуация такая:
в одном каталоге находится много текстовых файлов с названиями вида delphi, delphi02, ..., delphi23, media, media02, ..., media47, utility, utility02, ..., utility31 и т.д.
Необходимо содержимое файлов delphi, delphi02, ..., delphi23 последовательно записать в один файл, содержимое файлов media02, ..., media47 - в другой и т.д.
Подскажите, пожалуйста, как это сделать. Заранее благодарна.
NickBat (2002-09-09 11:12:00) [1]Если работа разовая и файлы создавались в порядке нумерации, то можно выполнить из командной строки:
copy unit* allunit.pas
Елена (2002-09-09 10:50:00) [2]
> Виктор Щербаков © (09.09.02 10:48)
> Сортировка, насколько я понял, должна быть хитрой, т.е.
> сначала по алфавиту, а потом по числам в конце имен файлов.
Совершенно верно! :o)
Виктор Щербаков (2002-09-09 10:48:00) [3]Попробуй прочитать имена всех файлов в список, а потом отсортировать.
Сортировка, насколько я понял, должна быть хитрой, т.е. сначала по алфавиту, а потом по числам в конце имен файлов.
Елена (2002-09-09 10:45:00) [4]
> Виктор Щербаков © (09.09.02 10:24)
Проблема в том, что заранее неизвестно, какие будут файлы к каталоге.
lenin (2002-09-09 10:37:00) [5]Используй FindFirst, FindNex, FindClose для нахождения файлов. Затем примерно следующее:
....
strl:=TStringList.Create;
if FindFirst(Path,Attr,sr)=0 then AddFile(sr.Name,strl);
while FindNext(sr)=0 do AddFile(sr.Name,strl);
FindClose(sr);
Strl.SaveToFile(NameResultFile);
...
procedure AddFile(FinFile: String; stlr: TStringList)
var stl1: TStringList;
begin
stl1:=TStringList.Create;
stl1.LoadFromFile(FinFile);
stlr.AddStrings(stl1);
end;
Виктор Щербаков (2002-09-09 10:24:00) [6]FindFirst, FindNext.
BlockRead, BlockWrite и т.п.
В чем конкретно проблема?