delphi 打开与保存StringGrid数据 代码
利用SaveDialog保存StringGrid的数据,并能用OpenDialog打开数据显示在StringGrid表格内,最好有代码,菜鸟级别,谢谢!...
利用SaveDialog保存StringGrid的数据,并能用OpenDialog打开数据显示在StringGrid表格内,最好有代码,菜鸟级别,谢谢!
展开
1个回答
展开全部
procedure SaveGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
for i:=0 to g.RowCount-1 do begin
g.Rows[i].Delimiter:=',';
t.Add(g.Rows[i].DelimitedText);
end;
t.SaveToFile(filename);
t.Free;
end;
procedure LoadGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
t.LoadFromFile(filename);
g.RowCount:=t.Count;
for i:=0 to t.Count-1 do begin
g.Rows[i].Delimiter:=',';
g.Rows[i].DelimitedText:=t.Strings[i];
end;
t.Free;
end;
保存 SaveGrid(StringGrid1,'f.txt');
加载 LoadGrid(StringGrid1,'f.txt');
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
for i:=0 to g.RowCount-1 do begin
g.Rows[i].Delimiter:=',';
t.Add(g.Rows[i].DelimitedText);
end;
t.SaveToFile(filename);
t.Free;
end;
procedure LoadGrid(g:TStringGrid; filename:string);
var i:integer; t:TStringlist;
begin
t:=TStringlist.Create;
t.LoadFromFile(filename);
g.RowCount:=t.Count;
for i:=0 to t.Count-1 do begin
g.Rows[i].Delimiter:=',';
g.Rows[i].DelimitedText:=t.Strings[i];
end;
t.Free;
end;
保存 SaveGrid(StringGrid1,'f.txt');
加载 LoadGrid(StringGrid1,'f.txt');
追问
您这样的写法没有办法选择性的打开文件,好像还是覆盖性质的
追答
吐血 不就是SaveDialog 和OpenDialog 嘛 很简单的啊
if SaveDialog1.Execute then
begin
if SaveDialog1.FileName'' then
SaveGrid(StringGrid1,SaveDialog1.FileName);
end;
if OpenDialog1.Execute then
begin
ifOpenDialog1.FileName'' then
LoadGrid(StringGrid1,OpenDialog1.FileName);
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询