Цитата:
Сообщение от AndrYxo
Не, данные стирнггрида записать в файл и потом что бы можно было их прочесть из файла и вставить обратно в стринггрид 
|
Сохранение stringGrid1 в файл.
Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var
s :TStringlist;
j:Integer;
Str:String;
posy, posx, i : Integer;
Begin
with TSaveDialog.Create(Owner) do
begin
DefaultExt:='.txt';
Filter:= 'файлы проекта|*.txt';
if not Execute then exit;
s:=TStringList.Create;
s.Clear;
for i:=0 to StringGrid1.RowCount-1 do
begin
Str := '' ;
for j:=0 to StringGrid1.ColCount-1 do
str:=str+StringGrid1.Cells[j, i]+' ';
s.Add(Str);
end;
S.SaveToFile(FileName);
end;
s.Free;
end;
Чтение данных их файла в StringGrid2
Код:
rocedure TForm1.BitBtn3Click(Sender: TObject);
var
s :TStringlist;
i,j, posy, posx: Integer;
Str:String;
Begin
with TOpenDialog.Create(Owner) do
begin
DefaultExt:='.txt';
Filter:= 'файлы проекта|*.txt';
if not Execute then exit;
s:=TStringList.Create;
S.LoadFromFile(FileName);
label2.Caption:= IntToStr(S.Count);
For posy := 1 to S.Count do
begin
posx := 0;
Str := '';
label1.Caption:= IntToStr(Length(S.Strings[posy-1]));
For i := 1 to Length(S.Strings[posy-1]) do
begin
if S.Strings[posy-1][i] <> ' ' then
Str := Str + S.Strings[posy-1][i]
else
begin
StringGrid2.Cells[posx, posy-1] := Str;
Str := '';
inc(posx);
end;
end;
end;
end;
StringGrid2.RowCount := posy;
StringGrid2.ColCount := posx;
S.Free;
end;