Visualization and HMI Toolkit的为开发高级图形的动态界面而设计的艺术化的框架:它不仅仅是简单的按键与菜单,它是全动态的能显示动态数据以及能反映用户互动的图片对象。它不仅仅是能制作“漂亮图片”绘制工具(它还具有很多其他功能),而是能使开发人员定义图片对象以及与程序中的对象互动的图形引擎。它的使用对象主要针对应用程序开发人员,能将乏味的低级别图片代码编译工作转化成高级的互动设计行为。
GLG工具包Visualization and HMI Toolkit更新至v3.6,点击下载>>>
支持Java Script:
对Java Script的增加的支持使得用户可以定义自定义函数,将多个输入值转换为驱动动画的输出值。通过可以添加到对象属性的新Java Script转换来使用Java Script。例如,一个新的“LED Value Display”部件可以通过使用Java Script转换来实现部件的逻辑。
转换的Java Script属性包含用于生成输出值的Java Script代码。转换的Arg List属性通过$ N符号提供脚本中使用的可变的参数,其中N是基于1的参数索引(即 $ 1是第一个参数)。参数可以是双(D)、字符串(S)或XYZ(G)类型。Java Script转换的输出值也可以是D、S或G类型,与其所附属性的类型相匹配。
例如,可以使用以下Java Script将D属性的值设置成以度为单位的第一个参数的sin函数:Math.sin ($ 1 / 180. * Math.PI)
下面的Java Script可用于根据第一个参数的值和由第二个、第三个参数定义的阈值来在“NORMAL” 和“ALARM”之间切换的文本字符串:$ 1 <$ 2 || $ 1> $ 3?“ALARM”:“NORMAL”
对于复杂的Java Script来说,可以通过Java Script文件提供Java Script函数和方法库。加载此文件时,可以在图形中使用该文件中定义的Java Script函数。
应用程序可以使用包含Java Script方法集合的全局Java脚本文件并在应用程序的图纸中使用。该文件将被预加载并用作Java Script库。Viewport的JavaScriptFile属性也可定义为该viewport预加载的Java Script文件。所有加载的Java脚本都是全局的,可以在应用程序的任何位置访问。从Java Script文件加载的函数将覆盖任何以前具有相同名称的Java Script函数。
GLGeditors和所有GLG API都支持Java Script:C / C ++、Java、C#和Windows上的ActiveX。C / C ++和ActiveX中的Java Script支持由Duktape JavaScript Engine提供,对于C#来说可以使用Jurassic JavaScript引擎(由Jurassic.dll提供)。在Java中可以使用Java的JavaScript引擎。
所有Java Scripts都在绘图设置时先行编译,以实现更快的运行。这些脚本也可以进行缓存。
GlgJavaScriptFile全局配置资源或GLG_JAVA_SCRIPT_FILE环境变量可用于指定全局Java Script文件。 对于GLG Builder和GLG HMI配置器,还可以通过-glg-java-script-file命令行选项或GLG配置文件中的GlgJavaScriptFile资源(即glg_config或glg_hmi_config)提供全局Java Script文件。









Nevron Chart for .NET是一款业界领先的ASP.NET和Windows应用程序开发图表解决方案。该组件的设计从根本上满足您的绘图需求并将他们包装到一个良好的思想和一致的编程模型。不管您是否需要创建商业,科学,财经或演示图表应用程序,甚至是功能齐全,综合的商业智能解决方案, Nevron Chart将为您的Winforms和ASP.NET项目提供最终的数据可视化。

2017.1新版本在Nevron Chart for .NET中引入了很多新功能,以扩展最先进的.NET图表组件的数据可视化功能。
以下是2017.1版本引入的新功能的总结:













【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】
活动时间:10月1日-10月31日
VectorDraw web library (javascript)是一个矢量图形库,它不仅能打开CAD图纸,而且能显示任何支持HTML5标准平台上的通用矢量对象,如Windows,安卓,iOS和Linux。无需任何安装,VectorDraw web library (javascript)就可以运行在任何支持canvas标签和Javascript的主流浏览器(Chrome, Firefox, Safari, Opera, Dolphin, Boat等等)中。这意味着可以用DXF,DWG,DGN,VDML等多种格式在任何台式、平板电脑,智能手机和便携式笔记本上展现出你的业务。
VectorDraw web组件是一个革新性项目,其功能和性能得到了快速的提升。这意味着 VectorDraw web library 一直在加入新的功能和发展潜力。
C#
// Create SMTP object
Smtp mailer = new Smtp();
// Set the message fields.
mailer.From.AsString = "jdoe@domain.com";
mailer.To.AsString = "bill@domain2.com";
mailer.Subject = "Hi";
mailer.BodyPlainText = "This is test message";
// Starts logging SMTP activities into a file.
mailer.Log.Enabled = true;
mailer.Log.Filename = @"C:\log.txt";
mailer.Log.Clear();
// Specify the server to use. If your server does not require authentication,
// just omit both last parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
// Attempt to connect.
mailer.Connect();
// Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers[mailer.GetCurrentSmtpServerIndex()].Name);
// Make sure all the recipients are ok.
if (mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) != TestSendResult.OK)
{
Console.WriteLine("No recipients can receive the message.");
}// Show refused recipients if any
else if (mailer.GetRefusedRecipients().Count > 0)
{
Console.WriteLine("The following recipients failed: " + mailer.GetRefusedRecipients().ToString());
}
else
{
Console.WriteLine("All recipients are ok. Will send the message now.");
// Send e-mail. If it cannot be delivered, bounce will
// arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", (string)null);
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString());
}
// Disconnect from the server
mailer.Disconnect();VB.NET
' Create SMTP object
Dim mailer As New Smtp
' Set the message fields.
mailer.From.AsString = "jdoe@domain.com"
mailer.To.AsString = "bill@domain2.com"
mailer.Subject = "Hi"
mailer.BodyPlainText = "This is test message"
' Starts logging SMTP activities into a file.
mailer.Log.Enabled = True
mailer.Log.Filename = "C:\log.txt"
mailer.Log.Clear()
' Specify the server to use. If your server does not require authentication,
' just remove last 2 parameters.
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")
' Attempt to connect.
mailer.Connect()
' Display the host name of the server the connection was established with.
Console.WriteLine("Connected to " + mailer.SmtpServers(mailer.GetCurrentSmtpServerIndex()).Name)
' Make sure all the recipients are ok.
If mailer.TestSend(SendFailureThreshold.AllRecipientsFailed) <> TestSendResult.OK Then
Console.WriteLine("No recipients can receive the message.")
Else
' Show refused recipients if any
If mailer.GetRefusedRecipients().Count > 0 Then
Console.WriteLine("The following recipients failed: " & mailer.GetRefusedRecipients().ToString())
Else
Console.WriteLine("All recipients are ok. Will send the message now.")
' Send e-mail. If it cannot be delivered, bounce will
' arrive to bounce@domain3.com, not to joe@domain1.com
mailer.Send("bounce@domain.com", CType(Nothing, String))
Console.WriteLine("Sent to: " + mailer.GetAcceptedRecipients().ToString())
End If
End If
' Disconnect from the server
mailer.Disconnect()




import io.javalin.Javalin
funmain(args: Array) {
val app = Javalin.create().port(7000)
app.get("/") { ctx -> ctx.result("Hello World") }
}


































