- 博客(120)
- 资源 (9)
- 收藏
- 关注
原创 CAD组件技术分析——概述
在计算机辅助设计领域,Autodesk有着举足轻重的作用,拥有较大的影响力。因此,基于Autodesk的产品输出的图纸(dwg)或模型(rvt)有很多的读写需求;相应地,各自组件技术也都支持这些专有格式的读写。本文的目的,是希望通过分析对比各类主要的组件技术,为开发者们提供参考。
2021-12-20 14:29:37 1435
原创 GridControl应用点滴之控制单元格读写
在前面的文章有提到ReadOnly和AllowEdit可控制单元格的读写。 但此法只会应用于整列的单元格,有时我们会需要根据实际数据对象状态来决定读写权限。 这时我们可以通过GridControl.View中的ShowingEditor事件来处理 private void DataViewOnShowingEditor(object sender, S
2017-06-21 16:05:58 838 1
原创 GridControl应用点滴之Combobox
应用过程中有需要使得单元格具备Combobox的风格。 下面就应用方式,分两种状况说明:XAML代码和程序代码 XAML代码: <dxe:ComboBoxEdit x:Name="PART_Editor"
2017-06-21 15:56:57 1925 1
原创 GridControl应用点滴之ReadOnly Vs AllowEdit
在GridColumn中有两个控制读写属性:ReadOnly和AllowEdit 主要区别在于: ReadOnly为True时,则仍可显示单元格的编辑器,可以在编辑中进行诸如复制文字操作等; AllowEdit为True时,则在点击单元格时,不显示编辑器,也就无法进行诸如复制文字操作等。
2017-06-21 15:35:10 1376
原创 GridControl应用点滴之选中数据行事件
在很多应用场合下,我们期望选中GridControl中的数据行,通过“选中变化事件”来联动处理后续动作。 GridControl提供有两个事件可供我们处理 1、GridControl的SelectionChanged 2、GridControl.View的FocusedRowHandleChanged 前者,在GridControl选择行模式为单行模
2017-06-21 15:29:48 6168
原创 GridControl应用点滴之数据绑定
如上XAML配置代码,是一段设置GridControl列的代码。其中Binding段,特别设置了Mode为TwoWay。而实际上,Mode默认为Default,这种状况一下,程序会自动根据Property设置读写权限来决定。倘若没有显式设置为TwoWay,那么运行起来后的效果是:单元格无法编辑。以上测试效果是在DevExpress15.2中得出的结论。
2017-06-21 15:18:03 804
原创 .net SQLite批量写入数据性能问题
背景: 在初始化数据库时,需要批量写数据到数据库中。通过性能分析工具发现,在执行插入数据命令时,其性能消耗超出预期。解决: 通过查询SQLite相关资料 大批量写入SQLite数据库时,前后要加上这段代码,因为SQLite有针对这类事务操作优化SQLiteCommand sqlComm;sqlComm = new SQLiteCommand("begin",
2017-03-22 11:38:41 892
原创 几个ReportViewer性能问题排查经历
1、ReportViewer.SetDisplayMode(DisplayMode.PrintLayout);经过测试,当设置为打印布局时,性能相对较差。2、没有数据的情况下,载入报表模板也需要5秒或更多时间通过拦截FirstChanceExpception,发现不断地产生异常“ 请求“System.Security.Permissions.SecurityPermission,
2017-03-22 11:04:29 1978
转载 Delphi中的匿名方法和闭包
来源于此链接:http://interactiveasp.net/blogs/spgilmore/archive/2010/06/17/anonymous-methods-and-closures-in-delphi-2010.aspxWhat are anonymous methods? Anonymous methods are a new language feature int
2015-09-08 10:53:29 3013
原创 一个小项目的技术选型
帮人做一个小小的在线登陆验证模块。 需求背景:大约有200人在线的状况,客户端有个登陆界面。 很简单的一个项目,主要分:通讯模块和服务模块。 客户端采用Delphi开发,通讯方面考虑:Midas技术或Webservice。webservice效率上相比midas要低;抛开WEB防火墙的苛刻要求,midas中的SocketConnection不论
2015-06-15 14:36:54 1105
转载 Sessions, Desktops and Windows Stations
Today we are going to briefly go over the basics of some concepts that can be pretty confusing even at the best of times - Sessions, Desktops and Windows Stations. So let's dive right in ...A sessi
2014-07-29 15:55:32 1443
转载 如何在指定的终端会话中启动程序
First we obtain the user’s primary access token with the WtsQueryUserToken API call. To call this function successfully, the calling application must be running within the context of the LocalSyste
2014-07-29 09:26:38 2423 4
原创 几个DataSet数据导出到XML Word Excel TXT HTML的函数
procedure ExpXML(DataSet : TDataSet; Arq : string);var i: integer; xml: TXMLDocument; reg, campo: IXMLNode;begin xml := TXMLDocument.Create(nil); try xml.Active := True; D
2014-04-25 14:30:17 1915
原创 虚拟空间地址与页面号的转换
当程序中出现内存写入访问错误时,ExcetionRecord.ExceptionInfomation数组第一个元素标识为写入;若是读取错误时,则 标识为读取状态。第二个元素,则是当前读取或写入的虚拟空间地址。在某些状况下,我们需要知道出错的虚拟地址所对应的虚拟内存页面,然后针对此页面做一些处理。那么如何由当前虚拟地址计算出对应的虚拟内存页面? delphi代码:va
2014-01-16 14:52:53 3528
原创 关于OOD的两点总结
OOD对现在的程序员来说并不陌生,甚至在不知不觉中使用着。 OOD,面向对象设计,关键在于对象的“设计”。一个对象,通常是数据+方法的封装,public对外接口,private或protect内部实现细节,必要情况下public出ReadOnly内存成员状态。 对象设计的过程,会碰到各种场景、问题。从而总结出各种“设计模式”。对于具体的各种设计模式和对象设计原则
2014-01-13 11:04:33 837
原创 监视网卡状态
基础单元unit uAdapterInfo;interfaceuses Classes, SysUtils;const MAX_INTERFACE_NAME_LEN = $100; ERROR_SUCCESS = 0; MAXLEN_IFDESCR = $100; MAXLEN_PHYSADDR = 8; MIB_IF_OPER_STATUS_N
2013-12-04 15:04:38 3353 2
转载 Addressing pointers
很好的一份文档,值得一读,原文链接:http://rvelthuis.de/articles/articles-pointers.html______________________________________________________Pointers are like jumps, leading wildly from one part of the data structu
2013-11-26 11:23:11 1871
转载 快速目录和文件遍历
原文地址:http://www.cnblogs.com/BigTall/archive/2009/10/09/1579432.html遍历一个目录或者磁盘中的所有内容,常用的算法有两种:深度优先和广度优先。具体实现的时候,每种算法都可以有多种实现,一般来说,有递归和非递归两种。因为工作需要,所以bigtall实现了几种算法的对比。首先实现的是传统的深度优先的递归遍历算法,因为非
2013-11-25 16:02:35 2560
转载 Optimize file system operations
I shouldn't have to pinvoke to get the best out of the local and remote filesystems.Here notes of various optimizations .NET could be performing, pooled from various forums./* * On Windo
2013-11-25 15:31:05 1216
转载 Compare Windows* threads, OpenMP*, Intel® Threading Building Blocks for parallel programming
原文:http://software.intel.com/en-us/blogs/2008/12/16/compare-windows-threads-openmp-intel-threading-building-blocks-for-parallel-programming/This is an interesting topic when we plan to implement
2013-09-22 10:30:00 990
翻译 IDE环境中的系统变量
最近在研究IDE开发环境的快速配置的工具。因很多情况下,一个项目的开发环境带有多种第三方控件以及自身的开发库,而每当环境或系统崩溃时,面临着耗时的开发环境重建过程。这就是要给开发组内配备的一个工具。 环境配置,其中关键的一环是,控件路径的统一。但是有时每台机器,控件或开发库所在盘不同。这就需要系统变量来隔离绝对路径的变化。以下是老外对系统变量的详细说明,还不错: 原文链接:htt
2013-09-05 13:59:38 1326
转载 线段相交算法——平面扫描
在老外网站看到的完整介绍,很详细,原文链接:http://geomalgorithms.com/a09-_intersect-3.htmlSometimes an application needs to find the set of intersection points for a collection of many line segments. Often these appli
2013-09-03 11:23:20 10514 1
转载 使用远程调式器追踪源码
很多时候,程序在客户机或测试工程师机器上,运行会出现错误,但是换个环境就无法重现。delphi引入的Remote Debugger替我们很好地解决此问题。Using the Remote Debugger with Delphi 2010 EditDelphi 2010 is not able to load debug informations from remote
2013-07-30 12:16:38 1118
翻译 解决:卸载Delphi2009出现错误,错误代号为2343
今天碰到此问题,在CodeGear找到解决问题的方法:http://support.codegear.com/article/39559Abstract: You receive the Error 2343 while trying to uninstall/repair an installation of RAD Studio 2009 on a 64-bit version of Wi
2013-07-29 19:25:07 2393
转载 How to Run the OnScreenKeyboard
From a 32Bit application, Windows makes sure that you cannot access the Windows\System32 folder because this is the place where Windows has all its 64bit DLLs and other files. Since a 32Bit app cannot
2013-05-13 10:57:58 1257
原创 TStringList性能调优
改进目标是针对IndexOf效率,主要有两面: 1、设置Sorted属性 当Sorted= true,那么IndexOf则会调用Find二分查找法;当Sorted=False,则会从头比到尾,直至找到。 显然,Sorted = True可以取得较好的性能。 2、改进Find方法 IndexOf依赖于Find,
2013-04-26 16:12:12 1352
原创 《移动云计算应用开发入门经典》书评
虽然一直在从事传统软件的开发,但一直在关注着云计算领域的技术。谈到移动云计算,为了便于理解,不得不提一下云计算。 云计算支持便捷地对可配置计算资源的共享池(比如网络、服务器、存储、应用程序和服务)进行按需网络访问,这些资源可以通过最少的管理工作或服务提供者交互来快速予以配置和发布。 有三种基本的云服务模型:基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)
2013-02-25 21:30:38 979
转载 资料重温——自定义对话框(来源于torryPages)
{ Sometimes we need to replace some text or something other in standard Windows Open/Save dialogs. Unfortunately, Delphi's dialogs components don't provide the access to all controls placed on
2013-01-16 15:46:15 782
原创 GetFullPathName和GetLongPathName
这两个都是kernal32.dll提供的API。 参考MSDN说明: GetFullPathName: 用于获取某文件的全路径和文件名称;不推荐在多线程应用中使用;该函数不检查返回的路径是否合法或存在;也用于计算路径中的部分值(比如取父目录)。 GetLongPathName: 转换指定路径为长路径格式(相对短路径ShortPath : dos格式而言);在多数
2012-11-27 15:15:46 6517
原创 编写DPK时的注意点
今天在给程序分包时,编译某dpk碰到了些问题。 1、编译该dpk,出现大量的warning,这些warning基本上是关于某某单元被隐式引用进来; 2、在编译该dpk,出现错误:E2213: Bad packaged unit format: %s.%s (Delphi) 其中问题1,也会导致安装失败,因为某单元可能已被包含在其它bpl中,所以dpk必须显式引用对
2012-11-21 10:29:36 1666
原创 delphi中一个TLabel显示样式问题(Transparent)的探寻
昨天,一位同事在处理某产品软件时,碰到此类状况:某控件自带的进度提示窗体上的TLabel背景不透明,而查看源码,实际上TransParent是为True的。 问题看起来很奇怪,因为同样控件在其它类产品软件,使用状况良好。 后来,我通过debug dcu跟踪VCL源码,发现:此软件在加载控件阶段,处理TLabel.Transparent相关设定(ControlSt
2012-05-22 10:45:26 2038
转载 Class RTTI
(ZT) Class RTTIOriginal URL: http://davidglassborow.blogspot.com/2006/05/class-rtti.htmlClass RTTI This post follows up my previous one about RTTI in Delphi, inspired by Hallvard's 2 pos
2012-04-20 12:24:07 829
原创 delphi实现数字签名
上周,另一部门需要支援解决数字签名问题。但因为之前也没做过,现学现卖。此方面可参考的中文资料较少,特作分享,方便查阅。 有关数字签名的概念、原理,这里就不做介绍了,请自行google或百度。 利用证书对文件进行签名,从证书来源看,可分为两种:1、软证书:就是将*.pfx文件导入到系统中,这意味着,只要登录到PC中的用户,均可以使用该证书;2、硬证书:通常
2012-03-19 10:23:57 9404 1
转载 Alpha Blended Splash Screen in Delphi - Part 2
In this the second, and concluding, part of our experiments with Alpha Blended forms in Delphi, I will modify the demo application to use a compressed alpha transparent PNG image instead of a BMP. I w
2012-03-13 17:39:59 2272
转载 Alpha Blended Splash Screen in Delphi
In this first of two articles, I will demonstrate how to easily create an alpha blended translucent splash screen using Delphi.Although I use Delphi 2007 and PhotoShophere, the techniques apply eq
2012-03-13 17:31:00 2671
翻译 几种检验素数的方法
1、埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种公元前250年由古希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。 步骤详细列出算法如下:列出2以后的所有序列:
2012-02-14 12:25:57 12604
原创 一个关于多线程同步问题的分析
设有 主线程M_T,子线程:S_T1、S_T2、S_T3。子线程的任务是执行数据统计,并将统计进度反馈给主线程。 这里涉及到主线程的UI操作。很多人可能会考虑采用synchronize。但是,在我目前的程序中,主线程更多的工作是画图及数据生成的作业,特别是画图方面,不希望线程过于忙碌;也不希望子线程也一直卡在sychronize,而影响统计效率。 所以,这里采用
2011-12-23 15:26:21 815
转载 Delphi 2009 – String Performance
原文链接Andreas Hausladen generously took the time to make some detailed comments on my previous post, one of which prompted me to throw together some further performance test cases forString types
2011-12-07 17:07:43 951
原创 程序中GDI资源占用与泄漏的初步分析
从占用上看,1、程序中是否存在较多的imagelist存放图标;2、程序的可视化控件是否存在过多的DoubleBuffer; 从泄漏角度看程序中的GDI API调用是否符合规范,及时释放句柄;GDI资源是否都得到正确维护; 泄漏分析工具: AQTime 虽然有这个工具,但只能确认是否存在泄漏。离定位“问题代码”,还有很长路要走,毕竟是要在几十万行代码中寻找
2011-12-06 12:36:02 1076
运行时Object Inspector
2014-06-26
TAPPBar任务栏
2014-06-16
TQRMultiExport - PDF and Image exporter
2010-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人