24小时热门版块排行榜    

CyRhmU.jpeg
查看: 744  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

MiracleZhan

新虫 (初入文坛)

[求助] 【求助】如何将textbox输入的数值作为通用声明?已有2人参与

本人VB新手,在编写代码中碰到如下问题。
我定义一个全局数组,上界想通过textbox输入,如何在通用里定义声明?
就是类似这样子
n=text1.text
dim a(1 to n) as single
放在通用里总是报错,n前面加const也不行。
求各位高手帮忙解决,谢谢。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
MiracleZhan: 金币+5, ★★★很有帮助 2014-07-23 16:35:11
一般先定义dim一个空的数组;然后再redim 初步指定元素个数;程序中再 redim perserve,修改增加元素个数。
5楼2014-07-22 23:58:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

数组的下下界必须先定义一个。如果要改变数组的上下界的话,必须使用redim,重新定义,这样会导致数组内容清空,不能保存。
一般只改变数组的上界,使用 ReDim Preserve 来重增加数组的长度,并且保存以前的内容。

百度上回答内容:
——————————————————————————————————
ReDim Preserve a(6) As Integer   请详细说明?

打个比方吧:如果某班原来有53个学生,新转学来了2个同学,那么座位表就要重排了,重排的方法有两种,一种是全部座位清空,重新排位,即:
ReDim a(1 To 55) As Integer
那么这55个座位现在就是空的,你可以重新安排所有同学(包括新来的)的座位。
另一种方法就是原来的53个学生的座位不变,新来的同学排在后面,即:
ReDim Preserve a(1 To 55) As Integer
这时候前面53个座位上坐的还是原来的同学,最后两个座位(即a(54)和a(55))则是空的,你可以安排新来的同学坐到这两个座位上去。

如果我这么解释你还是没听明白,那么恭喜你解脱了,从此你不用再学VB了。
——————————————————————————————————
来源: http://zhidao.baidu.com/question/509558557.html
2楼2014-07-21 16:51:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

MiracleZhan

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by deephill at 2014-07-21 16:51:00
数组的下下界必须先定义一个。如果要改变数组的上下界的话,必须使用redim,重新定义,这样会导致数组内容清空,不能保存。
一般只改变数组的上界,使用 ReDim Preserve 来重增加数组的长度,并且保存以前的内容。 ...

非常感谢你的回答。不过我的问题是因为我的上界是要通过textbox的输入,数组声明全局变量的时候需要用到这个,n=text1.text不能放到通用里,我主要是解决这个问题。
3楼2014-07-22 18:18:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖

n=val(text1.text)
而且这个过程别放在声明里面
努力学习!以正当途径!获得需要的知识!
4楼2014-07-22 20:35:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见