java怎么引入矢量图标库_java web开发怎样调用visual graph的图库

展开全部

第一步:安装Visual Graph

首先点击Visual Graph目录上的注册e69da5e6ba903231313335323631343130323136353331333363396334COM.bat,最后显示注册成功,其实这一步就是注册Visual Graph的ActiveX组件,他的组件名为vg.dll.用命令行批处理写上 regsvr32 vg.dll。

那么就要在Delphi里面调出ActiveX了。

Visual Graph的VG组件是遵循ActiveX标准的控件,很容易安装到自己的开发环境中。

1、注册北京图王的Visual Graph的VG组件。

2、打开DELPHI,选择Component;Import ActiveX Control…菜单。

3、在Import ActiveX窗体中选择Visual Graph ActiveX Control Module选项,点击最下面的【Install…】按钮。

4、在Package窗体中点击【Compile】、【Install】按钮,退出时选择不保存。

5、在控件区的ActiveX页中出现一个Visual Graph的VG组件图标,表示安装成功。

6、直接将Cell图标拖到Form中即可使用。

7、Visual Graph的VG组件提供了几种开发环境中的Demo,可以直接照办使用,那基本就是一个样的Demo。

第二步:在Delphi窗体里面加入并调用 Visual Graph

最开始使用Visual Graph的时候是进行图形管理与控制,也就是说,画出几个库图元之后,用户可以自己加载图库,从图库里面加入图形,并对图形进行一些属性设置。

我觉得它的技术特点如下:

1)非常人性化设计,提供最为完善的绘制、修改方法,各种显示模式,随意切换。

2)与常见的绘图、文档编辑软件的操作方式相似,使用户可以在短时间内掌握绘图的使用方法。

3)丰富的一致的图元库让用户绘制图形无需从头开始,只要轻轻的拖曳即可做出漂亮的图形。

4)VG里面全部是矢量绘图,缩放自如。

5)绘图过程比用纸笔画图更简单方便和精准,图层控制等格式设置.

6)基本绘图库让用户可以通过直线、曲线、弧线、矩形和椭圆工具等元素绘制出新的图形。

7)矢量图形抗锯齿。让您绘制的图形在任何角度都保持美观。

8)无限撤销和重做功能,使用更加方便灵活。

9)可以输出为VG专用的绘图格式TBL与Bin,其他图形格式.

10)所见即所得的操作方式。

第三步:图形控制

首先拖入一个VG控件,在窗口的OnShow代码里面写上:

procedure TForm1.FormShow(Sender: TObject);

begin

vgctrl1.Run( ExtractFilePath( Application.ExeName ) + 'hmi.tbl' );

end;

procedure TForm1.Button1Click(Sender: TObject);

var

uu : IUnit;

ret : Integer;

begin

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton( Sender ).Caption );

ret := uu.GetPropertyValue( 'Value' );

//或者也可以用

//ret := vgctrl1.vg.Execute('return '+TButton(sender).Caption+'.Value');

ShowMessage( IntToStr( ret ) );

end;

procedure TForm1.Button3Click(Sender: TObject);

var

uu : IUnit;

ret : Boolean;

begin

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton( Sender ).Caption );

ret := uu.GetPropertyValue( 'OnOff' );

//或者也可以用

//ret := vgctrl1.vg.Execute( 'return开关指示A1.OnOff' );

if ret then

ShowMessage( 'true' )

else

ShowMessage( 'false' );

end;

procedure TForm1.Button4Click(Sender: TObject);

var

uu : IUnit;

ret : String;

begin

//首先从图形里面取得这个Iunit对象的指针,通过Isheet类里面的UnitByName函数,通过图元名字得到对象指针

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton( Sender ).Caption );

//再从对象指针里面获取其属性,由于text是Itext类的属性,而Iunit是Itext类的父类,如果想直接用COM接口得到Text属性,那就要Itext(uu).text,才行。同样GetPropertyValue是万能的取得属性值的函数。SetPropertyValue是万能的设置属性值的函数,这两个函数是Iunit的接口函数.

ret := uu.GetPropertyValue( 'text' );

//或者也可以用

//ret := vgctrl1.vg.Execute( 'return文字A.text' );

ShowMessage( ret );

end;

procedure TForm1.Button5Click(Sender: TObject);

var

uu : IUnit;

begin

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton(sender).Caption );

uu.SetPropertyValue( 'value', 6 );

end;

procedure TForm1.Button7Click(Sender: TObject);

var

uu : IUnit;

begin

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton( Sender ).Caption );

uu.SetPropertyValue( 'OnOff', True );

end;

procedure TForm1.Button8Click(Sender: TObject);

var

uu : IUnit;

begin

uu := vgctrl1.vg.ActiveSheet.UnitByName( TButton( Sender ).Caption );

uu.SetPropertyValue( 'text', 'Visual Graph' );

end;

第四步:在Delphi与Visual Graph脚本混合编程交互

这两个事例,都是运用了AddFunction函数。

AddFunction

void=AddFunction(string, string, int, long)

该函数属于高级应用,给Visual Graph脚本体系添加一个内部函数。利用此函数可以扩充脚本语言的能力。

第一个参数是函数的名字(32个字符以内);

第二个参数是参数类型,串中每一个字符代表一个参数类型

1-整数(Int)

2-小数(Double)

3-逻辑型(bool)

4-字符串(string)

比如有( Int,double )做为函数参数时,就用"12"表示。

第三个参数是返回值类型

如49('1'的ASC码)表示返回一个整数。

此外,如果没有返回值,用48('0'的ASC码)表示。

第四个参数是函数地址。

在C语言中,函数名就是函数地址。

在Pascal语言中,函数名前加“@”表示地址。

在Visual Basic语言中,AddressOf运算符能返回函数或者过程的地址。

比如:

procedure TForm1.FormShow(Sender: TObject);

begin

vgctrl1.AddFunction( 'CallDelphiEditChange', '44', 48, Longint( @CallDelphiEditChange ) );

vgctrl1.AddFunction( 'CallDelphiRadioButtonClick', '41', 48, Longint( @CallDelphiRadioButtonClick ) );

vgctrl1.AddFunction( 'CallDelphiCheckBoxClick', '43', 48, Longint( @CallDelphiCheckBoxClick ) );

vgctrl1.Run( ExtractFilePath( Application.ExeName ) + 'demo.tbl' );

UseDelphiControl := true;

end;

在Visual Graph脚本里面是这样写的:

CallDelphiCheckBoxClick(Sender.Name, Sender.Checked)

CallDelphiEditChange( Sender.Name, Sender.Value )

CallDelphiRadioButtonClick(Name, 0)

那么VG脚本就能调用delphi内部的函数,

那么现在Delphi如何调用VG的函数呢?,那么要运用VG的Execute万能函数了。

Execute

variant=Execute(string)

执行脚本语句,并返回一个值(如果脚本最后有return语句的话),脚本语句可以是多行的长串。

示例:

Execute( "Print()" )打印视图当前页。

Execute( "ActiveSheetIndex=2" )页面翻到第三页(0是第一页)。

Execute( "Text1.Text='Hello'" )设置某文字单元的文字内容。

Execute( "Sheet2.Text1.Text='Hello'" )设置Sheet2页上某文字单元的内容。

Execute( "x=2;y=3;return x+y" )返回5。

Execute( "s='ABC';return s" )返回"ABC"。

在Delphi里面就这样使用:

Vgctrl1.Execute(“ActiveSheet. AddUnit(‘text’,1,1,0,0)”)就可以增加一个图元了。

如查在设计图形时,给页面增加了一个自定义函数。

那么用

Vgctrl1.Execute(“ActiveSheet. SelfInvoke()”),就能调用它了。

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
超强的Web在线矢量器与监控系统 http://www.visual-graph.com/article/view.asp?id=1 工业形网站:http://www.visual-graph.com 形相关下载:http://www.visual-graph.com/down 形相关技术:http://www.visual-graph.com/article 形系统截:http://www.visual-graph.com/gallery OnlineDraw是一个VG专为IE设计的矢量组件。网页中有了VG,用户就可以直接在网页中绘制矢量形、处理点阵片,同时也可以做为一个可视化的片上传客户端工具。OnlineDraw是一个标准的 COM控件产品,它本身只是一个"白板". 超强的Web在线矢量器 OnlineDraw是一个VG专为IE设计的矢量组件。网页中有了VG,用户就可以直接在网页中绘制矢量形、处理点阵片,同时也可以做为一个可视化的片上传客户端工具。OnlineDraw是一个标准的 COM控件产品,它本身只是一个"白板",您可以根据您的具体需求,对他的所有工具条,列表,属性列表框等所有界面进行定制,定制的过程就是一个绘的过程,所有的工具按钮和绘事件都可以用 HTML 和 &#106avascript 来创建和激发。 简单几条语句即可在网站上实现功能拓展 控件本身是一个平台,全部功能均由VG内部,JS易于配合WB/S系统的形绘制服务进行少量(二三十行代码)开发就可以出来了。完全的客户端控件,不增加服务器压力,一切功能均在客户端实现,无需服务器进行实时的数据计算,如果需要服务器的交互,VG也提供相应的接口与方法来在客户端与服务器端进行轻量级XML交互数据。 基于Visual Graph的OnlineDraw形编辑工具经过近多年的深入研究与应用,有预见性地开发了大量具有潜在应用的功能,长期与用户互相合作,大量吸取用户应用经验,多年来的应用研究试验,Visual Graph终于被打造成形应用领域里面的超级引擎,其中的OnlineDraw形编辑器在Web上应用非常广泛,服务不断前进,在技术与质量上赢得了众多合作伙伴的心。OnlineDraw形编辑器主要特点是: 1.包含编辑与运行状态,可以任意操纵与控制形变化,实现各种仿真与建模。 2.形和是统一的XML格式,便于传输、存储和维护,支持WEB开发。 3.响应众多的形操作事件,任意给形添加属性成函数,任意自定义形。 4.可以建立和分析形间的任意拓朴连接关系,实现各种逻辑运算与控制。 5.内含面向对象的Visual Graph脚本语言,简洁易用的COM类接口。 6.每个形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。 7.支持报表开发,表格高度智能,可以制作超酷形界面,轻松换肤。 8.非常容易地开发出任何复杂变化的形,轻松实现自己的。 9.技术完善:多页面、多层、表格形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义元连接点、自定义光标、形保护、控制点,支持形的逻辑分组,允许元嵌套构建更复杂的元。 10.混合编程:不仅其他程序可以操控Visual Graph的一切,而且Visual Graph的脚本可以调用其他语言的程序,也可以调用DLL,任意扩充内部函数,扩展功能。脚本语言的编程习惯和一般语言相同,各种属性、函数名称也都相同。 尺寸小、速度快,运行稳定,能适应工业上机器常年工作等环境;能轻松作出工业上的各种动作设备以及常用的曲线、棒、尺寸线,实现工业的过程监控;能让软件公司在短时间内开发出高质量的组态监控软件。
Visual Graph是一套强大的交互开发平台,她能非常方便地建造基于形的界面、制作各种形元件、实现形建模、制作监控系统、表单系统、绘系统、流程设计等。   她提供功能非常强大的ActiveX组件,和其他流行的编程语言共同工作,极大地弥补了这些语言在形处理方面的不足。 一、在电力、煤炭、化工、钢铁、安全监控软件开发中的应用   Visual Graph是专门处理交互形的,与具体的业务没有关系,她提供了极其丰富的交互事件和控制命令,使程序员能够专心编写后台系统等与界面无关的部分,然后通过接口与Visual Graph联接,这样,体系结构就十分清晰,同时大大减轻了程序员的负担、降低了开发成本、节约了开发时间,软件运行效果还相当好。如果需要在网络上实现监控,还可以把Visual Graph插入网页中使用。   Visual Graph形分多个页面,可以制作菜单、子窗口、对话盒等,因此,常常只需要编写脚本就可以完成想要的操作。   一般的自动化形设计软件,可以自行开发元件,但是只能在软件限定的范围内进行,这样难免会有不足,而Visual Graph的元件开发类似于流行编程语言(如Delphi),具有无限的可能性,任何元件都可以做。能够自定义元件甚至基本形的属性,这是独一无二的技术。   Visual Graph的动画有三个种类,分别解决不同的需求,丰富界面的表现。   第一,整幅画面有众多动画效果,在形页面出现或消失时启动动画。   第二,每个形单元有众多动画效果,在形显示或消失时启动动画。   第三,形单元可以象演员一样按事先安排的时间序列做各种动作,可以有多个单元同时做动作,可以正向、反向和双向动作。 二、在形管理、形界面、形建模、拓扑分析、小型GIS、演示教学中的应用   您也许需要管理区域所有的电杆、变压器、医院、邮局、派出所、住宅小区,鼠标点击某个地方出现某个操作,这可是一个庞大的矢量啊,那么把Visual Graph插入您的程序中,也许完全能够满足您的要求。   Visual Graph可以开发几乎是无限的,形和形之间可以建立拓扑联接关系,连接的方式充分考虑到用户的需要,自由变化,连接线如果交叉,甚至会出现绕行的小圈。   Visual Graph的连接线有一个起点和一个终点,两端可有多种箭头的形状。配合强大的脚本程序可以实现任何流程计算。   您还可以用Visual Graph开发演示系统。 三、在开发、绘、表格、票据设计中的应用   您也许需要绘制一幅矢量,其中包含大量的符,由于Visual Graph提供了无限的元件开发能力,任何符都可以绘制。绘无限自由,所见所得。一般此类软件,绘好的符在需要用鼠标缩放时,只能按比例变形,而Visual Graph则可以按任何自己想要的方式变形!   需要制作票据打印吗?Visual Graph自由的表单式表格设计和丰富的文字、表格属性能满足您要求的一切样式,Visual Graph的无限丰富的公式计算能独立满足您一切的数据处理,使打印事务与您的其他程序无关。所见所得性能,使您在电脑上绘制票据就象在纸张上一样直观。更有独一无二的特性:打印纸能够用鼠标拖动和按比例缩放,从而实现形的相对缩放打印,如果您的表格太大,纸张上放不下,可以拖动鼠标解决。   Visual Graph的折线可以用脚本变成各种函数曲线,如正弦曲线、抛物线等,动态变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值