delphi 中自己定义了一个数组,想用控件把数组的值画一个图显示出来,怎么实现,最好有代码! 10
展开全部
1.)你的这个LIST1的属性在设计时设置好的话使得当表单初始化时它就去找a这个数据源了,而你的a在点按钮之前还没产生,所以表单一出来先提示a不是一个数组。
2.)dimension定义的是私有变量,你在按钮里定义的数组,在执行到THISFORM.LIST1.REQUERY之前数组a就消失了,所以LIST1里只剩下一杠杠的却没数据。
3.)因按钮每点一次,就定义一次数组,这个没必要。
解决办法:
1.)将LIST1的ROWSOURCE和ROWSOURCETYPE属性还原为默认值;把LIST1的COLUMNCOUNT属性设置为14(即设定列数,否则只显示第一列数据)
2.)在FORM的INIT事件里定义公共数组a:
public array a(10,14)
n=0
for i=1 to 10
for k=1 to 14
store n to a(i,k)
n=n+1
endfor
endfor
3.)在FORM的DESTROY事件里做释放公共变量数组a的操作:
RELEASE a
4.)在按钮CLICK里写上:
WITH thisform.list1
.rowsourcetype=5
.rowsource="a"
ENDWITH
thisform.list1.requery
2.)dimension定义的是私有变量,你在按钮里定义的数组,在执行到THISFORM.LIST1.REQUERY之前数组a就消失了,所以LIST1里只剩下一杠杠的却没数据。
3.)因按钮每点一次,就定义一次数组,这个没必要。
解决办法:
1.)将LIST1的ROWSOURCE和ROWSOURCETYPE属性还原为默认值;把LIST1的COLUMNCOUNT属性设置为14(即设定列数,否则只显示第一列数据)
2.)在FORM的INIT事件里定义公共数组a:
public array a(10,14)
n=0
for i=1 to 10
for k=1 to 14
store n to a(i,k)
n=n+1
endfor
endfor
3.)在FORM的DESTROY事件里做释放公共变量数组a的操作:
RELEASE a
4.)在按钮CLICK里写上:
WITH thisform.list1
.rowsourcetype=5
.rowsource="a"
ENDWITH
thisform.list1.requery
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放一个按钮,一个Memo
//建议初学者网上看看数组的用法,说得很详细
procedure TFrm_n_b.Button1Click(Sender: TObject);
var
chgpass_buf: array of string;
i:integer;
begin
SetLength(chgpass_buf,5);
chgpass_buf[0]:='1';
chgpass_buf[1]:='2';
chgpass_buf[2]:='3';
memo1.Lines.Clear;
for i:=0 to 4 do
begin
memo1.Lines.Text:=memo1.Lines.Text+#13+#10+chgpass_buf[i];
end;
end;
//建议初学者网上看看数组的用法,说得很详细
procedure TFrm_n_b.Button1Click(Sender: TObject);
var
chgpass_buf: array of string;
i:integer;
begin
SetLength(chgpass_buf,5);
chgpass_buf[0]:='1';
chgpass_buf[1]:='2';
chgpass_buf[2]:='3';
memo1.Lines.Clear;
for i:=0 to 4 do
begin
memo1.Lines.Text:=memo1.Lines.Text+#13+#10+chgpass_buf[i];
end;
end;
追问
老大,是画一个图显示啊,不是数组直接显示!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delphi是我想学习的,但是哎,没有时间啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询