未发布 图表制作工具TeeChart Pro VCL/FMX发布v2017.22.170619[附下载] TeeChart Pro VCL/FMX 是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。
支持新的IDE:
修复:
所有关于授权升级、授权折扣和其他细节的附加信息,请移步我们的价格页面进行查看。
我们将很高兴回答您可能想要知道的所有的问题!请即时与我们的在线客服联系!
【慧都十四周年庆预热开启!全场满额送七级豪礼,AppleMac笔记本电脑、iwatch、iPad等您来拿!】
活动时间:10月1日-10月31日

未发布 VintaSoft PDF插件VintaSoftPDF.NET Plug-in更新至v5.6,新增多页查看模式
在WinForms或WPF查看器中显示PDF文档:
在HTML5或SVG查看器中显示PDF文档:
在WinForms和WPF图像查看器中编辑PDF内容:
以多页面查看模式工作时,增加了同时编辑多个PDF页面交互字段的功能。
以多页面查看模式工作时,增加了同时删除多个PDF页面内容的功能。
以多页面查看模式工作时,增加了同时编辑多个PDF页面内容的功能。
以多页面查看模式工作时,增加了将PDF注释和交互式字段从一个页面移动到另一个页面的功能。
增加了新的可视化工具 - PdfContentXObjectTool,它允许从PDF页面查找、突出显示和删除表单或图像。
PDF文档的验证和转换:
使用PDF文档:
创建Web API 2控制器以使用PDF文档(VintasoftPdfApi2Controller类)。
创建Web API控制器以使用PDF文档(VintasoftPdfApiController类)。
创建HTTP处理程序以使用PDF文档(VintasoftPdfHandler类)。
创建WCF服务以使用PDF文档(VintasoftPdfWcfService类)。
优化PDF文档:
增加了删除PDF文档中未使用的资源(PdfDocument.RemoveUnusedNamedResources)的功能。
增加了删除PDF页面的未使用资源(PdfPage.RemoveUnusedNamedResources)的功能。
添加了删除PDF表单中未使用的资源(PdfFormXObjectResource.RemoveUnusedNamedResources)的功能。
优化PDF文档的打包算法。
PDF文档中的文本搜索和文本提取:
在PDF页面、XObject表单或注释中绘制:
使用PDF文档的字体:
编辑PDF内容:
与PDF文档的可视化交互:
未发布 Xmanager Enterprise网络通讯工具更新合集 Xmanager Enterprise是完整的网络连接套件,它带有一个高性能PC X服务器,支持OpenGL(GLX)、3d硬件加速、安全终端模拟器、文件传输客户端和LPD打印机服务器。Xmanager Enterprise 4使3d X应用程序运行得更快,通过SSH和TELNET来提供安全的远程终端访问,通过SFTP/FTP进行方便的文件传输,使用LPD在本地打印远程文件等。
Xmanager Enterprise v5.1243更新:
- 修复:[Xmanager]全屏启动时屏幕闪烁
- 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
- 修复:[Xshell]终端复位时,光标不复位
- 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
- 修复:[Xshell]反向视频终端转义序列被忽略
- 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡
- 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
- 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22
- 修复:[Xlpd]资源清理
Xmanager是市场领先的PC X服务器,它能够带来Windows平台下强力的虚拟应用技术。使用Xmanager,能够使安装在远程的基于UNIX系统的X应用程序与一般的Windows应用程序 完全一样。它提供了一个强大的会话管理控制台、易于使用的X应用程序启动器、X服务器概要文件管理工具、SSH模块和用于安全访问的远程高性能PC X服务器及虚拟化的UNIX/Linux
环境。
Xmanager v5.1056更新:
Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、TELNET、RLOGIN和SERIAL。它提供业界领先无法替代的性能和特性集。它有许多对企业用户有用的特性,包括:分页式环境、动态端口转发、自定义键映射、用户定义按钮、VB脚本以及显示2字节字符和支持国际语言的UNICODE终端。
Xshell v5.1333更新:
- 修复:[Xshell]自动更新会错误地显示用户正在使用最新版本
- 修复:[Xshell]终端复位时,光标不复位
- 修复:[Xshell]重命名选项卡有时将名称应用于其他选项卡
- 修复:[Xshell]反向视频终端转义序列被忽略
- 修复:[Xshell]当选择新窗口中打开时,将-newtab选项中的新选项卡名称应用于现有选项卡
Xftp是一个灵活和轻量级的SFTP / FTP客户端,它主要用于为用户提供通过网络安全的传输文件。它提供了许多强大的功能,比如直接编辑、多窗格、文件夹同步、支持FXP、服务器之 间传输以及集成第三方编辑器。在处理远程文件方面Xftp将为你节省时间和精力。 对于家庭和学校的用户来说,Xftp是免费的。具体情况可参阅家庭和学校用户免费使用许可协议条款和
Xftp v5.1229更新:
- 修复:[Xftp]从连接的会话中打开新终端时,系统将提示用户输入密码
- 修复:[Xftp]从会话的上下文菜单中调用Xftp始终默认为TCP 22
Xlpd是一个用于Windows系统的简单的行式打印机后台程序(LDP)和打印作业管理工具。它通过LPD协议从远程服务器接收打印任务并把该打印任务发送至本地打印机。LPD是一个支持多种操作系统的标准的打印协议,支持包括UNIX、Solaris和Linux等系统。
Xlpd v5.1231更新:
未发布 矢量图形引擎库VectorDraw Developer Framework更新至v7.7012.1.1,周年8.5折限时特惠!
VectorDraw Developer Framework(VDF)v7.7012.1.1更新内容:
WebJS
新增需求(7.7012.0.1)
新增需求(7.7012.0.3)
新增需求(7.7012.0.5)
新增需求(7.7012.0.7)
新增需求(7.7012.0.9)
漏洞(7.7012.0.1)
漏洞(7.7012.0.2)
漏洞(7.7012.0.3)
漏洞(7.7012.0.4)
漏洞(7.7012.0.9)
通常( 7.7012.0.5)
通常( 7.7012.0.7)
Converter
新增需求(7.7012.0.5)
漏洞(7.7012.0.5)
漏洞(7.7012.0.9)
vdDXF
漏洞(7.7012.0.5)
Engine
新增需求(7.7012.0.1)
新增需求(7.7012.0.4)
新增需求(7.7012.0.5)
70001155 启用opengl反斜杠的细线
70001157 以2D线模式应用部分剪辑
新增需求(7.7012.0.7)
70001176 MText改进
70001185 禁用默认屏幕显示的新方法
新增需求(7.7012.0.8)
新增需求(7.7012.0.9)
漏洞(7.7012.0.1)
漏洞(7.7012.0.2)
70001114 手柄选择未正确更新,并且屏幕上仍然显示
70001116 UpdatePropertiesFromPrinter丢失纸张信息
70001117 实用程序GetLineTypeDlg的Wrapper不会返回正确的行类型
漏洞(7.7012.0.3)
70001125 删除特定折线中的RemoveInLinePoints
70001126 3DPolyline未正确导入
70001137 在WPF数字键控中的控制功能可以使5位数字达到9位
70001140 3D pollyine在DXF 12中无法正确保存
70001141 将特定的Poly Hatches保存到DXF会导致生成无效的DXF
漏洞(7.7012.0.4)
漏洞(7.7012.0.5)
70001151 MText对象不符合BoxWidth
70001154 ActiveTextHorJustify文本命令的问题
70001158 当在ATI卡中使用OpenGL设置EdgeColor时,不正确的行将被渲染
70001161 vdInsert与AligneToView未正确选择
漏洞(7.7012.0.6)
漏洞(7.7012.0.7)
70001170 vdSelection选择所有的问题
70001173 VDF ActiveX 64位指针问题
70001175 dwg未以vds格式正确导出
70001181 Mtext命令无法正常使用特定文本
70001184 忽略MaxBmpMemorySize for x86应用程序
漏洞(7.7012.0.8)
漏洞(7.7012.0.9)
2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 Xamarin for Visual Studio v4.6发布,重新设计属性页和Manifest编辑器 Xamarin for Visual Studio 让开发者可以在Windows上用 Visual Studio 开发原生 iOS, Android 和Windows应用程序。Xamarin for Visual Studio提供了流畅的iOS和Android的API查询,让开发者专注于应用本身。更棒的是,开发者完全可以利用一切他熟悉的开发工具进行开发,从而保证项目的高效性和持续性。 V4.6版本中包含的功能:
属性页和Manifest重新设计
在Xamarin 4.6中,我们重新设计了属性页和Manifest编辑器的重新设计,添加了一个新的编辑器:授权编辑器。
新的授权编辑器
新的编辑器现在是一个独立的编辑器。它的设计方式更加简单有效,双击你的entitlements.plist文件来启动。它的UI非常友好,用户可以轻松浏览和运用。
Bug修复
此版本包括以下问题修复:
iOS设备列表模拟器在更改iOS版本时不会更新。(4.6.0.289)
修复VS在创建主机发现时挂起Zeroconf的问题。(4.6.0.289)
SayGoodbye目标在创建iOS库时失败。(4.6.0.279)
MSBuild过程由于XMA监控而产生较高的CPU使用率。(4.6.0.279)
在某些情况下重新连接后,Mac Agent图标不会更新。(4.6.0.279)
在设置中无法手动选择Xcode路径。(4.6.0.279)
Android存档 - 向用户发出关于所需的密钥库备份的信息,并有助于将其复制到其他位置。(4.6.0.279)
无法在Visual Studio 2017中打开名为“资产”的目录。(4.6.0.279)
VS不会在新的iOS项目的.plist文件中设置MinimumOSVersion键。(4.6.0.279)
“链接器行为”下拉列表显示MtouchLink属性的“Don't Lin”默认值不正确。(4.6.0.279)
在Mac Server连接对话框上显示Xamarin.iOS兼容性错误。(4.6.0.279)
未选择数据源类时,不会禁用支持的系列和并发组。(4.6.0.279)
更改连接流程,以便在打开解决方案自动连接时不显示任何对话框。(4.6.0.279)
将UWP项目设置为启动项目时,设置正确的配置平台。(4.6.0.279)
tvOS绑定项目创建失败并出现多个错误。(4.6.0.279)
在某些情况下,Visual Studio挂起ZeroConf (4.6.0.279)
由于XMA上的进程监视器不正确,MSBuild进程会产生高CPU使用率。(4.6.0.240)
建立iOS库时,SayGoobye目标失败。(4.6.0.240)
本地静态参考(.a)源文件在构建后最终以0 Kb为单位。(4.6.0.240)
Android属性页面上的打字错误。(4.6.0.240)
F#Android项目无法构建。(4.6.0.240)
关于部署WatchOS应用程序的System.IO.FileNotFoundException异常。(4.6.0.240)
几个连接可靠性Mac代理修复。(4.6.0.240)
Android Library模板包含资源文件。(4.6.0.240)
Android项目模板不会生成mipmap图标。(4.6.0.240)
无法在调试模式下解除tvOS扩展应用[电视服务扩展]。设备下拉菜单中没有tvOS模拟器。(4.6.0.240)
Visual Studio崩溃,试图启动没有运行的Android应用程序。(4.6.0.240)
将默认模式下的watchOS设置为默认模拟器。(4.6.0.240)
已知的问题
创建会因错误取消:Project'project_name '需要在你的计算机上安装以下组件:...
构建Android应用程序可能需要安装其他组件。这几种情况下可能需要,例如使用新组件、NuGet软件包,或者是你在计算机上构建的第一个Xamarin.Forms解决方案。
Xamarin for Visual Studio检测到资源的缺失,并显示错误信息,要求下载并安装它们:
双击列表中的错误,开始下载并安装缺少的组件。
请记住,你需要在列表中看到Intellisense错误。
如果你尝试在解决方案中创建任何项目,而不安装缺少的组件,那么创建将被取消。
安装缺少组件的可选方法是从命令行中创建。
其他已知问题
如果你在使用此版本后降级为Xamarin 4.2或更低版本,则需要在Mac Server对话框中重新注册已知的Mac服务器。请使用“忘记Mac”选项,并再次配置服务器连接。
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 MailBee.NET Objects退回邮件教程(一):SMTP部分 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了SMTP服务器退回邮件的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
所有退回的电子邮件都应该到达一个邮箱地址。这里将其命名为我们的退件通知栏 - bounce@domain.com。显然,你需要确保退回的邮件能有它们的方式到达退件通知栏。
让我们看看这些邮件是如何由SMTP服务器发送的。当一封邮件提交给SMTP服务器时,它将被标记返回路径。返回路径是服务器用于与邮件的原始发送方通信的路径,因此返回路径通常是发件人的电子邮件地址(“From”地址)。
返回路径记录在邮件中。“From”用于显示发件人地址。返回路径和字段“From”中的地址不必一样。因此,您可以发送一个使用字段“From”的电子邮件显示发件人(jdoe@domain.com),但返回路径将是bounce box地址(bounce@domain.com)。有了这个技巧,所有的反弹消息都将返回到一个特殊的邮箱。
那么如何使用MailBee Objects呢?smtp.Send(senderEmail,recipient)方法向指定的收件人电子邮件地址发送电子邮件。第一个参数是发件人的电子邮件地址。如果是空引用,则电子邮件地址取自“From”属性。第二个参数包含收件人电子邮件地址的分隔列表。当第二个参数为空时,收件人列表可以由To、Cc和Bcc列表组合。正如你所看到的,第一个参数是我们组织一个退件栏所需要的。如果将退件栏地址设置为第一个参数,那么所有退回邮件将被发送到特殊地址。
注意:某些SMTP服务器不允许从“From”标头中指定的地址发送电子邮件。
代码示例:
此示例使用SMTP协议发送电子邮件。为了确保所有收件人都收到该邮件,TestSend将被调用。带有传送错误的邮件将来自指定的电子邮件地址。
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()
未发布 扫描识别工具Dynamic Web TWAIN使用教程:建立一个“Hello World”扫描页面 Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文教你Dynamic Web TWAIN中只需3个步骤在5分钟内创建一个Web扫描应用程序的方法!
步骤一:启动一个Web应用程序
1.1 将Dynamsoft的Resources文件夹复制到您的项目中
Resources文件夹通常在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\
1.2 创建一个空的HTML页面
请将空的html页面与Resources文件夹放在一起,如下所示:
步骤二:将Dynamic Web TWAIN添加到HTML页面
2.1 包含两个Dynamsoft JS文件
2.2 添加一个Dynamic Web TWAIN容器
1 | <div id="dwtcontrolContainer"></div>
|
注意: “dwtcontrolContainer”是div的默认ID。如有必要,您可以在文件dynamsoft.webtwain.config.js中更改它。
步骤三:使用Dynamic Web TWAIN
3.1 添加一个扫描按钮和最小的脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <input type="button" value="Scan" onclick="AcquireImage();">
<script type="text/javascript" data-filtered="filtered">
var DWObject;
function Dynamsoft_OnReady(){
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
function AcquireImage(){
if(DWObject) {
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
}
</script>
|
3.2 查看完成的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <title data-filtered="filtered">Hello World</title>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.initiate.js" data-filtered="filtered"> </script>
<script type="text/javascript" src="Resources/dynamsoft.webtwain.config.js" data-filtered="filtered"> </script>
<input type="button" value="Scan" onclick="AcquireImage();">
<div id="dwtcontrolContainer"> </div>
<script type="text/javascript" data-filtered="filtered">
var DWObject;
function Dynamsoft_OnReady(){
DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
function AcquireImage(){
if(DWObject) {
DWObject.IfDisableSourceAfterAcquire = true;
DWObject.SelectSource();
DWObject.OpenSource();
DWObject.AcquireImage();
}
}
</script>
|
3.3 查看正在运行的扫描页面
如果你打开项目中的Hello World页面,它应该是这样的:
现在,您可以点击“扫描”按钮选择一个设备,如下所示:
注意:
- 选择来源对话框中只列出了TWAIN兼容设备。如果连接的扫描仪没有显示在列表中,请按照这篇文章排除故障。
- 如果您手边没有扫描仪,则可以安装虚拟扫描仪 - 由TWAIN工作组开发的扫描仪模拟器 - 用于测试目的。
扫描完成后,图像将显示在内置的Dynamic Web TWAIN查看器中:
如果您安装了Dynamic Web TWAIN的30天试用版,您可以在C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {Version Number} {Trial}\Samples\Getting Started\获取完整的Hello World应用程序。
本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!
未发布 MySQL的查询优化方法及原理详解丨附下载 关于MySQL的查询优化方法大家应该都知道一些:不使用NULL字段、为字段选择合适的数据类型、合理创建索引、不能使用SELECT *等等,但是你真的理解了这些优化方法了吗?它们的工作原理是什么?在实际运用中性能可以得到提升吗?其实未必。如何合理运用这些优化方法的前提是理解其中原理,希望本文能给你一定的帮助。
MySQL逻辑架构
如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。
MySQL逻辑架构
MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。
MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。
最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。
点击查看完整文章>>>