Показать сообщение отдельно
  #2  
Старый 21.12.2011, 00:39
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Если ничего особенного в проекте не менять, примерно так:
Код:
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 в режим редактирования, вводим все нужные данные вручную, сохраняем. И... только после этого можно пользоваться кнопко "загрузить". Полученный файл не рекомендуется править вручную, без понимания основ хранения информации в таких файлах.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием