摘要: Delphi异常处理详解[1]Exception类的定义在SysUtils单元中。[2]Delphi也支持不从Exception继承的异常类,但是我觉得这么做并不十分的明智。一、异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常。 (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二、异常的处理 (1)try…except…end; 在try体内的代码发生异常时,系统将转向except部分进行异常的处理。这是Delphi处理异常的最基本的方式之一。 (2)try... 阅读全文
posted @ 2014-01-06 15:24 孤舟残月浅笑嫣然 阅读(443) 评论(0) 推荐(0) 编辑
摘要: Delphi遍历文件夹及子文件夹{-------------------------------------------------------------------------------过程名:MakeFileList 遍历文件夹及子文件夹作者:SWGWEB日期:2007.11.25参数:Path,FileExt:string1.需要遍历的目录 2.要遍历的文件扩展名返回值:TStringListEg:ListBox1.Items:= MakeFileList( 'E:\极品飞车','.exe') ;ListBox1.Items:= MakeFileLis 阅读全文
posted @ 2014-01-06 15:12 孤舟残月浅笑嫣然 阅读(772) 评论(0) 推荐(0) 编辑
摘要: OnActive 焦点称到窗体或控件时发生OnClick 鼠标单击事件OnDbClick 鼠标双击事件OnClose和OnCloseQuery 当关闭一个窗体时就会响应OnClose和OnCloseQuery事件 ,OnCloseQuery事件比OnClose具有更高的优先级。OnContextPopup 在窗体上单击鼠标右键时触发OnCreate 建立事件,窗件或控件第一次建立时发生。OnCreate事件只发生一次,用来执行初始化任务OnDeactivate 从当前程序切换到另一个应用程序时发生OnDestroy 卸载窗体或控件时被触发,用来清除窗体或控件所占的内存,或者其他的收尾工作nDr 阅读全文
posted @ 2014-01-06 15:09 孤舟残月浅笑嫣然 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Delphi中解析Xml的控件-SimDesign NativeXml正在学习,感觉应用很方便。无源代码的版本还是免费的。SimDesign.NativeXml是一个delphi和bcb的XML控件,包含一个精巧的Delphi XML执行,使你能在程序中读写XML文档。http://www.simdesign.nl/xml.html网上有一个利用SimDesign.NativeXml生成XML的例子。一个更加强大易用的XML库-- NativeXML原来一直使用Delphi自带的TXMLDocument类来进行XML文件的读写,虽然麻烦了一点,但功能上来说还不错。只是有一个地方让我实在不舒服- 阅读全文
posted @ 2014-01-06 15:08 孤舟残月浅笑嫣然 阅读(887) 评论(0) 推荐(0) 编辑
摘要: function IsWin64: Boolean;var Kernel32Handle: THandle; IsWow64Process: function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL;stdcall;GetNativeSystemInfo : procedure(var lpSystemInfo: TSystemInfo); stdcall; isWoW64 :BOOL;SystemInfo : TSystemInfo; const PROCESSOR_ARCHITECTURE_AMD64 = 阅读全文
posted @ 2014-01-06 14:58 孤舟残月浅笑嫣然 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 1、获取windows版本信息可以通过Windows API函数GetVersionEx来获得。具体程序如下:Procedure Tform1.Button1Click(sender:TObject); Var OSVI:OSVERSIONINFO; begin OSVI.dwOSversioninfoSize:=Sizeof(OSVERSIONINFO); GetVersionEx(OSVI); label1.Caption:=IntToStr(OSVI.dwMinorVersion)+',' +IntToStr(OSVI.dwMinorVersion)+',' 阅读全文
posted @ 2014-01-06 14:50 孤舟残月浅笑嫣然 阅读(407) 评论(0) 推荐(0) 编辑
摘要: Delphi的高效不多说... 俗话说;真正的程序员用C语言,聪明的程序员用Delphi,一点都不假,和C++比它比C++更简单,更容易上手,功能丝毫不逊色C++,比起VB,毫无疑问比VB好多了,重要的是快,高效! 高效的Pascal编译器,强大的数据库支持==.... Delphi在进行计算量相当大的时候会出现程序假死,在线程编程的时候会出现线程堵塞,更重要的是在线程编程时可以大大加快程序的效率。。我们可以用这个函数:Application.ProcessMessages; //防止线程堵塞,程序假死 如在进行一个0到10000的运算时可能会出现假死的现象[delphi]view p... 阅读全文
posted @ 2014-01-06 14:46 孤舟残月浅笑嫣然 阅读(357) 评论(0) 推荐(0) 编辑
摘要: [delphi]view plaincopyprint?{将数据集操作方面的东西全部封装成一个单独的类TcustomAdoDataSet是TadoQuery、TadoTable、TadoDataSet、TadoCommand的公共祖先类应尽量使用TadoDataSet和TadoCommand类}unituntOpeDataSet;interfaceusesSysUtils,db,adodb,commonFunction,msg;typeTopeDataSet=classpublic{修改已发生,但还没有得到应用的记录,在关闭窗口前应给予提示}functionadoUpdatesPending( 阅读全文
posted @ 2014-01-06 14:44 孤舟残月浅笑嫣然 阅读(562) 评论(0) 推荐(0) 编辑
摘要: [delphi]view plaincopyprint?SysUtils.StrToDate();SysUtils.StrToDateDef();SysUtils.TryStrToDate();SysUtils.StrToTime();SysUtils.StrToTimeDef();SysUtils.TryStrToTime();SysUtils.StrToDateTime();SysUtils.StrToDateTimeDef();SysUtils.TryStrToDateTime();SysUtils.DateToStr();SysUtils.TimeToStr();SysUtils.Da 阅读全文
posted @ 2014-01-06 14:43 孤舟残月浅笑嫣然 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: [delphi]view plaincopyprint?先把要讨论的几个属性列出来:1、CommaText2、Delimiter&DelimitedText3、Names&Values&ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:constconstr:String='aaa,bbb,ccc,ddd';varstrs:TStrings;i:Integer;beginstrs:=TStringList.Create;strs.CommaText:=constr;fori:=0toStrs.Count-1doShowMe 阅读全文
posted @ 2014-01-06 14:41 孤舟残月浅笑嫣然 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 2013-12-30 12:2712人阅读评论(0)收藏举报[delphi]view plaincopyprint?//TStringList常用方法与属性:varList:TStringList;i:Integer;beginList:=TStringList.Create;List.Add('Strings1');{添加}List.Add('Strings2');List.Exchange(0,1);{置换}List.Insert(0,'Strings3');{插入}i:=List.IndexOf('Strings1');{第 阅读全文
posted @ 2014-01-06 14:40 孤舟残月浅笑嫣然 阅读(258) 评论(0) 推荐(0) 编辑
摘要: ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。下面举例说明它的用法。开始一个新的应用程序ShellExecute(Handle, 'open', PChar('c:\test\app.exe'), nil, nil, SW_SHOW);打开记事本,并打开一个文件(系统能识别记事本应用程序的路径,因此我们不必使用绝对路径)ShellExecute(Handle 阅读全文
posted @ 2014-01-06 14:37 孤舟残月浅笑嫣然 阅读(2857) 评论(0) 推荐(0) 编辑
摘要: 请在interface处uses句中加入ShellAPI有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。1.CreateProcess因为使用复杂,比较少用。2.WinExec主要运行EXE文件。如:WinExec('Notepad.exe Readme.txt', SW_SHOW);3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。首先必须引用shellapi.pas单元:uses ShellAPI;1).标准用法 ShellExecute函数原型及参数含义如下: function Shell 阅读全文
posted @ 2014-01-06 14:36 孤舟残月浅笑嫣然 阅读(1233) 评论(0) 推荐(1) 编辑
摘要: MessageBox对话框 输入控件的 ImeName属性把输入法去掉就默认为英文输入了 MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。 1、函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0 阅读全文
posted @ 2014-01-06 14:34 孤舟残月浅笑嫣然 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 哈希函数哈希法,又称散列法、杂凑法、关键字地址计算法。这种方法的中心思想是,首先在元素的关键字k和存储位置p之间建立一个对应关系f,使得p=f(k),f称为哈希函数。创建哈希表时,把关键字为k的元素直接存入地址为f(k)的单元,以后当查找关键字为k的元素时,再利用哈希函数计算出该元素所存储的位置p=(k),从而达到按关键字直接存取元素的目的。哈希函数的构造方法:1、数字分析法,如果关键字中有分布较为均匀的部分,则可以使用这几位为哈希地址。例如关键字是4位整数d1d2d3d4,其中d2和d4取值均匀,那么哈希函数可以设为h(key)=h(d1d2d3d4)=d2d4。2、平方取中发,如果不能确定 阅读全文
posted @ 2014-01-06 14:31 孤舟残月浅笑嫣然 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 在Windows编程时,为了兼容Win7与XP,许多需要底层权限的程序需要通过UAC验证,这是微软出的一个很恶心的东西……还不如Ubuntu那种Root机制呢……但是有困难我们就要克服~现在有一种方式可以变相的绕过UAC控制。其实UAC控制有一点很弱智的是,当你的程序名字中包含Installation、Setup等词时,UAC认为你是安装程序,会默认进行UAC提示,提示用户给此程序提高权限。这对于安装包可以简单解决,但是如果我们的主程序也需要高权限的话,我们需要一个manifest文件来告诉UAC:我需要一个较高的权限,UAC也会提示用户提权。具体操作如下,但是此方法有个不能解决的问题是U.. 阅读全文
posted @ 2014-01-06 14:29 孤舟残月浅笑嫣然 阅读(302) 评论(0) 推荐(0) 编辑
摘要: Delphi中的窗体,有模式窗体与非模式窗体两种。两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示。当显示模式窗体的时候你是不能操作本程序的其他窗体的,你不能把焦点从模式窗体转到其他窗体上。而非模式窗体则没有这种限制,你可以从一个非模式窗体切换到另外一个非模式窗体上。两种窗体的区别仅仅在调用的方式上有区别。窗体的创建:当使用Delphi的IDE New一个窗体后,在Project1.dpr文件中,会出现一句1Application.CreateForm(TForm2, Form2);意思是当程序启动的时候会创建TForm2类的Form2实例,也就是窗体.. 阅读全文
posted @ 2014-01-06 14:26 孤舟残月浅笑嫣然 阅读(1049) 评论(0) 推荐(0) 编辑