20.12.2008, 14:23
|
Активный
|
|
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
|
|
Можно применить типизированный файл. В тексте "SG" - TstringGrid.
Код:
type
MyRec = record
Dat : string[10];
Str : string[150];
end;
var
F : File of NyRec;
R : MyRec;
PathName : string;
//запись
procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
begin
AssignFile(F, PathName);
Rewrite(F);
for I := 1 to SG.RowCount-1 do begin
R.Dat := SG.Cells[0, I];
R.Str := SG.Cells[1, I];
Write(F, R);
end;
CloseFile(F);
end;
//чтение из файла
procedure TForm1.Button2Click(Sender: TObject);
var
Cnt : Integer;
begin
if not FileExists(PathName) then begin
ShowMessage('Файл не найден!');
Exit;
end;
SG.RowCount := 2; //при условии, что в таблице есть заголовок
Cnt := 0;
AssignFile(F, PathName);
Reset(F);
while not EOF(F) do
begin
Read(F, R);
Inc(Cnt);
if Cnt > SG.RowCount then
SG.RowCount := SG.RowCount + 1;
SG.Cells[0, Cnt] := R.Dat;
SG.Cells[1, Cnt] := R.Str;
end;
CloseFile(F);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//файл с данными там же где и программа
PathName := ExtractFilePath((Application.ExeName))+'data.dat';
end;
//при изменении даты в DateTimePicker1 в текущую ячейку заносится дата
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
SG.Cells[SG.Col, SG.Row] := DateToStr(DateTimePicker1.Date)
end;
__________________
Не забывайте делать резервные копии
|