急!VB读取TXT数据,并画曲线图 读取TXT内的数据,然后在坐标纸上绘制折线图: TXT数据:TSSSTTTSTSS 坐标横轴是T,纵轴是S。当出现一个T时,在坐标纸上画200单位的横线,出现S画200单位的横线,就像楼梯式折线。 我的代码是: Open "st.txt" For Input As #1 '只读方式打开输入文件 Do While Not EOF(1) Line Input #1, m Select Case m Case "T" Picture2.Line (x, y)-(x + 200, y), RGB(255, 0, 0) x = x + 200 Case "S" Picture2.Line (x, y)-(x, y - 200), RGB(255, 0, 0) y = y - 200 '纵轴坐标是递减的 End Select Loop Close #1 运行结果是没有折线输出,如果取消Select语句还有折线输出 各位大侠指导一下,感激不尽!!!! [解决办法] y - 200改为y + 200 [解决办法] 还是老问题,如果把Select去掉,还能画三段折线。加上Select怎么改画线方法都没有作用 [解决办法] Line Input #1, m 此时m已经全部获取了txt的数据 在后面的Select语句中已经不能一个接着一个读取m了,所以不能执行Select里面的Line 请问怎样一个接着一个读取txt里的数据,这样挨着判断估计能得到折线图 [解决办法]
用
dim s() s=Split(m," ") for i=0 to ubound(s) .... next i
[解决办法] 还是老毛病,Select外边有s或者m的数据,进入Select后,数据显示为空。怎么办呢,急死我了。读取TXT数据绘制折线图到现在还是搞不懂,大侠们帮帮忙哦 [解决办法] Open "st.txt" For Input As #1 '只读方式打开输入文件 Line Input #1, s Close #1
For Each m In Split(s," ") Select Case m Case "T" Picture2.Line (x, y)-(x + 200, y), RGB(255, 0, 0) x = x + 200 Case "S" Picture2.Line (x, y)-(x, y - 200), RGB(255, 0, 0) y = y - 200 '纵轴坐标是递减的 End Select Next m [解决办法] 问题还是没解决,不过还是谢谢你,让我学会了For each。
Picture2.Line (x, y)-(x, y - 200), RGB(255, 0, 0) y = y - 200 '纵轴坐标是递减的
改成Picture2.Line (x, y)-(x, y + 200), RGB(255, 0, 0) y = y + 200 '纵轴坐标是递减的 [/code] 2、就是给,X,Y赋个初始值,比如:X=2000,Y=1000 把这句加到Do While Not EOF(1)这句前边就行。
3、你的st.txt文件里的数据格式也要改变, 要么一个字符占一行如: T S T T S S 要么,就按四楼的方法,先分组数据,然后再处理
[解决办法] Private Sub Command1_Click() Open "st.txt" For Input As #1 '只读方式打开输入文件 Line Input #1, s Close #1 For Each M In Split(s, " ") MsgBox M Select Case M Case "T" Picture2.Line (X, Y)-(X + 200, Y), RGB(255, 0, 0) X = X + 200 Case "S" Picture2.Line (X, Y)-(X, Y + 200), RGB(255, 0, 0) Y = Y + 200 '纵轴坐标是递减的 End Select Next M End Sub [解决办法] 运行完后,没有一个成功 [解决办法] 看来楼主是那种谁也教不会的,俺承认俺教错了人. TXT数据:必须是一列.我上面改了一个符号就成功了 T S S S T T T S T S S