TStringGrid如何按数据多少自动确定行列数

XTMENG 2009-07-08 12:50:50
把文本文件数据导入到TStringGrid ,数据行列是不定,
如何使TStringGrid能根据文件行列数自动增加。
...全文
55 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XTMENG 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sz_haitao 的回复:]
都是程序循环导的,发现列数不够了,自动增加一下好了
就是循环里的if判断而已嘛
[/Quote]

怎么写这个循环语句??
haitao 2009-07-08
  • 打赏
  • 举报
回复
都是程序循环导的,发现列数不够了,自动增加一下好了
就是循环里的if判断而已嘛
dinoalex 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 XTMENG 的回复:]
引用 5 楼 dinoalex 的回复:

tstringlist导入时,就自己以行数分了


不会的啊,例如我给它固定5行,如果导入大于5行,那么就只有显示5行的数据,列也是一样,
我的意思是能否根据文件的行列数自动增加行列,而不用自己判断!!!!!!!!!
[/Quote]

你是怎样导入的?
bdmh 2009-07-08
  • 打赏
  • 举报
回复
如果aa.Count代表的行数的话,就直接设置StringGrid1.RowCount := aa.Count;
列的道理也是一样
XTMENG 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dinoalex 的回复:]
tstringlist导入时,就自己以行数分了
[/Quote]

不会的啊,例如我给它固定5行,如果导入大于5行,那么就只有显示5行的数据,列也是一样,
我的意思是能否根据文件的行列数自动增加行列,而不用自己判断!!!!!!!!!
dinoalex 2009-07-08
  • 打赏
  • 举报
回复
tstringlist导入时,就自己以行数分了
XTMENG 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bdmh 的回复:]
怎么写,要看你文件格式了,你总要知道如何去循环文件内容,作为列或行的数据吧
[/Quote]
导入制表符格式的文本文件


procedure TForm1.BitBtn1Click(Sender: TObject);
var
aa,bb:tstringlist;
i:integer;
begin
if Opendialog1.Execute then
FileName:=OpenDialog1.FileName;
aa:=tstringlist.Create;
bb:=tstringlist.Create;
aa.LoadFromFile(FileName);
for i:=0 to aa.Count-1 do
begin
bb:=SplitString(aa.Strings[i],' ');
stringgrid1.Rows[i]:=bb;
end;
aa.Free;
bb.Free;
end;

//分割函数
function SplitString(const source,ch:string):tstringlist;
var
temp:string;
i:integer;
begin
result:=tstringlist.Create;
temp:=source;
i:=pos(ch,source);
while i<>0 do
begin
result.Add(copy(temp,0,i-1));
delete(temp,1,i);
i:=pos(ch,temp);
end;
result.Add(temp);
end;
bdmh 2009-07-08
  • 打赏
  • 举报
回复
怎么写,要看你文件格式了,你总要知道如何去循环文件内容,作为列或行的数据吧

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧