未找到

未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6

未发布 Visual Studio 2017 v15.5预览版的新特性先睹为快
by Harriet666 keys 分享 1508923045165
Microsoft延续了Visual Studio 2017快速迭代开发的步伐,最新发布了15.5预览版,这是VS2017这一广受欢迎的IDE自发布以来的第五次更新,该预览版的发布使用户可以先睹为快。

该预览版启用了一个称为“Stepping Back”的调试历史新特性。IntelliTrace会在整个断点的每一步上,自动对应用状态做快照,这将赋予开发人员浏览断点前后状态的能力,更易于观察在断点前后的运行效果。
 
Visual Studio 2017下载>>>

此外,Microsoft还进一步改进了基于C#和Visual Basic的解决方案的加载速度。据其宣称,所有解决方案应可在10秒内至少加载一半以上。相应地,C++开发人员应能看到IntelliTrace在执行常见命令时,性能得到了显著的提升,其中包括重命名(Rename)、更改签名(Change Signature)和找出所有引用(Find All References)等。

VS2017 15.4的IDE为C#、VB和Python开发人员提供了一种通过“Control键+点击”进入所点击项定义的功能。该功能现在也已经添加到C++的开发中。还改进了C++代码的生成,一旦受此影响的C++项目在15.5下重新编译,应该就能体验到此次更新的改进。

VS2017在安装程序上也做了一些改进,这可能会受到那些安装了多个版本VS2017的开发人员(例如在最新的VS2017旁安装了VS2017预览版)的欢迎。现在安装时会自动地创建Windows恢复点,并且每个已安装的VS2017拷贝会以不同的项列出在“添加&删除程序”(Add & Remove Programs)安装阶段的显示中。

和其它预览版一样,该预览版也不应安装在生产环境中。完整的发行说明已经给出,其中涵盖了15.5第一个预览版中包含的所有改进。
未发布 CAD .NET v12发布,提高GDI+可视化速度并可导入AutoCAD®DWG 2018丨附下载
by Harriet666 keys 分享 1497254012640
CAD .NET 12,一个新版本的.NET库,可与DWG、DXF和其他CAD文件一起使用。
 
CAD .NET新版本大大提高了GDI+可视化的速度。当加载具有复杂结构的大文件时可以很明确的体验到。例如,包含大量实体的一些文件的可视化速度现在提升了十倍。
 
更重要的是,CAD .NET现在可以导入最近发布的最新DWG版本的AutoCAD®DWG 2018。
 
此外,CAD .NET使用非Unicode SHX文本和形状的方式已经大大改善。这种改进对于使用本地非Unicode字体的系统尤其重要,例如德语、法语、希伯来语和其他语言的特殊字符。
 
【CAD .NET 12最新版点击下载>>>】

32aead6ce62144f686fc3ec3e6920c00ojpg

CAD .NET 12包含的改进和修复的内容列表:
  • GDI+可视化速度大大提高
  • 导入AutoCAD®DWG 2018
  • 改进非Unicode SHX文本/形状支持
  • Bug修复

试用、下载、了解更多产品信息请点击"咨询在线客服"   

1
未发布 快速制作演示动画的工具TurboDemo常见问题合集(二)
by Harriet666 keys 分享 1505467594160
使用TurboDemo遇到了问题?我们的FAQ将帮助你找到答案。
TurboDemo

8、怎样添加超链接?

  1. 使用“绘制对象”添加您希望创建超链接的区域(如手绘图形、矩形或椭圆)
  2. 双击您定义的对象以将它指定给URL
  3. 您可以将互联网地址、电子邮件地址或任何您需要的超链接插入到“URL”字段中
如果用户点击已定义的区域,URL将被打开。您可以从演示示例中打开外部网页或直接开始运行另一个演示示例。
 

9、怎样调整工程大小?

在您完成您的工程后,如果需要您可以改变工程的大小。您可以缩小您工程的大小也可将它扩大。您可在“文件|调整工程大小”菜单中运行该功能

我们建议您在添加任何对象(如,备注、提示气球等)前调整工程大小,因为这将影响对象定位。
 

10、怎样将声音插入幻灯?

几种添加声音的方法:
  • 当您在进行大纲视图浏览时,您可以点击特定幻灯的喇叭图标
  • 在单个幻灯模式中,您能在工具条中找到喇叭图标
使用这两个图标,“音频向导”将提示您可以录制或导入声音。向导的“高级模式”允许您访问具备附加功能的“音频编辑器”,这些附加功能包
括复制、剪切、规整化等。
 

11、怎样隐藏或更改鼠标指针?

您可以使用位于工具条中或在“幻灯片|隐藏鼠标指针”菜单中的图标隐藏鼠标指针。可通过双击幻灯中或在“幻灯片|选择鼠标指针
”菜单中的指针图标改变鼠标指针外观。
 

12、在更改了鼠标指针的位置后,鼠标指针的表现奇怪。

在解释此问题前,我们需要解释TurboDemo工作原理:
  • “蓝圈”表示鼠标指针的起始点,“红圈”表示鼠标指针的结束点
  • TurboDemo将自动统计这些点之间的路径
  • 当您使用TurboDemo制作屏幕截图时,软件将记录当前鼠标指针的位置(起始点)
  • 在抓取下一张屏幕截图时,TurboDemo将记录鼠标指针现在的位置以及新坐标(结束点)
  • 鼠标指针在一张幻灯中的结束点通常是下一张幻灯的起始点。所以照例所说,当您在一张幻灯中移动了起始点(蓝圈),您会发现在上一张的结束
  • 点(红圈)位置也改变了
 

13、什么是“鼠标悬浮”?

“鼠标虚浮”就是当您在演示过程中将鼠标移动到特定位置时向您显示提示气球或图片的对象。这通常用在您不想通过会遗留在幻灯上的备注与提
示气球解释屏幕上不同内容的时候。
 

14、当播放演示示例时没有导航。

这通常发生在您用全屏制作演示示例的时候。问题就在于导航条都是放在演示文件的底部或右侧,所以就看不见导航了。您可以使用调整大小选项
(“文件|调整工程大小”菜单) 缩小工程的大小,这样就能看见导航条;或您可以在导出工程时选择一个隐藏的控制面板。
未发布 Xamarin for Visual Studio v4.6发布,重新设计属性页和Manifest编辑器
by Harriet666 keys 分享 1500624306471
Xamarin for Visual Studio 让开发者可以在Windows上用 Visual Studio 开发原生 iOS, Android 和Windows应用程序。Xamarin for Visual Studio提供了流畅的iOS和Android的API查询,让开发者专注于应用本身。更棒的是,开发者完全可以利用一切他熟悉的开发工具进行开发,从而保证项目的高效性和持续性。

Xamarin for Visual Studio点击下载>>>

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”选项,并再次配置服务器连接。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 扫描识别工具Dynamic Web TWAIN使用教程:如何自定义扫描设置
by Harriet666 keys 分享 1512380145488
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
 
本文为你介绍Dynamic Web TWAIN中如何自定义扫描设置,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
我们上一节介绍了三种使用Dynamic Web TWAIN的方法:属性、方法和事件。Dynamic Web TWAIN的所有内置属性、方法和事件的完整列表可在我们的在线API文档中找到,以供参考。本文将更详细地介绍Dynamic Web TWAIN的功能:在开始扫描之前,您可以设置如何扫描文档,并更改扫描仪内置用户界面中的所有设置。以虚拟扫描器为例:
image017
 
您可能希望以相同的方式扫描您的所有归档文档。使用Dynamic Web TWAIN,您可以在JavaScript代码中自定义所有这些设置。例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DWObject.SelectSource();
/* You should customize the settings after opening a source */
DWObject.OpenSource(); 
/* Hide the User Interface of the scanner */               
DWObject.IfShowUI = false;    
/* Use the document feeder to scan in batches */     
DWObject.IfFeederEnabled = true; 
/* Scan in Simplex mode (only 1 side of the page) */    
DWObject.IfDuplexEnabled = false;   
/* Scan pages in GRAY */ 
DWObject.PixelType = EnumDWT_PixelType.TWPT_GRAY;
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;  
/* Start scanning */           
DWObject.AcquireImage();

本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!

未发布 MailBee.NET Objects撰写邮件教程(一):添加和删除自定义标题
by Harriet666 keys 分享 1501488557962
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
MailBee.NET Objects介绍和试用点击查看>>>
 
本文主要介绍了如何添加和删除自定义标题的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!

在新邮件中添加自定义标题,可以使用一下代码:
C#
// Create a MailMessage object.
MailMessage msg = new MailMessage();

// Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", false);

VB.NET
' Create a MailMessage object.
Dim msg As New MailMessage()

' Add a header.
msg.Headers.Add("MyHeader", "Some value for my own header", False)

你可以指定标题的名称和值,如果邮件中已经存在标题,也可以指定是否重写。当覆盖参数设置为true并且具有相同名称的标题已经存在时,它将被覆盖;否则,将添加具有相同名称的另一个标题。
开发人员还可以轻松地从邮件中删除所有自定义标题:
C#
// Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders();

VB.NET
' Remove the non-standard headers from the message.
msg.Headers.RemoveCustomHeaders()
此方法可以删除标准的标题以外的所有标题。你可以在RemoveCustomHeaders方法描述中找到标准标题列表。另一种方法是使用Remove或RemoveAt方法,也能够指定要删除的标题:
C#
// Remove the specified header.
msg.Headers.Remove("X-Special-Header"); 

// Remove the first header.
msg.Headers.RemoveAt(0);

VB.NET
' Remove the specified header.
msg.Headers.Remove("X-Special-Header") 

' Remove the first header.
msg.Headers.RemoveAt(0)
未发布 MVC界面开发包Essential Studio for ASP.NET MVC发布2017 v3丨附下载
by Harriet666 keys 分享 1503307206856
Essential Studio for ASP.NET MVC控件包是一个原生的MVC界面开发包,它包含了几乎所有企业级Web应用程序开发所需要的控件,如Grids, Charts, Gauges, Menus, Calendars, Editors等。 除此之外,该控件包还包含了可以让您的应用程序浏览和创建Excel,Word,PDF文件的高性能元件库。
 
Essential Studio for ASP.NET MVC 2017 v3点击下载>>>
 
Essential Studio for ASP.NET MVC 2017 v3通过添加StackingSplineArea图类型、图表的标尺等,拓宽了开发Web应用程序的范围。
 

PAGER

新控件

PAGER是一个新的ASP.NET MVC组件,可以将大量数据导入页面进行导航。包含一个可以自定义的UI。
主要特征:
  • 导航到所需页面的选项。
  • 导航到上一个/下一个/最后/第一页的选项。
  • 支持本地化。
  • 支持手机。
4a85afa1b17a43a49b45541b2cc18023ojpg
 

统计图表

StackingSplineArea和100%StackingSplineArea系列

增加新的系列类型StackingSplineArea和100%StackingSplineArea。
f600d199c729410ba1e1d483d113ce2dojpg
8dc2cb8b93ce40d597ee163d9f572a08ojpg


数据标签饱和度

根据背景颜色来显示数据标签文本。
042f402f0d4d4057a6fc9799c8e57fb8ojpg
 

多种样条类型

图表控件现在支持多个样条类型。
d32c1e565d954914bdd77a6df1e71786ojpg
 

数据管理器

Web API批量编辑

数据管理器支持Web API批处理操作。Web API批量编辑是一个独特的功能,添加删除和更改的请求可以一次性处理。
 

可查询的数据操作

数据管理器允许通过使用可查询数据操作来查询特定数据源。它可以执行IQueryable服务器端操作,如过滤、分页和排序。
 

图表

支持标尺

标尺已添加到图表控件中。
cd297c41cc9f40879bf1fc3346aab647ojpg
 

标签拖动限制选项

拖动标签时进行对齐,以便在调整其主体对象大小后保留其相对位置。 还添加了将标签拖动到特定位置的选项。
 

DOCIO

内容控件

DocIO能够在Word文档中创建和修改内容控件,并提供了一种设计具有以下功能文档的方法:
  • 创建一个类似表单的用户界面。
  • 防止用户编辑内容控件的内容。
  • 将内容绑定到XML数据。
104139e1a795442c84f27d7c2f98f80aojpg
 

Word转换PDF增强功能

  • DocIO现在可以在Azure网站中将Word文档转换为PDF。
  • DocIO现在可以将具有旋转图像的Word文档转换为原始格式的PDF格式。
  • DocIO现在可以将镜像边距的Word文档转换为原始格式的PDF格式。
8136f46eb918458ca988d0e2a1e25d8fojpg
 

文件管理器

根文件夹配置

支持访问应用程序的根文件夹,并在该根文件夹中显示备用文本。
ed1c240dd8374ce1ae5191026827571bojpg
 

甘特图

工作周

甘特图控制现在支持改变项目的工作周。
775852b746e5462999f379a1ffb77e60ojpg
 

验证任务栏编辑

现在可以验证任务栏编辑。
eb1b8f75d51c44be97820269c5f26f47ojpg


表格

支持页面大小下拉

通过使用页面大小的下拉列表,支持更改网格页面的大小。
2b7454324c5a4e13bb1a3e4def551b6aojpg
 

看板

状态显示/隐藏选项

显示/隐藏卡的功能。它可以使用键值对卡进行分组,并可以切换显示。
46757f7645ad4663b3dfabbddd70e35cojpg
 

PDF

压缩现有的PDF文档

减小PDF文件的大小。
7ffe56de8fd3496c9439ff1de9223e45ojpg
 

标记PDF

 
通过允许用户创建PDF/通用可访问性(PDF / UA)或符合章节508的PDF文档来提供辅助功能。
7805a042de43444b8724d9e02b2348a4ojpg
 

PDF查看器

 

手写签名

PDF查看器允许您将签名添加到任何PDF文档,并将其保存为标准PDF文件。
23357d2ea53e4af8b515e746a0016222ojpg
 

枢轴网格

按需加载(关系数据库)

按需加载允许仅在向下钻取操作时检索数据,从而提高控件的性能。
7a961866813e48be94b65e5cf0ed502fojpg
 

分页(关系数据库)

分页将大量记录分成单独的段以便轻松查看数据。它还提高了枢纽网格的性能。
63a08a8f4eea49cc8fc743c6f5e81009ojpg
 

按日期分组类型(关系数据库)

枢纽网格对日期类型字段进行分类,并根据年、季、月和日格式进行分组。
8f8bde86a206446da0bca8d448d63454ojpg
 

按日期类型排序(关系数据库)

支持以升序或降序来排序日期类型字段。
bb82fc56099244808a56acb85c0fad83ojpg
 

演示

 

支持插入列

演示文稿现在允许在PowerPoint演示文稿中的表中插入列。
bbd6b21bdacc4ed9b88887f0273b52e6ojpg
 

PDF和图像转换增强功能

 
演示文稿现在可以将具有旋转和嵌套组形状的PowerPoint演示文稿精确转换为PDF或图像格式。
3074d62f238d4ba2b7f3af672d0b02b5ojpg
 

丰富的文本编辑

拼写检查器

拼写检查器控件可以在RTE中的iframe元素上呈现,从而很容易找到拼写错误,并在上下文菜单和对话框模式中提供建议。在对话模式中,将显示一个包含建议单词列表的下拉菜单。 在上下文菜单模式下,当右键单击拼写错误的单词时,将出现具有拼写建议的上下文菜单。
e276540b869a4e808b0ccb3a324718b1ojpg
9f51694f512e4a16b4986c48a93494abojpg


时间表

在线添加/编辑预约

用户现在可以创建或编辑预约。
d9126e4ca35c4045b145fca607cc59ffojpg
 

拼写检查

拼写检查同步请求

拼写检查控件提供了通过发送同步请求来检查拼写错误的选项。
 

错误词建议

拼写检查控件提供了将拼写错误的单词传递给客户端的选项,然后检索建议的单词以进行更正。
 

电子表格

支持不连续范围的图表

电子表格控件现在可以将串联的图表导入不连续的范围或一系列点。
48fcc74cbb9244649d4a05f576f0cbd6ojpg
 

树型网格

文字换行

树型网格控件现在支持在单元格中文本换行。
cb2420d796e44b30b6ad7a8ae047729bojpg
 

按需加载

树型网格控件现在使用“按需加载”方法来支持数据绑定。
 
5e04a46c08274b3eb7f8897b42c16147ojpg
27e87b959dbf4890b05ef905e8198ca6ojpg

 

命令列

现在可以使用树型网格中的命令列执行CRUD操作和自定义操作。
6159700e81d04aaebe2468feed7e5673ojpg
2bded05aad0e4eeb81502460adb8a190ojpg

 

打印

现在可以打印树型网格的内容。
5aff4cc45e6b43788428227ebe4e304dojpg
 

编辑模板

树型网格控件使用编辑模板支持使用自定义编辑器编辑单元格值。
b6decf948197447e86e8f37f704467feojpg
 

列优先

现在使用列优先级响应树格网格列。
32eba02ddd244b9db7b1d23cf9ac988cojpg
 

TREEMAP

文字溢出

支持Treemap控件中的标签文本溢出。
1e48300c56e343d591d7f41ddd865f9dojpg

XLSIO

过滤器功能增强

  • XlsIO现在允许用户通过文本、数字、单元格颜色和字体颜色对过滤的数据进行排序。
  • 提供基于自定义文本过滤器过滤数据的功能。
319473abe59c41dd917560a7d894029aojpg
未发布 矢量图形引擎库VectorDraw Developer Framework v7.7012.0.2发布丨附下载
by Harriet666 keys 分享 1499325700094
VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
 
VectorDraw Developer Framework点击下载>>>
 
VectorDraw Developer Framework(VDF)v7.7012.0.2更新内容:

WebJS

新增需求(7.7012.0.1)
  • 70001107 支持vdPolyface对象的3d形状和GradientColors
  • 70001111 获取实体边界框
漏洞(7.7012.0.1)
  • 70001098 vdSelectionModified事件返回不正确
  • 70001108 具有厚度的vdPolyline的osnaps无法显示

Engine

新增需求(7.7012.0.1)
  • 70001096 无法选择带有窗口选择的多面体
  • 70001105 改进GradientColors
  • 70001106 cmdMultiline自我解析
漏洞(7.7012.0.1)
  • 70001102编辑文字时EditText的问题
  • 70001109如果在没有GetGripSelection方法的情况下添加选择,则不会引发GripModified事件
  • 70001110 Mtext呈现不正确
  • 70001113 3D模式中的文本线型显示错误

试用、下载、了解更多产品信息请点击"咨询在线客服"  

VectorDraw File Converter

未发布 Oracle再次被曝漏洞,影响33万用户
by Harriet666 keys 分享 1517562136241

来自ERPScan公司的安全专家们发现了这个编号为CVE-2018-2636的漏洞。这个漏洞来自Oracle MICROS系统内的销售点(Point-of-Sale)终端,可能被利用来从硬件内无需验证地读取敏感资料。

ERPScan发布的漏洞分析内这样写道:“CVE2018-2636标记了一个Oracle MICROS系统内的文件夹遍历时暴露出的漏洞。如果公司内部有人得到了某个关键文件夹的路径,他就能从一台终端中偷取许多关键的资料,包括服务日志以及一些包含着用户名和密码的信息,甚至可以使用这些密码去连接数据库,获得更多关于服务器端之类的信息。”

“攻击者们能够获得数据库用户名以及哈希过后的密码,将密码暴力破解然后获得数据库内部商业资料的所有权限。而且还有许多不同的利用这个漏洞的攻击方式,导致整个MICROS系统处在危险之中。”

Oracle的MICROS系统在世界范围内拥有超过330000的现金注册用户,涵盖了许多食物卖场(200000+)以及酒店(30000)。

研究者还解释道,对一个本地攻击者来说要获取到MICROS销售点终端的URL路径是很简单的。

例如,他可以找到一个商场的电子秤或者其他使用RJ45点硬件,将其连接到Raspberry PI(树莓派),然后扫描整个内部网络。另一个选项是可以通过这些暴露在因特网上的设备来定位。截止本稿完成之时,共有139个MICROS销售点系统暴露在因特网上,其中大多数位于美国及加拿大。

Oracle33

这并不是MICROS首次遭到质疑,2016年时就曾经有黑客通过客户售后支持中心入侵MICROS系统。

分析报告最后总结道:“如果你想保护你的系统免受网络攻击的危害,你必须持续地保持更新,安装所有安全补丁。在这个案例中,特指Oracle在2018年1月的更新。”


 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA