随笔分类 -  Delphi心得

摘要:MoveMemory、CopyMemory 的功能类似, 都是复制内存, 都是调用 Move 过程;MoveMemory、CopyMemory 操作指针; Move 操作实体.还要注意, 它们的参数位置不一样!{例1}var buf1,buf2: array[0..9] of AnsiChar;b... 阅读全文
posted @ 2014-09-07 14:23 sonicit 阅读(1279) 评论(0) 推荐(0)
摘要:XLSReadWriteII V4.0 下载地址 http://www.axolot.com/components/download.htmCrack文件 下载注:Crack文件 来自互联网搜索,此文件仅用于个人交流试用,版权归原厂商所有,如果喜欢请购买正版。 阅读全文
posted @ 2008-11-13 12:35 sonicit 阅读(2091) 评论(3) 推荐(0)
摘要:[代码] 阅读全文
posted @ 2008-09-06 16:31 sonicit 阅读(436) 评论(0) 推荐(0)
摘要:1、PChar到string的转换可直接赋值,如:X: string;Y: PChar;X := '1';Y := '2';X := Y; // X=22、string到PChar的转换一般情况下都可以用PChar('')来强制转换Y: PChar;Y := PChar('2'); //强制转换。但有些情况下如果强制转换,会有字符被截取,结果不完整,如:functionReplaceString(... 阅读全文
posted @ 2008-06-16 10:43 sonicit 阅读(4382) 评论(0) 推荐(0)
摘要:varPageLine:integer;//现在打印到第几行PageMaxRow:integer=15;//空行行数procedureMasterData1OnBeforePrint(Sender:TfrxComponent);beginPageLine:=<Line>modPageMaxRow;if(PageLine=1)and(<line>>1)thenEngin... 阅读全文
posted @ 2008-06-11 16:27 sonicit 阅读(2022) 评论(4) 推荐(1)
摘要:function IsRuning(const AObjectName: string): Boolean;{AObjectName='aaa.exe'} var lppe : TProcessEntry32; sshandle: Thandle; found: boolean; begin Result := False; sshandle := CreateToolhelp... 阅读全文
posted @ 2008-06-10 12:03 sonicit 阅读(1122) 评论(0) 推荐(0)
摘要:人民币大写金额转换函数 function MoneyToCn(ANumberic: Real): string; const s1: string = '零壹贰叁肆伍陆柒捌玖'; s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万'; function StrTran(const S, s1, s2: string): string; begin Result := Stri... 阅读全文
posted @ 2008-06-03 21:28 sonicit 阅读(3264) 评论(0) 推荐(0)
摘要:创建一张空表: Sql="Create TABLE [表名]" 创建一张有字段的表: Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200)) 字段类型: 2 : "Smal... 阅读全文
posted @ 2008-05-20 09:16 sonicit 阅读(749) 评论(0) 推荐(0)
摘要:判断AC数据库中的表或查询是否存在的SQL: SELECT Count(*) AS RTab FROM MSysObjects WHERE (((MSysObjects.Name) Like '需判断的已知表名或查询')); 阅读全文
posted @ 2008-05-19 16:53 sonicit 阅读(2752) 评论(1) 推荐(0)
摘要:经过一个多月的系统开发,终于在5.1后最终完成。如果有兴趣下载下来用用。 下载地址 阅读全文
posted @ 2008-05-11 11:04 sonicit 阅读(1305) 评论(7) 推荐(0)
摘要:假设有如下Frame窗体 : FromFrame,levelFrame 一、如果需要根据类名动态生成它们,先在各frame窗体的pas中注册它们各自的类。 如下: initialization RegisterClass(TFromFrame); initialization RegisterClass(TlevelFrame); 二、在调用者的PAS中,引用它们 如: uses ufrom... 阅读全文
posted @ 2008-05-10 14:40 sonicit 阅读(1324) 评论(0) 推荐(0)
摘要:procedure DelFiles(fileName: string); var SearchRec: TSearchRec; begin ChDir(ExtractFilePath(fileName)); //进入文件路径 FindFirst(fileName, faAnyFile, SearchRec); repeat if FileExists(SearchRe... 阅读全文
posted @ 2008-04-21 09:10 sonicit 阅读(1511) 评论(0) 推荐(0)
摘要:原本在开发一个报表插件,因为需要远程传输,因此需要序列化报表,序列化FastReport有两种方式, 1.仅序列化数据,由客户端接受到数据,并呈现报表,这种方式需要在客户端存储报表格式文件xxx.Frf, 2.序列化FastReport的结果集(即,得到数据后可以存成的frp文件),这样frf文件不需要在客户端存在.我倾向于采用这种方式,毕竟客户端越轻越好. 简单打开一个... 阅读全文
posted @ 2008-04-20 21:54 sonicit 阅读(1939) 评论(4) 推荐(1)
摘要:在命令行模式(CMD)下执行时,想获得执行参数,用以下变量: ParamCount:参数个数 ParamStr:为参数数组 如果想在执行完一个操作后在命令行作出相应提示,就应该在相应位置放入{$APPTYPE CONSOLE}编译指令。 {$APPTYPE CONSOLE} Writeln('测试'); {$APPTYPE CO... 阅读全文
posted @ 2008-04-20 14:13 sonicit 阅读(2814) 评论(0) 推荐(0)
摘要:论坛上很多朋友(也包括我)提到ActiveForm的发布问题,都没有得到很好的解决。 下面是本人开发ActiveForm的一点经验,拿出来跟大家分享,开发环境为 Win2000Server,IIS5.0,BCB5.0,Delphi也差不多的了。 先说说程序的开发,如果是从一般应用程序移植而来,注意所有的窗体(除了主窗体)都要动态创建,工程的选项里面是没有Auto-Create Fo... 阅读全文
posted @ 2008-04-20 09:06 sonicit 阅读(1664) 评论(0) 推荐(0)
摘要:安装前请册除原有的FR控件。 1. "Tools|Environmet options..."中的"Library"标签面下"Library path"添加FastReport路径。 FastReport\FastQB FastReport\FastScript FastReport\Source FastReport\Source\BDE FastReport\... 阅读全文
posted @ 2008-04-18 22:22 sonicit 阅读(7971) 评论(3) 推荐(0)
摘要:开发WEB应用系统通常都会遇到报表打印问题。简单应用可利用IE的页面打印功能,利用HTML标签控制格式来实现。但复杂的业务型应用系统,报表不仅是组成应用的 重要部分,还常常是相当复杂的。现在很多应用系统都要求提供自定义报表的功能——即客户可以自行设计、修改报表。 在C/S结构系统中,报表问题有很多成熟的解决方法。如DELPHI开发工具不仅自带有报表控件,还可以利用第三方控件来实现... 阅读全文
posted @ 2008-04-18 20:10 sonicit 阅读(1535) 评论(1) 推荐(0)
摘要:此版本较0.01预览版已经有了脱胎换骨的变化,主要表现在以下几个方面: 1.对程序的结构进行了调整,将原来的ntutils.dcu分成fcall.dcu、halfcall.dcu和macros.dcu三个单元,分别对应ntoskrnl.exe、hal.dll以及DDK中的宏定义,虽然麻烦了点儿,不过结构应该更清晰了; 2.新增加winioctrl.dcu和native.dcu两个单... 阅读全文
posted @ 2008-04-15 09:12 sonicit 阅读(1343) 评论(2) 推荐(0)
摘要:上篇教程我们介绍了驱动开发中如何使用系统内存堆,这一节让我们看看后备列表的使用。堆管理器管理着系统和用户堆,它把堆空间分为相同尺寸的块(block)。堆管理器会根据堆分配请求,去选择一个合适尺寸的未使用的块。显然,这个过程需要点时间。如果你需要固定尺寸的内存块,但是你事先并不知道它的大小和使用频率,这样的话为了性能的原因,你还是使用后备列表(Lookaside Lists)吧,后备列表是只有内核模... 阅读全文
posted @ 2008-04-15 09:07 sonicit 阅读(865) 评论(0) 推荐(0)
摘要:通过对前面几篇教程的学习,相信大家已经掌握了一些用Delphi开发Windows驱动程序的基础知识,从现在开始我们来了解一些必要的底层技术,首先我们要了解的就是内存管理方面的知识。 内存管理器给用户进程提供了大量的API。这些API可以分为三类:虚拟内存函数、内存映射文件函数和堆函数。内核的成员(包括驱动程序)有很多高级的工具。例如:驱动程序能够在物理地址空间里分配一个连续的内存。... 阅读全文
posted @ 2008-04-15 09:00 sonicit 阅读(975) 评论(0) 推荐(0)