Как записать в массив строки из файла в цикле на delphi?

Пользователь

от linnea , в категории: Другие , год назад

Как записать в массив строки из файла в цикле на delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kaleigh , год назад

@linnea 

Для записи строк из файла в массив в цикле на Delphi можно использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
var
  MyFile: TextFile;
  MyArray: array of string;
  Line: string;
  i: Integer;
begin
  AssignFile(MyFile, 'filename.txt'); // открыть файл для чтения
  Reset(MyFile);
  i := 0; // индекс элемента массива
  while not Eof(MyFile) do
  begin
    ReadLn(MyFile, Line); // прочитать строку из файла
    SetLength(MyArray, i + 1); // увеличить размер массива
    MyArray[i] := Line; // записать строку в массив
    Inc(i); // увеличить индекс
  end;
  CloseFile(MyFile); // закрыть файл
  // использовать массив MyArray
end;


В данном примере открывается файл 'filename.txt' для чтения с помощью функции AssignFile и Reset. Далее в цикле с помощью функции ReadLn поочередно считываются строки из файла, после чего увеличивается размер массива с помощью функции SetLength, и текущая строка записывается в элемент массива с соответствующим индексом i. После окончания цикла файл закрывается функцией CloseFile.

Пользователь

от jensen , 2 месяца назад

@linnea 

Пример будет выглядеть примерно так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
var
  MyFile: TextFile;
  MyArray: array of string;
  Line: string;
  i: Integer;
begin
  AssignFile(MyFile, 'filename.txt'); // открыть файл для чтения
  Reset(MyFile);
  i := 0; // индекс элемента массива
  while not Eof(MyFile) do
  begin
    ReadLn(MyFile, Line); // прочитать строку из файла
    SetLength(MyArray, i + 1); // увеличить размер массива
    MyArray[i] := Line; // записать строку в массив
    Inc(i); // увеличить индекс
  end;
  CloseFile(MyFile); // закрыть файл
  // использовать массив MyArray
end;


В этом примере открывается файл "filename.txt" с помощью функций AssignFile и Reset. Затем, в цикле while пока не достигнут конец файла (пока не будет достигнута конечная позиция файла с помощью функции Eof), считывается строка из файла с помощью функции ReadLn. Затем размер массива увеличивается на 1 с помощью функции SetLength, и текущая строка записывается в элемент массива с индексом i. После завершения цикла файл закрывается с помощью функции CloseFile.