
Delphi
文章平均质量分 61
sforiz
Opportunity to be prepared in favor of the people!
展开
-
delphi 用 GetEnvironmentVariable 获取常用系统环境变量
用 GetEnvironmentVariable 获取系统变量来得快.--------------------------------------------------------------------------------//譬如 %WINDIR% 是表示转载 2011-08-15 07:33:48 · 2095 阅读 · 0 评论 -
malloc calloc realloc,new区别联系以及什么时候用
三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib.h函数库内它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL m转载 2012-09-06 16:49:08 · 735 阅读 · 0 评论 -
资源文件在Delphi编程中的应用
段东宁 计亚南(郴州职业技术学院, 湖南 郴州 423000) 摘要: 资源文件是一种能有效地组织、管理和使用资源的文件形式,在软件开发中有着广泛的应用。本文详细介绍了在Delphi编程中资源文件的创建方法和使用技巧。关键词:Delphi,资源文件,TResourceStream对象,MCISend String 函数The Application of Resource F转载 2012-09-06 16:48:32 · 2760 阅读 · 0 评论 -
VCL 窗口函数注册机制研究手记,兼与 MFC 比较(转)
VCL 窗口函数注册机制研究手记 ,兼与 MFC 比较By 王捷 cheka@yeah.net ( 转载请保留此信息 ) 这个名字起的有些耸人听闻 ,无他意 ,只为吸引眼球而已 ,如果您对下列关键词有兴趣 ,希望不要错过本文 :1. VCL 可视组件在内存中的分页式管理 ;2. 让系统回调类的成员方法转载 2012-10-10 17:22:45 · 1107 阅读 · 0 评论 -
Delphi对象的方法能定义- 静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)
对象的方法能定义成静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。请看下面 的例子: TFoo = class procedure IAmAStatic; procedure IAmAVirtual; vi转载 2012-09-23 11:34:20 · 3113 阅读 · 0 评论 -
Delphi 快捷键
原文来自(http://www.cnblogs.com/del/archive/2007/12/04/982851.html)分类快捷键解释备注组件设计类Escape选择当前组件容器 Shift + Click选择多个组件;选择窗体 Tab选择下一个组件 Shif转载 2012-07-02 21:02:09 · 698 阅读 · 0 评论 -
通过崩溃地址找错误行数之Delphi版
原地址:http://topic.youkuaiyun.com/t/20041130/12/3601416.htm以前看了"通过崩溃地址找错误行数之VC版"那时候还没用DELPHI,昨晚刚好又看到了,所以就试了一下DELPHI的,与大家共享。^_^什么是MAP文件?简单地讲,MAP文件是程序的全局符号、源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方、任何时候使用,不需要有额外的程序转载 2011-10-27 16:01:33 · 854 阅读 · 0 评论 -
Delphi判断文件是否正在被使用
首先,我们先来认识下CreateFile函数,它的原型如下HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读) DWORD dwShareMode, //共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttribu转载 2011-10-30 14:28:15 · 2035 阅读 · 0 评论 -
在DBGrid中可选中行而又可进入编辑状态
如何在DBGrid中选中行,而又让它可以进入编辑状态? 也许你会问我这有什么用?呵呵,做数据库应用的兄弟们会深有感触,当用DBGrid显示的字段过多时,用户不得不拉动最下面的滚动条,去看最右边的东西,如果没有设置DBGrid->Options[dgRowSelect],那么,拉到最右边之后,很有可能看串行的;如果设置了DBGrid->Options[dgRowSelect],则在拉到最右边之转载 2011-12-22 10:27:32 · 4135 阅读 · 0 评论 -
一个更加强大易用的XML库 -- NativeXML
原来一直使用Delphi自带的TXMLDocument类来进行XML文件的读写,虽然麻烦了一点,但功能上来说还不错。只是有一个地方让我实在不舒服 - 每次创建TXMLDocument类实例的时候必须传入TComponent对象,这就意味着,如果我把对XML文件的读写封装到一个类里面,那么在创建这个自定义类的时候就必须也传入TComponent对象。 我尝试过很多方法,但是都无法避免,最后试着转载 2012-02-03 11:10:28 · 1005 阅读 · 0 评论 -
直接访问WebBrowser控件中的HTML源码
为了实现在自己的程序中显示HTML文档,我们一般采用IE(Internet Explorer本文中简称为IE)发行时附带的一个ActiveX控件TWebBrowser。这个控件使用和IE相同的内核,功能强大,并从Delphi5开始,正式得到Inprise公司的支持,取代了原来的那个THTML控件,成为Delphi中显示HTML文档的首选控件。但是在实际编程过程中,我发现这个控件提供的功能有转载 2012-02-03 11:01:49 · 756 阅读 · 0 评论 -
CreateThread使用(六个参数介绍)
function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; {入口函数} lpParameter: Pointer;转载 2012-07-02 22:36:41 · 45229 阅读 · 2 评论 -
Delphi @ ^
@:取址运算符;varint:integer;p:^integer;new(P);int:=24;p:=@int;dispose(P);^:指针的引用解析操作符;varpint:^integer;new(pint);showmessage(inttohex(integer(@pint),8);pint^:=$ff;showmessag转载 2010-04-03 10:12:00 · 1509 阅读 · 0 评论 -
Delphi中虚拟方法表和动态方法表
Delphi中所有类都直接或者间接派生于TObject,一个TObject的实例:Object(对象)实际上是一个4字节的指针。该指针指向对象的实际数据区(Object Data)。对象的数据区划分很多的小区域,这些区域分为两部分:(1)前4个字节存放一个指针,该指针指向另一个地址区域。(2)其余小区域分别存放对象的各种数据成员。 前四个字节字节的指针指向另一地址区域即“虚拟方法表转载 2012-09-23 08:48:26 · 1903 阅读 · 0 评论 -
基于Delphi的接口编程入门
为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如转载 2012-10-23 20:07:45 · 820 阅读 · 0 评论 -
Delphi 指针
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。 以下内容分为八部分转载 2014-04-20 09:44:30 · 984 阅读 · 0 评论 -
DateUtils所有时间函数
unit DateUtils;interfaceuses SysUtils, Math, Types;// 把完整时间分解成日期和时间两部分function DateOf(const AValue: TDateTime): TDateTime;function TimeOf(const AValue: TDateTime): TDateTime;// 判断是否有效时间fu转载 2014-07-26 07:52:11 · 4757 阅读 · 0 评论 -
Delphi DateUtils时间单元
Uses DateUtils //时间单元,非常有用。记得引用这个单元,不然不能用。CompareDate 比较两个日期时间值日期部分的大小 CompareDateTime 比较两个日期时间值的大小 CompareTime 比较两个日期时间值时间部分的大小 DateOf 去除日期时间值的时间部分 DateTimeToJulianDate 转换日期时间值为儒略日 DateTimeToMod转载 2015-07-29 10:27:51 · 4266 阅读 · 0 评论 -
Delphi 快捷键
1SHIFT+鼠標左鍵先選中任一控件,按鍵後可選中窗體(選中控件後按Esc效果一樣)2Shift+F8調試時彈出CPU窗口。3Shift+F10等于鼠標右鍵(Windows快捷鍵)。4转载 2011-08-12 15:52:13 · 725 阅读 · 0 评论 -
Delphi ISO collection
CodeGear RAD Studio 2007 Ultimate Edition(With Update4) v11.0.2902.10471http://altd.codegear.com/download/radstudio2007/CodeGearRADStudio2007_Dec2007.isoEmbarcadero RAD Studio 2009 Ultimate Edit转载 2017-09-25 17:56:48 · 1278 阅读 · 0 评论 -
Delphi获取身份证号码验证码算法
18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 1、地址码 表示编码对象常住户口所在县(市、旗、区)的行政区域划分代码,按GB/T2260的规定执行。2、出生日期码 表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月原创 2013-09-01 22:20:40 · 2696 阅读 · 1 评论 -
Delphi的TFileStream文件流读写
TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:TFileStream: 文件流TStringStream: 字符串流TMemoryStream: 内存流TResourceStream: 资源文件流THandleStream: 是 TFileStream 的父类、TStream 的子类TCustomMemoryStream: 是 TMemoryStre...转载 2012-10-25 15:50:02 · 7329 阅读 · 0 评论 -
BCB和Delphi添加Windows服务的描述性文字
Delphi:var reg: TRegistry;begin reg := TRegistry.Create; try with reg do begin RootKey := HKEY_LOCAL_MACHINE; if OpenKey('SYSTEM\CurrentControlSet\Services\' + Name, false) the原创 2013-03-14 15:52:16 · 1444 阅读 · 0 评论 -
Delphi、Python使用CGI Apache的配置文件需要修改的事项
httpd.conf: Options ExecCGIDelphi:LoadModule isapi_module modules/mod_isapi.soAddHandler isapi-isa .dllPython:AddHandler cgi-script .py原创 2013-04-17 14:08:18 · 1042 阅读 · 0 评论 -
Windows下Critical Section、Event、Mutex、Semaphores区别
临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区包含两个操作原语转载 2013-07-30 17:11:23 · 701 阅读 · 0 评论 -
Delphi中For In 语法应用实例
一、遍历 TStringsvar List: TStrings; s: string;begin List := TStringList.Create; List.CommaText := 'aaa,bbb,ccc'; for s in List do ShowMessage(s); List.Free;end;二、遍历转载 2013-08-21 09:47:20 · 3543 阅读 · 0 评论 -
Delphi异常处理与调试
Delphi异常处理与调试 3.1 Delphi异常处理3.1.1 异常处理的意义所谓异常,可以理解为一种特殊的事件。当这种特殊的事件发生时,程序正常的执行流程将被打断。异常处理机制能够确保在发生异常的情况下应用程序不会中止运行,也不会丢失数据或资源。Object Pascal定义了大量的异常处理对象,使应用程序几乎能够处理所有的异常情况,并且对异常处理的语法作了简化。转载 2013-08-27 10:25:19 · 7573 阅读 · 0 评论 -
Delphi的URLEncode
uses HTTPApp;function URLEncode(const AStr: string): string;const NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '#', '$', '.', '_', '-', ':', '/', '&', '=', '?'];var Sp, Rp: PChar;begin Se转载 2017-11-21 10:48:01 · 2501 阅读 · 0 评论 -
Delphi 的运算符列表
Delphi 的运算符列表分类运算符操作操作数结果类型范例算术运算符+加整数,实数整数,实数X + Y转载 2011-08-12 08:55:44 · 6641 阅读 · 0 评论 -
Delphi 关键字
absolute//它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.var Str: string[32]; StrLen: Byte absolute Str;//这个声明指定了变量StrLen起始地址与Str相同.//由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.begin Str := abc;转载 2010-01-27 23:00:00 · 608 阅读 · 0 评论 -
VCL组件的属性和方法详解(2)
FindComponent方法 对应对象:所有组件声明:function FindComponent(const AName: string): TComponent;功能:FindComponent方法在当前的组件的Components数组中指出给定的组件。被传递给FindComponent中的字符串是被寻找的组件名。例如“Edit1”,“Label1”。FindComponent将返回该组件(转载 2010-05-07 16:21:00 · 1245 阅读 · 0 评论 -
VCL组件的属性和方法详解(1)
一、TApplication 继承关系:TObject → TPersistent → TComponent TApplication组件的属性:ActiveAllowTestingDialogHandleExeNameHandleHelpFileHintHintColorHintHidePauseHintPauseHintShortPauseIconMainFormShowHintShowMai转载 2010-05-07 16:24:00 · 1506 阅读 · 0 评论 -
VCL组件的属性和方法详解(3)
Invalildate 方法 对应对象:TControl声明:procedure Invalidate;virtual;功能:Invalidate方法使控件对本身进行再次绘制。在调用Invalidate方法时应该尽快地重新绘制控件,Invalidate方法有Refresh调用。例子:procedure Tform1.Button1Click(Sender:Tobject);begin//Inval转载 2010-05-07 16:25:00 · 1068 阅读 · 0 评论 -
VCL的通用属性,方法和事件
属性使用范围说明Action一些组件标识与组件相连接的活动对象Align一些组件确定组件在父类组件区内的对齐方式Anchors大部分组件说明与组件连接的窗体的位置点AutoSize一些组件说明组件是否可根据内容确定自己的大小BiDiMode所有组件为从右向左写的语言提供支持Borderwidth窗口化组件边框的宽度BoundsRect所有组件定义组件边框矩形(只适用于运行时)Caption大部分组转载 2010-05-07 16:26:00 · 537 阅读 · 0 评论 -
IniFile Ini操作
<br /> <br />INI文件的结构如下<br />[小节名]<br />关键字=值<br />uses IniFiles; {操作Ini文件需要引用TIniFile 的单元}<br />常用的方法<br />WriteString 写入字符串<br />WriteInteger 写入数字<br />WriteBool 写入布尔值<br />ReadString 读取字符串值<br />ReadInteger 读取数字<br />ReadBool 读取布尔值<转载 2010-07-10 22:24:00 · 6600 阅读 · 0 评论 -
Reg
<br />uses Registry;<br /> 不废话了,直入主题.<br /> Registry为我们提供了操作注册表的方法,这里我们用TRegIniFile提供的方法,TRegIniFile继承自TRegistry,TRegIniFile提供的方法类似于前面讲到的操作Ini文件的方法,这样就大大简化了我们操作"神秘"注册表的方法,下面是常用的方法:<br />function CreateKey(const Key: String): Boolean; 创建Key <br />fun转载 2010-07-10 23:20:00 · 776 阅读 · 0 评论 -
delphi编程里的bool跟boolean类型有什么区别
bool是LongBool类型。 Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使用Boolean类型。这四种类型的布尔值占用内存的数量如下:Boolean 1 ByteByteBool 1 ByteWordBool 2 Bytes(1 Word)Lon转载 2010-05-23 20:34:00 · 8126 阅读 · 2 评论 -
FastReport几个问题
<br />1.FastReport中如何共用TFrxreport及TfrxDBDataSet<br />一个程序中,不管多么大的程序,只要打印或预览时是模式的,则完全可以共用一个TFrxreport<br />变量及几个TfrxDBDataSet。只不过,要注意完成一个报表程序的步骤,主要是下面几步<br />1)清除报表,得到一个全新的报表内容。<br />Frxreport1.clear。<br />2)设置要使用的TfrxDBDataSet的别名,如果不需要可以省略这一步,但一般最好不同的报表用不<转载 2010-07-20 10:07:00 · 4430 阅读 · 0 评论 -
Delphi 中Md5获取(Indy 9)
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的 DLL或是Pas了。 在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。 示例代码 p转载 2010-05-06 22:27:00 · 1808 阅读 · 0 评论 -
VCL组件属性和方法详解
一、TApplication 继承关系:TObject → TPersistent → TComponent TApplication组件的属性:ActiveAllowTestingDialogHandleExeNameHand转载 2010-05-06 21:49:00 · 2211 阅读 · 0 评论