注册 登录
编程论坛 VB.NET论坛

有一个代码和我需要的差不多,但要修改,求高手帮忙,感激不尽

mingtian11 发布于 2011-05-02 22:16, 516 次点击
我要做的程序的功能是实现:由数据库传过来的数据(1000多对数),生成二维曲线。以下的代码和我所需有相似之处,但有不同,希望高手帮忙写个代码,实现程序的功能。。。感激不尽



绘制实时采集数据曲线的程序源代码如下:  

Dim x0, y0, h, w

Dim I as integer

x0 = Shape1.Left

y0 = Shape1.Top + Shape1.Height

h = Shape1.Height / 1

w = Shape1.Width / 300

Picture1.ForeColor = QBColor(1)

Picture1.Cls

Y1 = Shape1.Height

For I=0 to 600

Picture1.Line (x0 + i * w, y0 - dqsj(i) * h)-(x0 + (i + 1) * w,y0 - dqsj(i + 1, Q) * h )

Next

//说明:其中,dqsj是记录10分钟内实时采集速度值的数组。
2 回复
#2
mingtian112011-05-03 15:00
高手帮帮忙啊
#3
syx542011-05-10 08:12
我不是高手,我给你提示:
我记得VB6 在窗体对象和Picture对象上可以实行图形绘制,
这里的:Picture1.Line (x0 + i * w, y0 - dqsj(i) * h)-(x0 + (i + 1) * w,y0 - dqsj(i + 1, Q) * h )
命令,是在Picture1上使用Line绘制直线
而你是绘制二维曲线,数学知识告诉我们,曲线可以采用描点法来完成绘制,所以你不应该用Line方法,
应该用:Pset方法,Pset方法是绘制点,具体命令格式是:
对象.Pset (x,y)

例如:Picture1.Pset (2000,2000)     '在Picture1上的x=2000,y=2000处绘制一个点
又如:Form1.Pset (2000,2000)     '在Form1上的x=2000,y=2000处绘制一个点
这样你可以使用循环,逐个绘制点,就得到了曲线图形

另外,点的粗细和颜色,你自己研究吧!


[ 本帖最后由 syx54 于 2011-5-10 08:13 编辑 ]
1