Как искать текстовый файл? - PullRequest
0 голосов
/ 04 июля 2018

Я использую текстовый файл для хранения некоторых данных, чтобы впоследствии я мог использовать их для создания отчетов, но данные, которые я сохранил, состоят из нескольких строк, т.е.

1
1
2
2

Допустим, если я хочу прочитать данные с номера 2, как я смогу присвоить переменную третьей и четвертой строке без цифр 1 (цифры не будут одинаковыми в реальных данных). Seek () не будет работать, так как это текстовый файл, и я не смогу использовать writeln (), если я изменил тип. Есть ли в любом случае я могу сделать это без использования записей?

Редактировать: будет ровно 96 строк, и все строки могут не иметь одинакового количества цифр.

1 Ответ

0 голосов
/ 06 июля 2018

Поскольку входной файл небольшой, вы можете использовать TStringList для его обработки. Вот пример.

Первые несколько записей образца текстового файла с именем adrian.txt, содержащего случайные числа.

15
37
46
29
33
37
37
50
41
48
3
9
31
50

Код Lazarus: TStringList объект s использует свой метод LoadFromFile для загрузки содержимого текстового файла в себя. Теперь доступно содержимое отдельных записей, проиндексированных по их номерам. Заметьте только, что эти числа нулевые; первая запись становится 0-й строкой в ​​TStringList.

procedure TForm1.Button1Click(Sender: TObject);
var
  s: TStringList;
begin
  s := TStringList.Create;
  s.LoadFromFile('adrian.txt');
  Memo1.Lines.Add(s[0]);
  Memo1.Lines.Add(s[1]);
  Memo1.Lines.Add(s[2])
end;                 

Нажмите кнопку, и это то, что вы видите.

enter image description here

...