Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа с файлами, что делать?


Автор: Sega 26.5.2005, 11:13
Суть вот в чем:
есть папка, в нее записываются файлы, как они есть, их надо перебрать по порядку там, типа readln, но я же не знаю имена файлов, как быть с этим? пожалуйста можно побыстрей, диплом горит, заранее огромное спасибо
smile

Автор: Snowy 26.5.2005, 11:16
Смотри примеры по FindFirst, FindNext

Автор: Sega 26.5.2005, 11:34
Гуд спасибо а что как параметр передаётся?

Автор: Snowy 26.5.2005, 11:44
Это не параметр.
Открой в дельфи хелп.
Найди FindFirst.
Нажми на слово Example.
Там тебе будет полный пример по перебору файлов.

Автор: Rrader 26.5.2005, 11:50
http://forum.vingrad.ru/index.php?showtopic=52205&unread=1&hl=findfirst

http://vingrad.ru/DELPHI-DLP-000989

Автор: Sega 26.5.2005, 13:00
Дядьки гуру, findfirst и findnext они имя файла возврашают?

Автор: Snowy 26.5.2005, 13:04
Они много чего возвращают.
Но тебе-то нужно только имя файла.

Автор: Sega 26.5.2005, 13:45
Спасибо, оно надеюсь в стринге возвращается?

Автор: ~FoX~ 26.5.2005, 15:18
Они структуру возвращают.....один параметр которой Name - это и есть имя файла.

Автор: Snowy 26.5.2005, 17:19
Код

var
  sr: TSearchRec;
  t:  TextFile;
  s:  string;
begin
    if FindFirst('*.*', faArchive, sr) = 0 then // начинаем поиск файлов
    begin
      repeat
        if (sr.Attr and faArchive) = sr.Attr then // если это обычный файл, то
        begin
          AssignFile(t,sr.Name); Reset(t); // открываем файл
          while not eof(t) do // читаем от начала до конца
          begin
            ReadLn(t,s); // читаем каждую строку
            // тут мы чего-то делаем со строками...
          end;
        end;
      until FindNext(sr) <> 0; // ищем следующий файл, если таковой имеется
      FindClose(sr); // Завершаем поиск файлов
    end;
end;

Добавлено @ 17:22
Цитата
Они структуру возвращают.....

Они ее не возвращают, а заполняют ее поля.
Структуру ты сам должен предоставить.

Автор: Alex 26.5.2005, 19:37
http://vingrad.ru/DELPHI-DLP-002507

Автор: Петрович 27.5.2005, 08:44
Цитата(Snowy @ 26.5.2005, 12:16)
Смотри примеры по FindFirst, FindNext


Цитата(Sega @ 26.5.2005, 12:34)
Гуд спасибо а что как параметр передаётся?


Цитата(Snowy @ 26.5.2005, 12:44)
Нажми на слово Example.
Там тебе будет полный пример по перебору файлов.


Цитата(Sega @ 26.5.2005, 14:00)
Дядьки гуру, findfirst и findnext они имя файла возврашают?


Цитата(Sega @ 26.5.2005, 14:45)
Спасибо, оно надеюсь в стринге возвращается?


Блин. Serge, ты F1 нажать-то можешь? Или ты только вопросы задавать умеешь?

Автор: ~FoX~ 27.5.2005, 09:20
Цитата(Snowy @ 26.5.2005, 18:19)
Они ее не возвращают, а заполняют ее поля.
Структуру ты сам должен предоставить.

Ну я это и имел ввиду, прошу прощения не правильно выразился.
Вот описание структуры:

Код

 TSearchRec = record
    Time: Integer;
    Size: Integer;
    Attr: Integer;
    Name: TFileName;
    ExcludeAttr: Integer;
    FindHandle: THandle;
    FindData: TWin32FindData;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)