
类类型
seagull327
若大的世界
展开
-
单元文件结构
unit Unit1;interface {接口部分开始}uses {引用单元列表,这是可选的,如果包含必须紧跟interface关键字} {接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样} {在接口部分声明的过程和函数,就像使用了forw原创 2011-07-25 22:14:10 · 495 阅读 · 0 评论 -
Public,Private,Protected,Published作用域
关于Class里的成员:1.Public,2.Private,3.Protected,4.Published,以上四个class 的成员指令,它们的功用是什么??要怎么用和什么时候输入?怎样用?和C++是差不多的、可见性不同、比较容易弄混的就是private和protected了、protected是只有自己和子类可见、private是同单元可见1.private用转载 2012-09-18 16:51:14 · 995 阅读 · 0 评论 -
Delphi 中的自定义类笔记
类的声明有两种声明办法一、自定义类的父类delphi内建类type 类名 = class父类)( 成员表达式end;(1)保留字Class说明该类是dephi内建类,将继承父类的属性和方法(2)“父类”默认是delphi的祖先类Tobject二、完全自定义的类Type 类名 = object父类)( 成员表达式End;(1)转载 2012-10-10 00:43:23 · 1067 阅读 · 0 评论 -
Delphi中Self和Sender的区别
在事件处理程序参数表中,至少含有一个参数Sender,它代表触发事件处理程序的构件,如在上例中,Sender就指Button2,有了Sender参数,可以使多个构件共用相同的事件处理程序,如下例: Procedure Tform1.Buttonclick(Sender:Tobject); Begin If sender=button1 then Label转载 2012-10-10 00:39:15 · 2915 阅读 · 0 评论 -
“类引用”概念
“类引用”概念 “类引用”不过是内存中的某个区域,其中包含了相关类的信息,这和类的类型定义是一回事。当用VCL流系统或RegisterClass()函数注册这个类时,类引用就会进入内存。FindClass()函数查找内存区域,定位某个指定类名的类,并返回一个指向那个位置的指针,这不同于类实例。类实例通常是创建于调用构造函数时。例如:TChildFormClass =转载 2012-09-19 15:52:37 · 732 阅读 · 0 评论 -
property
interfacetype TPerson = class(TObject) private //私有域 FName: string; FAge: Integer; procedure SetName(const strName: string); procedure SetAge(const intAge: Integer);转载 2012-09-19 21:02:41 · 1138 阅读 · 0 评论 -
初探类的字段.属性.方法.事件
TmyEvent = procedure of object; TmyClass = class private Fage: Integer; FonHundred: TmyEvent; procedure SetAge(const Value: Integer); public procedure SetOnHundred1;原创 2012-12-25 23:11:31 · 810 阅读 · 0 评论 -
Delphi 事件 --事件原来是函数指针,同时是个属性
总结一下在Delphi中如何使用Poperty这一语法特性。如果学习过C#的朋友应该会很容易理解,因为C#的属性就是学习自Delphi,毕竟C#和Delphi是同一个设计者。定义一个属性Property的基本格式如下:property 属性名 : 属性值类型 read 属性读函数 write 属性写函数这里简单解释一下:1。Property是属性定义关键字。2。属性的特征类似于转载 2013-01-03 20:41:01 · 826 阅读 · 0 评论 -
判断对象指针是否可用
在Object Pascal中,一个类可以有两种类型的方法,一种称为对象方法(Object Method),另一种是类方法(Class Method)。所谓对象方法,指的是方法的定义是针对对象(或称实例)的,因此调用该方法需要基于某个对象(或称实例),比如类的析构函数Destroy就是一个对象方法(其实我们经常用到的绝大部分方法都是对象方法)。而类方法,指的是方法的定义是基于一类对象而言,因此调用转载 2013-01-07 10:54:32 · 1061 阅读 · 0 评论 -
Class Demo
TmyCls=class private i:integer; s:TStrings; public procedure abc; end;var Form1: TForm1;implementation{$R *.dfm} procedure TmyCls.abc; begin end;procedure TForm1.Button1Click(原创 2013-01-09 12:17:45 · 884 阅读 · 1 评论 -
custom Class
type TMonth = 1..12; Tdate = 1..31; Ta = class private Fyear: Integer; Fmonth: TMonth; Fdate: Tdate; public procedure GetDate(var aYear: Integer; var Amonth: TMonth; var Adat原创 2013-01-13 15:47:25 · 1153 阅读 · 0 评论 -
Class Demo [输出文字到桌面]
type TcustCls = class private Fx, Fy: Integer; Fs: string; public procedure outPut(x, y: Cardinal; s: string); end;procedure Tcustcls.outPut(x, y: Cardinal; s: string);var cvs原创 2013-10-13 13:37:40 · 824 阅读 · 0 评论 -
类引用类型
类引用类型声明 以上讲到的类类型,一般不能直接对类类型操作,而只能对类的实例即对象操作。只有类方法以及类的构造和析构可以直接作用于类本身。那么类引用类型是一种什么样的数据类型呢?类引用类型实际上就是指向某种类类型的指针,用这个指针可以引用任何同类型的类。 类引用类型的声明语法如下: Type TClassRef=Class of Tobject; 上例中,声明了转载 2013-10-29 23:56:45 · 1116 阅读 · 0 评论 -
初写类
pRecData = ^TRecData; tRecData = record Caption: string[15]; Level: Integer; end; myCls = class private fMyrec: PRecData; public function Test: string; virtual; property原创 2013-09-27 01:55:32 · 575 阅读 · 0 评论 -
类事件
TcusCls = class private FonEvent: TNotifyEvent; published property onMsg: TNotifyEvent read FonEvent write FonEvent; public procedure Cusevent(Sender: TObject); end;procedure T原创 2013-10-30 13:55:08 · 800 阅读 · 0 评论 -
类事件栗子
TonMsg = procedure(s: string) of object; Tman = class private fAge: integer; fonMsg: TonMsg; procedure setFage(iAge: integer); published property onMsg: TonMsg read fonMsg write原创 2013-10-30 21:02:56 · 574 阅读 · 0 评论 -
DropEdit
unit DropEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ShellApi;type TMyNotifyEvent = procedure (Sender: TObject;FileNames:TSt转载 2012-05-25 21:33:44 · 486 阅读 · 0 评论 -
property Name:String read GetName
private { Private declarations } FName:String; function GetName:string; public property Name:String read GetName;原创 2012-05-25 00:02:26 · 610 阅读 · 0 评论 -
Delphi程序结构
概要介绍:Object Pascal语言的结构比较特殊,跟C有很大的不同,但是它秉承PASCAL语言的一贯结构化的传统,相信大家很容易就可以了解。 一:Program 单元 一个object Pascal程序,是由一个特殊的单元和若干个可选的单元组成的,也就是说一个最简转载 2011-07-24 15:38:44 · 1076 阅读 · 0 评论 -
delphi 类的大体概述
刚刚接触的Delphi的朋友,可能最感兴趣的就是它丰富、强大的VCL(可视化构件库)。仅仅向窗体上扔几个构件,甚至不用动手写代码,就能很容易地做出一个有实用价值的程序,真是令人激动。但是,VCL只是Delphi的一小部分,Delphi的优秀远远不只是表现在VCL上。如果你仅仅停留原创 2011-07-24 16:32:04 · 608 阅读 · 0 评论 -
Delphi类型和引用
概要介绍:类类型和下面要讲到的类引用类型是一种特殊的数据类型,是Object Pascal面向对象编程的基础。 一:类类型概述 和以前介绍的几种数据类型相比,类类型具有如下特点: 类类型的成员可以是不同的数据类型,这一点跟记录类型相似,因此,类类型首先是由不同的字转载 2011-07-24 15:33:56 · 1973 阅读 · 0 评论 -
inherited
一个方法有行为(一般是父类的),在你继承这个方法然后重写的时候,如果有inherited,那么,父类中这个行为执行,如果没有inherited,那么,这里只执行你写的程序,父类中的行为将被屏蔽掉。原创 2011-07-27 14:14:35 · 762 阅读 · 0 评论 -
剖析Delphi中的多态、继承,覆盖
1什么是多态?1.1概念1.2多态的意义1.3多态在delphi中如何实现的?1.3.1 继承(Inheritance)1.3.2 虚方法、动态方法与抽象方法,VMT/DMT,静态绑定与动态绑定1.3.3 重载(Overload)与多态1.4多态种类的转载 2011-08-07 00:34:10 · 1587 阅读 · 0 评论 -
forward [提前声明]
通常只在implementation部分使用。如果两个函数都在implementaion部分实现,而没有在interface部分声明才需要这个关键字。例如FuncA和FuncB要相互调用,为了让FuncA知道有FuncB存在,就在FuncA的前面先声明一次FuncB并加上原创 2011-08-06 15:56:57 · 557 阅读 · 0 评论 -
过程,函数的重载与逻辑运算
过程,函数的重载与逻辑运算如果你想以相同的名称同时声明多个子程序,那么就必须使用重载方法,overload这编译指引关键字,而且这些子程序的参数必须不同!//声明各种不同类型的myadd子程序function myadd(x,y:integer):string;o原创 2011-08-07 00:31:11 · 635 阅读 · 0 评论 -
把窗体中所有的Button的Enabled置为False
把窗体中所有的Button的Enabled置为Falseprocedure TForm1.FormCreate(Sender: TObject);var index:integer;beginFor Index:=0 to ControlCount-1 do原创 2011-08-27 00:17:28 · 1609 阅读 · 0 评论 -
抽象方法和虚方法和Override
type Tplane = class public procedure fly; virtual; abstract; //声明父类抽象方法,op多态 end;type Tcopter = class(Tplane) public procedure fly; override; //原创 2012-05-27 21:14:45 · 1052 阅读 · 0 评论 -
override[覆盖]
type TaClass = class procedure iProc; virtual; procedure A; end;type TbClass = class(TaClass) procedure iProc; override; //将子对象赋给父对象,由父对象调用子对象的方法 procedure B; end;v原创 2012-05-27 15:46:37 · 553 阅读 · 1 评论 -
delphi的Public.Private.Protected.Published作用域
delphi的Public.Private.Protected.Published作用域关于Class里的成员:1.Public,2.Private,3.Protected,4.Published,以上四个class 的成员指令,它们的功用是什么??要怎么用和什么时候输入?怎样用?和C++是差不多的、可见性不同、比较容易弄混的就是private和protected了、pro转载 2012-05-28 12:30:05 · 2041 阅读 · 0 评论 -
property
privatefunction GetText: string; procedure SetText(const Value: string); public property Text: string read GetText write SetText; function TformDialog.GetText: string; b转载 2012-05-29 15:29:29 · 575 阅读 · 1 评论 -
delphi 类的大体概述
刚刚接触的Delphi的朋友,可能最感兴趣的就是它丰富、强大的VCL(可视化构件库)。仅仅向窗体上扔几个构件,甚至不用动手写代码,就能很容易地做出一个有实用价值的程序,真是令人激动。但是,VCL只是Delphi的一小部分,Delphi的优秀远远不只是表现在VCL上。如果你仅仅停留在使用VCL这一阶段,那么你永远也不可能成为一个真正的Delphi高手。记住,必须超越VCL,才能够接触到Delphi的转载 2012-05-30 16:02:37 · 795 阅读 · 0 评论 -
接口
接口的奥秘消息处理程序、过程类型以及事件处理程序把Delphi程序与Windows操作系统联系在一起。这就是说程序是嵌入到Windows中的。Windows不能也无法预知运行在其中的程序,因为当Windows出现时,大部分应用软件还没有编写出来。当Windows出现时,它必须提供一种途径,使得应用程序可以响应操作系统。最后的结果是:Windows成为了一个基于消息的操作系统,而Window转载 2012-06-01 20:56:56 · 1207 阅读 · 0 评论 -
走进Delphi
走进Delphi本章回答了谁是本书的读者。本书适用于中、高级的Delphi程序员,以及从Visual Basic或C++语言迁移到Delphi的专业程序员。对于中等程度或过渡型的读者,本章提供了调整的机会。本章是专门为中等程度及过渡型的读者所设计的。如果您对基础知识了解得很清楚,可以跳过本章。本章试图保证在涉及基础知识时,我们大家都处于同一水准上。对于中等技术水平的Delphi程序转载 2012-06-09 23:04:50 · 2544 阅读 · 0 评论 -
多级接口实现方法
{多级接口实现方法 } {DateTime:2013.11.7} iFace = interface ['{68252415-0850-4B0D-89B5-C7F41C1E13F1}'] function getFuc: string; procedure Msg; end; iBace = interface ['{607028C1-69BD-原创 2013-11-07 01:02:58 · 785 阅读 · 0 评论