VB程序问题,急急急,求助!

大家好!我想在vb中进行大量数据的输入,比如同时输入20个点的(x,y)值,在输入之前需要输入多少组数据是不一定的,由用户来定,这样用inputbox就太费劲了。我是刚学会vb的,请高手指点! 输入多少组数据是由用户告诉程序,不是随机的。比如,要用户指定要输入10个点的x,y值,若用inputbox,那就得出来20次,太麻烦了
我想要的效果是,用户指定输入多少个数据,就显示多少个文本框,一次性输入,然后确定。
然后作这20个点的一条拟合直线!

1、提供界面让用户输入,只要一对文本框输入坐标,采用多次输入的方式(每次输入一个点)。
在两个文本框输入坐标(x,y)后点击“添加”按钮,保存该坐标,如此循环录入即可。
最好用一个标签提示当前已经输入的坐标。
可以用二维数组保存所有已经输入的坐标(当然因为个数不确定,用集合Collection更好)。
至于坐标之间的运算,可以这么计算,比如求和:
arrPoints(0,1) + arrPoints(2,1) '数组的第一个索引表示第几个点,第二个索引0表示x,1表示y

2、用文件提供坐标数据。这个比较适用于有大量样本数据时,如果要用户自行输入还是1方法。首先要确定文件格式,比如文件内容格式如下:
22,33;21,34;20,25;
读取文件时先将数据读到一个数组:
arrTemp = split(strFileContent,";") ‘strFileContent 是文件内容
该数组每个元素是一对坐标(字符串格式),需要拆分到一个二维数组:
arrPoints(i,0) = val(Left(arrTemp(i),Instr(arrTemp(i),",")-1))
arrPoints(i,1) = val(Right(arrTemp(i),Instr(arrTemp(i),",")+1))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-19
当然,你可以使用文本框,但如果数据是真的,我们推荐使用的文件系统。
例如,文本文件,存储数据或数据库文件。那么你的VB代码直接打开文件,读取的数据。据的数据的数目,来确定存储在数组中的数据的大小。
第2个回答  2013-03-18
当然可以用文本框,但是,如果数据实在比较多的话,建议用文件系统。
比如,用文本文件,存放数据,或者用数据库文件等。然后,你VB代码里,直接打开文件,读取数据就可以了。可以根据数据的多少,来确定存放的数据的数组的规模。追问

文本框的话怎么读取里面的数据进行运算呢,能不能给点代码示例,谢谢!

追答

文本框里的数据,进行处理,要注意几点:
文本框里的数据是文本(字符串)格式,所以要作为数值进行数学运算可以有两种方法;
1)声明数值类型变量,利用VB的自动转换功能,将文本框里的字符型数据转换成数值型;
例如:Dim x As Single
Dim y As Single
x = Text1.text
y = Text2.text
这样可以进行数值类型的运算了:x - y,等
2)使用VB的类型转换函数:
x = Val(Text1.text)
y = Val(Text2.text)
z = x + y
当然,两种方法一起用也可以的。
建议,养成规范的编程习惯,先声明变量,后使用的习惯,这样做便于错误检查与程序调试。

追问

还是不明白,文本框中有大量数字之间怎么进行运算?比如text1中的第一行和text2中的第十行还有text3中的第三行进行某种运算怎么算?

第3个回答  2013-03-18
可以用txt文件写上这些点,然后vb编程读取这些点,这个快点
或者用控件text追问

怎么读取这些点呢

相似回答