Вам также следует взглянуть на file of
-метод.
Это несколько устарело, но это хороший способ научиться работать с файлами.
Поскольку записи с динамическими массивами (включая обычные строки) не могут быть сохранены в файлах с помощью этого метода, строки Unicode не будут поддерживаться. Но string[50]
основан на ShortStrings, и поэтому ваша запись уже не в юникоде ...
Запись в файл
var
i: Integer;
myFile: File of TScores;
begin
AssignFile(myFile,'Rank.dat');
Rewrite(myFile);
try
for i := 1 to 3 do
Write(myFile, Rank[i]);
finally
CloseFile(myFile);
end;
end;
Чтение из файла
var
i: Integer;
Scores: TScores;
myFile: File of TScores;
begin
AssignFile(myFile, 'Rank.dat');
Reset(myFile);
try
i := 1;
while not EOF(myFile) do
begin
Read(myFile, Scores);
Rank[i] := Scores; //You will get an error if i is out of the array bounds. I.e. more than 3
Inc(i);
end;
finally
CloseFile(myFile);
end;
end;