怎样使用循环语句读出数据库中的数据,然后循环写入Edit控件中去。(100分)

  • 主题发起人 主题发起人 shunter
  • 开始时间 开始时间
S

shunter

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样使用循环语句读出数据库中的数据,然后循环写入Edit控件中去。[:)]
 
什么意思?
 
table.movefirst
while not table.eof do
begin
edit.txt:=...
end
 
edit起名时也用edit+i的形式
 
倒~~~~~~~~~~
不是有dbedit吗?
 
你看这样可以吗?
var
k:string
begin;
for i:=0 to 5 do
tmpstring:=ADOtable1.Fields.asstring;
k:=string(i+1);
('edit'+K).text:=tmpstring;
ADOtable1.next;
[:)]
 
('edit'+K).text:=tmpstring; <--这一句不对。
一开始最好要用movefirst
循环次数最好不要硬性指定,用while not table.eof do比较好
你忘了用begin...end将循环体包起来。
 
k:=string(i+1);
('edit'+K).text:=tmpstring; <--这一句不对。
我在程序中就是这两句通不过,那应该怎么写呢?
请赐教!!
 
var
tempedit:Tedit;
begin
tempedit:= (FindComponent('edit' + inttostr(k))) as Tedit;
tempedit.Text:=....

给分给分!!!![:D]
 
为什么用循环?
 
。。('edit'+K).text:=tmpstring;
真离奇!
改用CASE OF 把
 
[:)]
用宏替换方法如何?
k:=string(i+1);
&k:=tmpstring; <--这一句不对。
delphi的宏替换是不是这样用的??
 
tempedit:= (FindComponent('edit' + inttostr(k))) as Tedit;
是查询控件名为editx的返回起指正,
delphi控件分成设计时(vcl)和运行时控件,
运行时控件就处理上面这种等,比如:某个空间是否有left这个属性等等!
 
[:)]
对不起,我的问题还是没有得到解决。
tempedit:= (FindComponent('edit' + inttostr(k))) as Tedit;
这条语句能通过编译,但是程序运行没有结果。
 
兄弟呀,哪来这样的用法啊?
要实现你说的效果,必需用动态控件。下面就是一个例子,
看完后,你应该就会改了。
不行的话给我发email:yuan-fan@21cn.com

var
Form1: TForm1;
x:array of tedit;
n:Integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
SetLength(x,5);
for n:=0 to 4 do
begin
x[n]:=tedit.Create(self);
x[n].Parent:=Form1;
x[n].Left:=10;
x[n].Top:=n*30+10;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
for n:=0 to 4 do
x[n].Text:=IntToStr(n*2+10);
end;
 
谢谢远帆,我的问题已经解决了,谢谢。
分已经送到。
今后请多多指教。我的妹是:shunter@163.net
 
呵呵~
好说,好说:)
my oicq:1005736
 
后退
顶部