delphi 中自己定义了一个数组,想用控件把数组的值画一个图显示出来,怎么实现,最好有代码! 10

 我来答
丛尔柔
2011-09-25 · TA获得超过851个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:239万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hand114719
2011-09-24 · TA获得超过638个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:66万
展开全部
放一个按钮,一个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;
追问
老大,是画一个图显示啊,不是数组直接显示!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
benfenchao
2011-09-24 · 超过19用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:75.7万
展开全部
delphi是我想学习的,但是哎,没有时间啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式