2011年1月14日

Delphi用Sender参数实现代码重用

摘要: 面向对象的编程工具的特点之一就是要提高代码重用性(Reuse),作为新一代可视化开发工具,Delphi中的代码重用性相当高。我们知道,在Delphi中,大部分程序代码都直接或间接地对应着一个事件,此程序称为事件处理句柄,它实际上就是一个过程。从应用程序的工程到表单、构件和程序,Delphi强调的是其开发过程中每一层次的重用性,可以通过编写某些构件常用的事件处理句柄来达到程序重用目的。你可以在属性窗口的Events页上将A事件的处理句柄指向B事件的处理句柄,这样A事件和B事件就共享了一个过程段,从而达到了重用的目的。如果共享的程序段与发生该事件的控件无关,如ShowMessage(′hello. 阅读全文

posted @ 2011-01-14 09:24 jshchg 阅读(581) 评论(0) 推荐(0)

2011年1月8日

Delphi开发能力自我评测

摘要: 转载至 :http://www.delphifans.com/infoview/Article_4628.html(注:以下内容都是作者个人的学习经验和体会,仅代表个人观点。针对Win32下的Delphi程序开发而言,部分内容或思想也可适用于其它工具或平台下的软件开发。)在程序员的求职资料中,用得最泛滥的词可能是“熟悉”和“精通”了。评价一个程序员的综合能力并不容易,下面的文字试图以Delphi程序开发为例定义一种描述程序员开发能力的方法。一、学习阶段划分。根据我个人的经验,Delphi程序设计分为以下几个阶段:1、 熟悉阶段。这一阶段指从未接触过Delphi的人,刚开始学习到初步掌握Delp 阅读全文

posted @ 2011-01-08 18:18 jshchg 阅读(304) 评论(0) 推荐(0)

2011年1月7日

Delphi的对象注销方法Destroy和free的区别

摘要: Delphi的对象注销方法Destroy和free的区别当您使用完对象后,您应该及时撤销它,以便把这个对象占用的内存释放出来。您可以通过调用一个注销方法来撤销您的对象,它会释放分配给这个对象的内存。 Delphi的注销方法有两个:Destroy和Free。Delphi建议使用Free,因为它比Destroy更为安全,同时调用Free会生成效率更高的代码。 您可以用下列的语句释放用完的Employee对象: Employee.Free; 和Create方法一样,Free方法也是TEmployee从TObject中继承过来的。把您的注销放在try…finally程序模块的finally部分,而把对 阅读全文

posted @ 2011-01-07 16:54 jshchg 阅读(1343) 评论(0) 推荐(0)

两种类的声明方法

摘要: 转载至:两种类的声明方法说明:Delphi的类声明有两种方法,一种是继承了Delphi的内建类的声明,另一种则是完全自定义的类声明。这两种类的区别不仅在于声明程序的不同,还会影响到对象实体的内存管理。1unitUnit1;23interface45uses6Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,7Dialogs,StdCtrls,Buttons;89type10TForm1=class(TForm)11btn1:TBitBtn;12btn2:TBitBtn;13procedurebtn1Click( 阅读全文

posted @ 2011-01-07 16:19 jshchg 阅读(447) 评论(0) 推荐(0)

delphi中 formclose的事件 action:=cafree form:=nil分别是什么意思?

摘要: MDI子窗体关闭时用到的(以下摘自Delphi的帮助)caNone The form is not allowed to close, so nothing happens.caHide The form is not closed, but just hidden. Your application can still access a hidden form.caFree The form is closed and all allocated memory for the form is freed.caMinimize The form is minimized, rather tha 阅读全文

posted @ 2011-01-07 15:57 jshchg 阅读(4710) 评论(0) 推荐(0)

assigned(对象名)判断对象有没有被实例化?

摘要: assigned 是用来判断某一指针(pointer)或过程引用是否为nil(空),如果为空则返回假(false)。用法示例(防止窗体被实例化多次):unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private dec 阅读全文

posted @ 2011-01-07 15:56 jshchg 阅读(679) 评论(0) 推荐(0)

2010年12月30日

Delphi过程函数传递参数的几种方式

摘要: 转载至:http://www.qqread.com/delphi/q479333.html在Delphi过程、函数中传递参数几个修饰符为Const、Var、Out。另一种不加修饰符的为默认按值传递参数。一、默认方式以值方式传递参数procedure TForm1.ProcNormal(Value: string);beginOrigNum:=Value+' Me';lblReturn.Caption:=OrigNum;//OrigNum为'Hello Me'lblOrig.Caption:=Value;//Value为'Hello'end;调用: 阅读全文

posted @ 2010-12-30 09:51 jshchg 阅读(2509) 评论(0) 推荐(0)

Delphi7程序调用C#写的DLL解决办法

摘要: 转载至:http://bbs.itjsj.com/thread-334070-1-1.html近来,因工作需要,必须解决Delphi7写的主程序调用C#写的dll的问题。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行: 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目TestDll,usingSystem.Runtime.InteropServices;namespaceTestDll{publicinterfaceITestClass{ voidYourProcedure(stirng param1); }[ClassInterface(ClassInterf 阅读全文

posted @ 2010-12-30 09:43 jshchg 阅读(692) 评论(0) 推荐(0)

Delphi语句、过程函数

摘要: 转载至:http://blog.csai.cn/user1/9162/archives/2006/2946.html#1.语句1)简单语句表达式(它是由操作符和操作数组成)、赋值语句、调用语句都属于简单语句。2)复合语句用begin……end把简单语句括起来组成复合语句。3)赋值语句赋值语句的符号是冒号+等号即 :=4)条件语句a、Ifif then :当条件满足才执行语句if then else:在两条语句选择一条执行,不是执行语句1就是执行语句2格式:if表达式then语句1else语句2b、casecase常量或表达式of常量1:语句1;常量2,常量3:语句2;常量N:语句N;(注:该部 阅读全文

posted @ 2010-12-30 09:32 jshchg 阅读(932) 评论(0) 推荐(0)

数值参数和变量参数

摘要: 当您的程序代码在调用一个过程或函数时,通常用参数传递数据到被调用的过程或函数中。最常用的参数有数值参数、变量参数和常量参数三种。 由被调用过程或函数定义的参数为形参,而由调用过程或函数指明的参数叫实参。在NoValue函数中,说明函数体中的AnEditBox是形参,而调用时在if NoValue(Edit1)…中,Edit1是实参。 数值参数在运行过程中只改变其形参的值,不改变其实参的值,即参数的值不能传递到过程的外面。试看下面的例程: procedure Calculate(CalNo:Integer);beginCalNo := CalNo*10;end; 用以下例程调用Calculate 阅读全文

posted @ 2010-12-30 08:31 jshchg 阅读(2062) 评论(0) 推荐(0)

导航