Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
解决无法按y轴显示的问题!

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

如果用dbchart,
假设数据库如下:
a b
1 2
2 2
3 3
4 2
a作为x轴,y作为y轴,显示图形如下
4
3         x
          /   \
2  x--x     x
1
   1   2  3  4
我想显示成如下图形(a作为y轴,b作为x轴)
4    x
         \
3         x
         /
2    x
       |
1    x
  1  2  3  4
可是如果单纯用a作为y轴,b作为x轴,显示的结果为
4    x
      |  \
3    |   x
      |
2    x
      |
1    x
  1  2  3  4

我个人认为dbchart的line在实现的时候必须以x来确定y,所以无法实现以y确定x,解决方法,

将纪录逐条串位,比如原来是

a b
1 2
2 2
3 3
4 2
处理后为

a b 终点坐标x  终点坐标y 
1 2     2                  2
2 2     3                  3
3 3     4                  2
4 2     4                  2

注意:adoquery1中  select * form 表名 order by  x  desc

var firx,firy:double;
begin
    with adoquery1 do
    begin
        first;
        firx:=fieldbyname(x).AsFloat ;
        firy:=fieldbyname(y).AsFloat;
        edit;
        fieldbyname('终点坐标x').Asfloat:=firx;
        fieldbyname('终点坐标y').AsFloat:=firy;
        post; next;
        while not eof do
        begin

            edit;
            fieldbyname('终点坐标x').Asfloat:=firx;
            fieldbyname('终点坐标y').AsFloat:=firy;
            post;
            firx:=fieldbyname(edit1.text).AsFloat;
            firy:=fieldbyname(edit2.text).AsFloat;
            next;
        end;
    end;
end;

然后使用dbchart中的series arrow来显示即可




相关文章

相关软件