|
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
StringGridにはSaveToFileメソッドが見あたりません
どうやって保存するのでしょう。
[A]
セルの文字列に改行コードが含まれないなら、比較的簡単に保存する方法
が有ります。
1.ファイルに保存する場合、テキストファイルルーチンを使い
For..to..do..を2重にしてWritelnで書き込む
2.ストリームに保存する場合.
[例]
1.
var
F : TextFile;
I,J:Integer;
begin
AssignFile(F,'Grid.dat');
ReWrite(F);
for I:=0 to StringGrid1.ColCount-1 do
for J:=0 to StringGrid1.RowCount-1 do
Writeln(F,StringGrid1.Cells[I,J]);
CloseFile(F);
end;
2.
procedure StrWrite(Stream:TStream;Str:String);
var Size:Integer;
begin
Size:=Length(Str);
Stream.WriteBuffer(Size,SizeOf(Size));
Stream.WriteBuffer(PChar(Str)^,Size);
end;
function StrRead(Stream:TStream):String;
var Res,Size:Integer;
begin
Res:=Stream.Read(Size,SizeOf(Size));
if Res=SizeOf(Size) then begin
SetLength(Result,Size);
Stream.Read(PChar(Result)^,Size);
end;
end;
procedure SaveGrid(Stream:TStream;Grid:TStringGrid);
var I:Integer;
begin
for I:=0 to Grid.ColCount-1 do
StrWrite(Stream,Grid.Cols[i].Text);
end;
procedure LoadGrid(Stream:TStream;Grid:TStringGrid);
var I:Integer;
S:TStrings;
begin
S:=TStringList.Create;
for I:=0 to Grid.ColCount-1 do
begin
S.Text:=StrRead(Stream);
Grid.cols[i].Assign(S);
end;
S.Free;
end;
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|