引言
Developer/是ORACLE公司推出的集成化软件开发和运行环境目前很多大型企业使用的是ORACLE数据库而Developer/作为其前台开发工具也得到了广泛的应用ORACLE *Graphics是Developer/的一部分它提供了丰富的图形化表示数据的方法并可以与Forms模块结合起来更有效地表示数据在实际应用中由于决策者的观察方式和角度不同因而对同一数据需要不同的图形显示方式Graphics中提供了多种图形类型例如柱图饼图线图等在具体开发应用中可根据用户的需要来选择图形本文将以直方图折线图和圆饼图三种图形为例介绍它们之间进行切换的实现
不同类型图形切换的实现
在Forms中设计如下界面(图略)左边为三个Push Button按钮分别命名为butbut和but右边为Chart Item控件Chart_area用来显示图形我们这里以电视机每年销售量为例并已有直方图chart(salesogd)在图中横轴代表时间年纵轴代表销售量(图略)由图我们可以清楚地看到每年电视机的销售情况并可以看出哪一年销量最大哪一年销量最小以及各年之间的差额除了以直方图显示之外我们还可以用折线图来表示以上数据折线图能较好地用于趋势分析并直观地看出销售量的变化趋势由直方图切换成折线图需做以下几步
()在Graphics的salesogd中设直方图的Templates名为column_type创建一个Templates名为Line_type双击此模板则进入Chart Template Editor中设置Field template的值为column;
()创建过程Column其程序代码如下
PROCEDURE column IS
mch og_object;
BEGIN
mch:=og_get_object(chart);
og_set_template(mchog_get_template(column_type));
og_update_chart(mchog_all_chupda);
END;
()创建过程Line其程序代码如下
PROCEDURE line IS
mch og_object;
BEGIN
mch:=og_get_object(chart);
og_set_template(mchog_get_template(pie_type));
og_update_chart(mchog_all_chupda);
END;
()创建过程Update_chart其程序代码如下
PROCEDURE update_chart IS
BEGIN
og_execute_query(og_get_query(query));
END;
()回到Forms中在but中创建WHEN_BUTTON_PRESSED触发器并填写如下代码
oginterpret(c:\salesogd
chart_areacolumn;);
()在but中创建WHEN_BUTTON_PRESSED触发器并填写如下代码
oginterpret(c:\salesogd
chart_arealine;);
以上几步即完成直方图到折线图切换的功能其运行结果如图(略)所示
同理只要添加饼图模板编写调用饼图的过程和饼图按钮触发器的程序代码即可以完成直方图折线图和圆饼图三图之间的切换功能圆饼图的运行结果如图(略)所示
结论
图形是一种可视化的工具它可以使数据表达得更清晰更直观在决策支持系统的开发中起到了很大的作用但目前Developer/的参考书较少具体实施还需要在实践中不断探索