
Delphi
lynnelxl
这个作者很懒,什么都没留下…
展开
-
delphi控件安装与删除
基本安装1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可;4、如果以上Install按钮为失效的话转载 2015-04-15 13:33:24 · 803 阅读 · 0 评论 -
delphi 进度条
1.progressbar进程控制条主要的属性:Max,Min,Step与Timer一起使用 while(pb1.Position begin pb1.StepIt; end;2.Gauge与progressbar用途完全相同,所不同的是Gauge具有多种表现形式,如圆形,方形等。主要的属性:Max,Min,Process与Timer一起使转载 2012-01-04 10:14:14 · 1439 阅读 · 0 评论 -
delphi DLL动态链接库
假设有两个应用程序,它们都要调用一个单元中的一个方法,那么这两个应用程序都要在Uses语句中引用该单元。如果同时运行这两个应用程序,这个方法就会在内存中存在两份,这显然是内存的一种浪费,使用动态链接库就可以解决这个问题。动态链接库DLL与其他应用程序通过动态链接技术来共享代码。如果一个应用程序使用了动态链接库,Win32系统保证内存中只有DLL的一份复制品,这是通过内存映射文件实现的。DLL首转载 2012-01-04 09:54:30 · 405 阅读 · 0 评论 -
delphi关闭程序 Close,application.Terminate与halt有什么区别
在有多个Form窗体时可以体现出来.用close是只关闭本窗体,而用Application.terminate是关闭整个程序,包括所有窗体.(1)当Close是一个主窗体时,程序会退出。Close会发生FormClose事件,FormCloseQuery事件。close,只是针对窗体。主窗体close以后程序就Application.Terminate了。子窗体close以后。没释放,转载 2012-01-04 09:01:57 · 1352 阅读 · 0 评论 -
Delphi Menu Designer(菜单设计器)之一
菜单包括大多数Windows应用程序的大部分内容。一些Windows应用程序没有菜单,但绝大多数都有。Delphi使用Menu Designer使得创建菜单变得容易。Menu Designer有如下特点:可以创建主菜单和弹出菜单(快捷菜单)。 为菜单项处理提供OnClick事件。 从模板或源文件插入菜单。 以模板形式保存客户菜单。 所有Menu Designer命令通过其快捷菜单或者使转载 2012-01-17 11:33:46 · 902 阅读 · 0 评论 -
Delphi中destroy, free, freeAndNil, release用法和区别
1)destroy:虚方法释放内存,在Tobject中声明为virtual,通常是在其子类中override 它,且要加上inherited关键字,才能保证派生类对象正确地被销毁;但destroy一般不能直接用,为什么?假如当一个对象为nil,我们仍然调用destroy,此时会产生错误。因为destroy是虚方法,它要根据对象中的头四个字节找到虚拟方法表Vmt的入口地址,从而找到des转载 2011-12-23 15:39:15 · 666 阅读 · 0 评论 -
delphi 常见问题集锦
1.form.Free - 释放Form占用的所有资源。Free后,Form指针不能再使用,除非对Form重新赋值。 form.Hide - 隐藏Form。可以调用form.Show再一次显示。 form.close - 关闭Form,实际的结果取决于OnCloseQuery和OnClose,转载 2011-12-23 15:43:06 · 1069 阅读 · 0 评论 -
delphi中对象的create和free
在D中每个应用程序可以获得的内存空间分为两种:堆(heap)和栈(stack)。 堆又称为“自由存储区”,其中的内存空间的分配与释放是必须由程序员来控制的。例如,用GetMem函数获取了一定大小的内存空间,则在使用完后,必须调用FreeMem函数将空间释放,否则就会发生所谓的“内存泄漏”。“借债还钱,天经地义”。 栈又称为“自动存储区”,其中的内存空间的分配与释放是由编转载 2011-12-23 15:37:16 · 730 阅读 · 0 评论 -
Delphi编译错误信息对照表
******************************* * 编 译 错 误 信 息 * ******************************* ';' not allowed before 'ELSE' →ElSE前不允许有“;”'' clause not allowed in OLE automation sectio转载 2011-12-23 15:44:16 · 816 阅读 · 0 评论 -
Delphi的OverRide、OverLoad和Virtual方法
1.方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一转载 2011-12-23 15:42:07 · 1027 阅读 · 0 评论 -
delphi中Assigned的含义
assigned 是用来判断某一指针(pointer)或过程引用是否为nil(空),如果为空则返回假(false)。用法示例(防止窗体被实例化多次):procedure TForm1.Button1Click(Sender: TObject);begin if (Not assigned(form2)) then //判断form2是否被创建 begin转载 2012-01-04 10:14:59 · 676 阅读 · 0 评论 -
静态方法,虚方法和动态方法
(1)虚方法和动态方法一样: 它的结果只和谁创建它有关系,和其它转换没有关系;(2)静态方法 和它的当前类型有关系 1 类方法 2 type 3 TClassA = class 4 public 5 function AAA():string;virtual;//虚方法 6 function BBB():转载 2012-01-04 10:39:36 · 446 阅读 · 0 评论 -
Delphi之TPersistent类
TPersistent类 TPersistent类是由TObject直接派生的。凡是由TPersistent派生的对象都能够进行流操作。因为所有的组件都是由TPersistent派生的,所以它们都具有流属性。TPersistent没有定义特殊的属性或事件,虽然它定义了一些对于组件用户和编写者有用的方法。下面列举了TPersistent类定义的一些方法。 TPersistent类转载 2014-11-26 08:16:15 · 868 阅读 · 0 评论 -
E2202 Required package 'rtl' not found
Delphi安装完毕后,会自动添加以下几个路径,若无,则原创 2014-08-18 09:44:50 · 2587 阅读 · 1 评论 -
Delphi中destroy, free, freeAndNil, release用法和区别
1)destroy:虚方法释放内存,在Tobject中声明为virtual,通常是在其子类中override 它,且要加上inherited关键字,才能保证派生类对象正确地被销毁;但destroy一般不能直接用,为什么?当一个对象为nil,我们仍然调用destroy,会产生错误。因为destroy是虚方法,它要根据对象中的头四个字节找到虚拟方法表Vmt的入口地址,从而找到destr转载 2014-06-18 22:24:37 · 528 阅读 · 0 评论 -
delphi2007中如何安装ActiveX控件
(1).打开Delphi2007, File-New-Package Delphi for win32.(2).Component-Import Component,选择 Import ActiveX Control.(3).在控件列表,或Add添加选择相应Active控件后,点next.(4).选择安装ActiveX控件所在的面板页,单元,包等.(5)点next,最后一步,选转载 2014-06-24 17:00:39 · 653 阅读 · 0 评论 -
delphi reintroduce作用
当在子类中重载或者重新声明父类的虚方法时,使用 reintroduce 关键字告知编译器,可以消除警告信息. 如: TParent = class procedure proc;virtual; end; TChild = class(TPar转载 2014-01-08 20:26:20 · 2081 阅读 · 0 评论 -
获取MAC地址
function MacAddress: string;var Lib: Cardinal; Func: function(GUID: PGUID): Longint; stdcall; GUID1, GUID2: TGUID;begin Result := ''; Lib := LoadLibrary('rpcrt4.dll'); if Lib原创 2013-12-31 18:46:53 · 471 阅读 · 0 评论 -
SysUtils单元函数
首部 function Languages: TLanguages; $[SysUtils.pas 功能 返回系统语言对象 说明 通过此函数可以得到系统的语言环境 参考 type SysUtils.TLanguages 例子 ///////Begin Languages procedure TForm1.Button1Click(Sender: TObject)转载 2013-12-31 19:03:56 · 552 阅读 · 0 评论 -
delphi formate
一、Format函数的用法Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种转载 2013-12-16 22:46:18 · 576 阅读 · 0 评论 -
对表格进行操作,WPS与Office的差别
WPS:CreateOleObject('ET.Application')office:CreateOleObject('Excel.Application')原创 2013-03-14 12:54:34 · 1754 阅读 · 0 评论 -
delphi中exit,abort,break,continue 的区别
exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。Abort 是从 EAbort 过来的,可以激发 exceptio转载 2011-12-23 15:41:24 · 414 阅读 · 0 评论 -
delphi学习点滴—几个关闭函数
表示关闭的有如下函数:hide、close、free、release、destrory、terminate、freeandnil()、halt 详解:free:先判断不为空再destroy。释放对象,对于窗体来说,只会释放对象,而不将窗体对象的指针指向nil,所以free后用assigned函数来判断还是返回true.只有freeandnil或free后再将指针指向nil。de转载 2011-12-22 14:36:17 · 462 阅读 · 0 评论 -
delphi学习点滴——类似query的实
用Delphi做过数据库编程的朋友肯定熟悉Query控件,这个控件实现的功能是执行一条SQL语句或一个SQL脚本,在我们进行数据库开发中使用的频率非常高。使用过程中发现用好这个控件有两点要非常注意。 第一点是:区分好Query控件的Open方法和ExecSQL方法。这两个方法都可以实现执行SQL语句,但要根据不同情况分别使用。如果这条SQL语句将返回一个结果集,必须使用Open方法,如果转载 2011-12-22 14:33:44 · 557 阅读 · 0 评论 -
Delphi指针的认识
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人 产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今 的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。以下内容分为八个部分,转载 2011-12-22 14:37:11 · 294 阅读 · 0 评论 -
delphi学习点滴——操作excel的几个控件使用说明
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。1) 打开ExcelExcelApplication1.Connect;2) 显示当前窗口:ExcelApplication1.Visible[0]:=True;3) 更改 Excel 标题栏:ExcelApplication1.Caption := '应用程序转载 2011-12-22 14:32:06 · 949 阅读 · 0 评论 -
delphi学习点滴——使用Query控件的两个技巧
用Delphi做过数据库编程的朋友肯定熟悉Query控件,这个控件实现的功能是执行一条SQL语句或一个SQL脚本,在我们进行数据库开发中使用的频率非常高。笔者在多年的使用过程中发现用好这个控件有两点要非常注意。 第一点是:区分好Query控件的Open方法和ExecSQL方法。这两个方法都可以实现执行SQL语句,但要根据不同情况分别使用。如果这条SQL语句将返回一个结果集,必须使用O转载 2011-12-22 14:17:10 · 2201 阅读 · 0 评论 -
delphi学习点滴——动态链接库两种调用方式的比较
一、动态链接库的概念 动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。 动态链接转载 2011-12-22 14:14:53 · 416 阅读 · 0 评论 -
delphi学习点滴——利用DDE实现同Word的交互
一、 引言 Windows支持三种基本的IPC(进程间通信)机制:动态链接库(DLL)中的共享数据段、Windows剪贴版(Clipboard)和动态数据交换DDE(Dynamic Data Exchange)。许多著名的Windows应用程序如Microsoft Word等都宣布支持DDE技术,并在程序中嵌入了DDE消息处理函数。而此类应用程序单在DDE技术上讲大多是作为一个D转载 2011-12-22 14:13:40 · 744 阅读 · 0 评论 -
delphi学习点滴——编写自己的可视化控件
可视化控件(Visual Component)实际上就是一个类(class),要编写一个类,可以直接在*.pas文件中编写。但是要编写控件,则必须使用包(package)。从File菜单中选择New,新建一个Package,这就是存放和安装控件用的包。然后单击Package窗口中的Add按钮,添加一个元件(Unit)。 在弹出的对话框最上方选择New Component。因为一个控件转载 2011-12-22 13:33:40 · 683 阅读 · 0 评论 -
delphi学习点滴——窗体创建和释放
在有多个窗体的程序中,Delphi默认是将它们在程序启动时全部创建(只是都隐藏了,只显示一个主窗体),这样,那些暂时不必要启动的窗体就占用了许多内存空间。所以我们需要在菜单Project|Options...的Forms标签页下,将那些暂时不要启动的窗体从“Auto-create forms”下转移到“Available forms”中。这样,这些窗体的创建和释放就需要代码来实现了。 A.两转载 2011-12-22 13:25:51 · 1038 阅读 · 0 评论 -
Delphi TIniFile 用法
一、定义1、在Interface的Uses节增加IniFiles;2、在Var变量定义部分增加一行:myinifile:Tinifile;然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。二、打开INI文件 Filename:=ExtractFilePath(Paramstr(0))+'program.ini'; myinifile:=Ti转载 2011-11-09 15:00:26 · 1266 阅读 · 0 评论 -
注册表函数TRegistry的常用方法和属性
一、创建和释放TRegistry对象1.创建TRegistry对象。为了操作注册表,要创建一个TRegistry对象:ARegistry := TRegistry.Create;2.释放TRegistry对象。对注册表操作结束后,应释放TRegistry对象所占内存:AR转载 2011-08-18 08:41:19 · 574 阅读 · 0 评论 -
delphi学习点--滴实例化对象
在当前的计算机操作系统中,任何软件运行都需要一个内存块,也就是生存空间。同样,对象也要。要让一个类的对象为我们工作之前,需要为他分配一个内存空间并创建它,这也是和其他的数据类型不一样的地方:var i: Integer; //定义一个整形变量i s: TStringList; //定义一个TStringList类的对象sbegin i:= 0; { 这是对转载 2011-12-22 13:22:23 · 433 阅读 · 0 评论 -
delphi学习点滴——数据集过滤技巧
当我们在操作数据集时,往往需要对数据进行筛选例如:一个名为Customer的数据表,它具有CustNo、CustName、Country、Address、Phone、State、TaxRate等字段,如果只想查看国别为China或顾客号大于1000的顾客记录,就需要对数据集进行过滤。经总结,有下面这些过滤方法: 一、利用TTable和TQuery的Filter属性 1.转载 2011-12-22 14:12:32 · 574 阅读 · 0 评论 -
delphi学习点滴—dbgrideh一个技巧
有几个事件使你能够在绘制单元格前定制单元格字体和颜色。1、用TDBGridEh的OnDrawColumnCellEvent事件句柄来在控制在网格单元中绘制数据。可以使用Canvas属性的方法来绘制单元格。但是如果你只想改变字体或颜色的属性,我建议使用下面的事件。(只是单个单元格变色,整行并没有变) 代码如下:procedure TForm1.DBGridEh1DrawColumnC转载 2011-12-22 14:33:05 · 1781 阅读 · 0 评论 -
delphi学习点滴——快速得到本机IP地址
朋友们在用Delphi编程序的时候,常常碰到需要在程序中获取自己的IP地址的情况。在以往的版本中,可以通过编写一段代码或函数实现这一功能。但有了Delphi 7,这个工作可以更简化了。利用控件只需一句代码,就可以非常方便地实现这一功能。 新建一Project1,在form1中添加控件statusbar 1(Win32页)和控件IdIPWatch1(Indy Misc页)转载 2011-12-22 13:41:00 · 746 阅读 · 0 评论 -
delphi学习点滴—exit、abort比较
delphi中表示跳出的有break,continue, exit,abort, halt, runerror。1、break 强制退出循环(只能放在循环中),用于从For语句,while语句或repeat语句中强制退出。2、continue 用于从For语句,while语句或repeat语句强行结束本次称称循环,并开始下一次循环。3、exit 用于从当前代码块中退出。若该代码为主转载 2011-12-22 14:35:06 · 412 阅读 · 0 评论 -
delphi学习点滴——异常处理的基本原则和方法
一、异常的来源 在Delphi的应用程序中,下列的情况都比较有可能产生异常。 (1)文件处理 (2)内存分配 (3)Windows资源 (4)运行时创建对象和窗体 (5)硬件和操作系统冲突 二、异常的处理 (1)try…except…end; 在try体内的代码发生异常时,系统将转向exc转载 2011-12-22 13:34:34 · 379 阅读 · 0 评论 -
delphi学习点滴——用AdoDataSet实现数据表的导入导出
Delphi中的AdoDataSet是支持ADO访问的主要组件,它支持从数据表直接获取数据,支持用SQL语句获取数据。最重要的是,它定义和实现了两个重要的例程: procedure LoadFromFile(const FileName: WideString);它从文件中加载数据集。 procedure SaveToFile(const FileName: Strin转载 2011-12-22 13:31:56 · 3160 阅读 · 0 评论