现在的许多电力系统都是基于WEB平台运行的。所以在涉及到电力图,线路图,接线图,设备图,配网图,SCADA图形仿真监控图,电网拓扑图,电厂图农电网网等图形的系统时,由于图形系统的复杂性决定,许多电力系统在图形这一模块表现得相当薄弱,很多时候没有达到专业的水准,为什么呢?
因为缺少专业的实用的易用的方便的图形平台,现在要想在WEB系统上运行一些线路图,主接线图,在线绘制电力图等系统,那么北京图王软件的Visual Graph专业图形引擎平台是不二选择。
这个例子的VBS(JS)实现代码只有二十行左右,不得了啊!二十行多代码的代码就能实现如此丰富的专业功能:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--
Sub window_onload
vg1.Design ""
s = vg1.SystemParams.DefaultPath
vg2.Run s + "listview.tbl"
vg2.Width = 180
vg3.Run s + "toolbar.tbl"
vg1_OnSheetChange( vg1.vg.ActiveSheet )
vg3.vg.Execute "btnPaste.Enable=true"
vg4.Run s + "propedit.tbl"
vg4.vg.ActiveSheet.SetPropertyValue "selected", vg1.vg.ActiveSheet.Selection
End Sub
Sub vg1_OnSheetChange( ASheet )
if not ( vg2.vg is Nothing ) then
end if
if not ( vg3.vg is Nothing ) then
end if
End Sub
Sub vg1_OnSelectChange
if not ( vg4.vg is Nothing ) then
vg4.vg.ActiveSheet.SetPropertyValue "selected", vg1.vg.ActiveSheet.Selection
end if
vg3.vg.Execute "OnSelectChange()"
vg3.vg.Execute "btnUndo.Enable=CurSheet.Owner.CanUndo()"
vg3.vg.Execute "btnRedo.Enable=CurSheet.Owner.CanRedo()"
End Sub
Sub vg1_OnModifyChange( m )
if not ( vg3.vg is Nothing ) then
end if
End Sub
Sub vg1_OnRButtonDown( x, y )
vg1.vg.Execute( "menu=Create(systemparams.defaultpath+'popupmenu1.tbl', true, false);menu.ActiveSheet.CurSheet = ActiveSheet; px = 0; py = 0; GetCursorPos( px, py ); menu.Popup( px, py ); menu.Free()" )
End Sub
Sub vg1_OnError(s)
MsgBox s
End Sub
Sub vg2_OnError(s)
MsgBox s
End Sub
Sub vg3_OnError(s)
MsgBox s
End Sub
-->
</SCRIPT>
</head>
<body>
<table border="0" width="916" cellpadding="0" cellspacing="0">
<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg3" width="925" height="35" VIEWASTEXT>
</object>
<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg2" width="182" height="463" VIEWASTEXT>
</object>
<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg1" width="558" height="464" VIEWASTEXT>
</object>
<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg4" width="182" height="463" VIEWASTEXT>
</object>
</table>
</body>
</html>
由于是在Html与JS/VBS基于Visual Graph图形引擎平台开发而成的。我们看一下CAB插件包的大小,突然发现只有400k。更令人叫绝的是400k的CAB里面包括有所有界面源码(自己可以定制Onlinedraw的所有界面以及所有动作行为,作为电力系统当中的多样性,其400K就已经可以无限更改其行为,而且还很简单。)以及Visual Graph的核心:vg.dll。
1.图形技术相当完善:多页面、多图层、表格图形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义图元连接点、自定义光标、图形保护、控制点,支持图形的逻辑分组,允许图元嵌套构建更复杂的图元。
2.包含编辑与运行状态,可以任意操纵与控制图形变化,实现各种仿真与建模。
3.图形和图库是统一的XML格式,便于传输、存储和维护,支持WEB开发。
4.响应众多的图形操作事件,任意给图形添加属性成函数,任意自定义图形。
5.可以建立和分析图形间的任意拓朴连接关系,实现各种逻辑运算与控制。
6.内含面向对象的Visual Graph脚本语言,简洁易用的COM类库接口。
7.每个图形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。
8.支持报表开发,表格高度智能,可以制作超酷图形界面,轻松换肤。
9.非常容易地开发出任何复杂变化的图形,轻松实现自己的图形库。
10VBS、JS可以操控Visual Graph的一切,VG的内嵌脚本与VBS、JS可以交互控制。