|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi работа с файлами
Доброго времени суток!
Господа, помоготе кто может. Возникла следующая задача: есть определенное количество файлов, содержащих текст в DOS кодировке, текст представлен в виде таблицы, поля не имеют разделителей, есть только фиксированная длина полей. Необходимо создать пакетную обработку этих файлов с целью определить значение определенного поля, котрое может быть либо ДА либо НЕТ и в зависимости от того какое значение имеет это поле, копируем строки с ДА в файл 1.csv, а с нет в 2.csv. структура файла: поле1 поле2 поле3 ПолеДаНет поле5 Спасибо! |
#2
|
||||
|
||||
На кой вам выводить каждое значение? Не проще посчитать сколько всего было Да/Нет? Вот так устроит?
Код:
var fi: TSearchRec; f: TextFile; Res: record Yes,No: Integer; end; FPos,FLen: Integer; Path, s: String; begin FPos := 50; //Позиция поля в строке FLen := 3; // Длина поля Res.Yes := 0; Res.No := 0; Path := ExtractFilePath(ParamStr(0)); if FindFirst(Path+'*.csv', faAnyFile, fi) = 0 then repeat AssignFile(f, Path + fi.Name); Reset(f); while not Eof(f) do begin ReadLn(f, s); if Copy(s, FPos, FLen) = 'ДА' then Inc(Res.Yes); if Copy(s, FPos, FLen) = 'НЕТ' then Inc(Res.No); end; CloseFile(f); until FindNext(fi) <> 0; FindClose(fi); ShowMessage(Format('Да:%d, Нет:%d',[Res.Yes, Res.No])); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Спасибо большое!!!
|