Если ничего особенного в проекте не менять, примерно так:
Код:
type
TmyRecord = record
Numbers : String[25];
Types : String[25];
Citys : String[25];
Times : TDateTime;
end;
var
myRecord : array of TmyRecord;
f : File of TmyRecord;
...
procedure TForm1.btnLoadClick(Sender: TObject);
var
fName : String;
I : Integer;
begin
fName := 'table1.txt';
AssignFile(f, fName);
{$I-}
Reset(f);
{$I+}
if IOResult <> 0 then
begin
MessageDlg('Ошибка доступа к файлу ' + fName, mtError, [mbOk], 0);
Label2.Caption := '1';
Exit;
end;
I := 0;
while not Eof(f) do
begin
SetLength(myRecord, succ(I));
Read(f, myRecord[i]);
inc(I);
end;
for I := 0 to Length(myRecord) - 1 do
begin
StringGrid1.Cells[0, succ(I)] := myRecord[i].Numbers;
StringGrid1.Cells[1, succ(I)] := myRecord[i].Types;
StringGrid1.Cells[2, succ(I)] := myRecord[i].Citys;
StringGrid1.Cells[3, succ(I)] := TimeToStr(myRecord[i].Times);
end;
CloseFile(f);
end;
procedure TForm1.btnSaveClick(Sender: TObject);
var
fName : String;
I : Integer;
begin
fName := 'table1.txt';
AssignFile(f, fName);
Rewrite(f);
for I := 0 to Length(MyRecord) - 1 do
begin
myRecord[i].Numbers := StringGrid1.Cells[0, succ(I)];
myRecord[i].Types := StringGrid1.Cells[1, succ(I)];
myRecord[i].Citys := StringGrid1.Cells[2, succ(I)];
myRecord[i].Times := StrToTime(StringGrid1.Cells[3, succ(I)]);
Write(f, myRecord[i]);
end;
CloseFile(f);
MessageDlg('Данные записаны в файл ' + fName, mtInformation, [mbOk], 0);
end;
дальше думаю сам разберёшься.
P.S. Забыл уточнить, ставим StringGrid в режим редактирования, вводим все нужные данные
вручную, сохраняем. И... только после этого можно пользоваться кнопко "загрузить". Полученный файл
не рекомендуется править вручную, без понимания основ хранения информации в таких файлах.