delphi TComponent类(1)】的更多相关文章

来自:http://blog.csdn.net/lailai186/article/details/7442385 ----------------------------------------------------------------------- 学习DELPHI最好的方法是看DELPHI的VCL原代码爱看他的机制本文就类TComponent的原代码来看他的机制. { TComponent } constructor TComponent.Create(AOwner: TCompon…
来自:http://blog.csdn.net/lailai186/article/details/7442383 ------------------------------------------------------------------------ TComponent类 TComponent类直接由TPersistent派生.TComponent的独特特征是它的属性能够在设计期间通过ObjectInspector来控制,能够拥有其他组件. 非可视组件也是从TComponent派生的…
TComponent类 TComponent类直接由TPersistent派生.TComponent的独特特征是它的属性能够在设计期间通过ObjectInspector来控制,能够拥有其他组件.非可视组件也是从TComponent派生的,因此它们也继承了在设计期间可以被控制的能力.TComponent派生的非可视对象的典型例子是TTimer组件.TTimer组件是不可视组件,但它仍可以在组件面板上得到.TComponent定义了几个重要的属性和方法,在随后的段落中将加以描述. 1.TCompon…
提供了一堆原来C++没有的功能,比如反射什么的...但是可能还是没有Delphi的类之类更强,因为类之类可以“创建类”.可惜我学艺不精,对“类之类”也没有完全学会.先留个爪,有空把两个东西都好好学学,再来个比较... ----------------------------------------------------------------------------------- 除了D指针,Qt中另一个很有意思的部分就是Q_OBJECT宏了.该宏提供了对元对象的访问,使得能够使用比如信号和槽…
delphi 实体类 与JSON转换,序列化 TJson REST.JSON.pas   TJson.JsonToObjectTJson.ObjectToJsonString JsonEncode ObjectToJsonObject   http://docwiki.embarcadero.com/Libraries/Seattle/en/REST.Json.TJson_Methods      从JSONArray中获得JSONObject对象    JSONObject   jsonObj…
同学们在学习的时候经常会遇到一些问题,C++.Java.Delphi他们到底有什么不一样的呢?今天我们来比较C++.Java.Delphi声明类对象时候的相关语法.希望对大家有帮助! C++中创建对象的两种语法 在c++的类中,我如果要访问类中的成员变量或函数,有2种方法,第一种就是定义一个一个对象,如: Class A ... A aa; aa.xxx(); 另外一种就是 Class B ... B *aa = new B(); aa->xxx(); Java.C++.Delphi中创建对象…
http://blog.csdn.net/easyboot/article/details/8004954 Delphi 遍历类中的属性 标签: delphistringbuttonclassformswindows 2012-09-21 16:45 2125人阅读 评论(1) 收藏 举报  分类: Delphi(54)  版权声明:本文为博主原创文章,未经博主允许不得转载. unit Unit1; interface uses Windows, Messages, SysUtils, Vari…
property WindowState: TWindowState read FWindowState write SetWindowState; {声明一个属性WindowState,它从字段FWindowState读取值,用方法SetWindowState保存值(方法SetWindowState在内部将值保存到字段FWindowState)} property OnDestroy: TNotifyEvent read FOnDestroy write FOnDestroy {声明一个特殊的…
Classes and objects(类和对象) 类(或者类类型)定义了一个结构,它包括字段(也称为域).方法和属性:类的实例叫做对象:类的字段.方法和属性被称为它的部件(components)或成员.• 字段在本质上是一个对象的变量.和记录的字段类似,类的字段表示一个类实例的数据项:• 方法是一个过程或者函数,它和类相关联.绝大多数方法作用在对象(也就是类的实例)上,其它一些方法(称为类方法)作用在类上面.• 属性被看作是访问对象的数据的接口,对象的数据通常用字段来存储.属性有存取设定,它决…
既然已经做出了com程序用delphi来开发的决定,那当然就要对delphi进行一些深入的了解.有人说delphi是一个用控件堆砌起来的工具,和vb没什么两样:也有人说dephi实际上是面向过程的,他的面向对象并不彻底.实际生活中持这两种观点的人不在少数,就拿我认识的一个非常好的程序员来说吧,他很早就开始用vb,到后来接触到delphi,并且用delphi也开发了不少程序,但吃惊的是这些程序全都是面向过程的.我并没有贬低这种做法的意思,我想说的是:好的delphi控件+好的编程规范+优秀的vcl…
收集的两个托盘程序: 1. 托盘区就是在windows的状态栏下方显示时钟.输入法状态的地方, 要把你的程序显示在托盘区: 下面是一个托盘类,只要把下面粘贴到文本文件中,改成TrayIcon.pas,使用时uses TrayIcon就可以了. 先声明一个全局变量: var tray:TTrayNotifyIcon; 然后在窗体的OnCreate事件中: tray:=TTrayNotifyIcon.Create(self);//将窗体创建为托盘 tray.Icon:=application.Ico…
Delphi遍历进程中所有Class的TypeInfo,即便是在implementation中的class或者其他 class的private的子class. 一般普通EXE中的TypeInfo存放在PAGE_EXECUTE_*的内存中,而BPL则存放在PAGE_READ_WRITE的内存中. 所以我们要做的是遍历可执内存的内存片,然后找出TypeInfo的特征. 这里我是只找Class的类型信息,特征是tkClass,classname合法, 沿着typedata中的ParentInfo往前追…
//抽象方法类似与接口; 在没有接口的年代 Delphi 是用抽象方法来模拟接口的; 我想它最终会被接口替代. {下面就定义了两个抽象方法} TMyClass = class(TObject)   procedure Proc1; virtual; abstract;      {抽象方法首先应该是一个虚方法或动态方法}   function Fun: string; dynamic; abstract; {抽象方法也叫纯虚方法} end; {   抽象方法在本类中只有定义.没有实现;   抽象…
Delphi 封装了一个很强大的线程类 TThread, 我们也自己动手制作一个简单的线程类 首先Type一个类 type TwwThread = class constructor Create; overload; destructor Destroy; override; private m_hThread: THandle;     //线程 m_ThreadID : TThreadID; public procedure Execute; end; function wwThreadP…
Delphi调用OLE类实现TTS方式语音朗读 直接看代码: unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Comobj, Dialogs, StdCtrls, RzButton; type TFrmMain = class(TForm) btnStart: TRzBitBtn; mmMsg: TMemo; procedure btnSta…
既然已经做出了com程序用delphi来开发的决定,那当然就要对delphi进行一些深入的了解.有人说delphi是一个用控件堆砌起来的工具,和vb没什么两样:也有人说dephi实际上是面向过程的,他的面向对象并不彻底.实际生活中持这两种观点的人不在少数,就拿我认识的一个非常好的程序员来说吧,他很早就开始用vb,到后来接触到delphi,并且用delphi也开发了不少程序,但吃惊的是这些程序全都是面向过程的.我并没有贬低这种做法的意思,我想说的是:好的delphi控件+好的编程规范+优秀的vcl…
  //标准语法   TMyClass1 = class(TObject)   end;   //如果是继承自 TObject 可以省略   TMyClass2 = class   end;   //可以实现多个接口; 实现接口时经常用到 TInterfacedObject 类, 它实现了接口的默认方法   TMyClass3 = class(TInterfacedObject, Interface1, Interface2)   end;   //现在 TMyClass4 相当于 TObjec…
Delphi中,可以使用数据集控件提供的 Locate 成员方法快速定位至某条记录, 然后通过清除数据集控件的选中状态,并重新赋值达到我们的目的. grDirectory.DataSource.DataSet.Locate('StepNo', StrToInt(stepList[i]), []); grDirectory.ClearSelection; grDirectory.FocusedNode.Selected := True;…
{type放在interface下的uses引用单元下面} 1 // 声明类 type TMyclass = class //注意这里不能加';' 因为这是个整体 data: integer; //类的域 procedure ChangeData(Value: integer); // 类的方法(过程)按住Ctrl + shift + c键自动生成函数体 function GetData:integer; //类的方法(函数) // 类的域和方法可以根据自己的需要添加 end; { TMycla…
//要点17: 如果前面的方法要调用后面的方法, 后面的方法需要提前声明 function MyFunB(x: Integer): Integer; forward; {使用 forward 指示字提前声明} function MyFunA(x: Integer): Integer; begin   Result := MyFunB(x) * ; {要调用后面的方法, 后面的方法需要提前声明} end; function MyFunB(x: Integer): Integer; begin  …
//要点18: 如果函数在接口区定义了, 就无需用 forward 提前声明了 unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     procedure Button1Click(Sender:…
var inStream,outStream:TMemoryStream; begin inStream:=TMemoryStream.Create; outStream:=TMemoryStream.Create; try inStream.WriteComponent(self); inStream.Position:=; ObjectBinaryToText(inStream,outStream); outStream.Position:=; outStream.SaveToFile('c…
备忘,不常用经常忘了细节 TMyThread = class(TThread) private { Private declarations } protected procedure Execute; override; {执行} procedure Run; {声明多一个过程,把功能代码写在这里再给Execute调用} end; procedure TMyThread.Execute;begin { Place thread code here } FreeOnTerminate := Tr…
DELPHI 数据库连接类 做的时候目地是可以通过类的创建和释放进行数据库的短连接,在做服务端的时候每一个请求都通过类生成一个数据连接 unit UnDm; interface uses SysUtils, Classes, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, Menus, StdCtrls, ADODB, DB,inifiles; type TRecordResult = (RRError, RRZero, RROK); TDataSta…
absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var   Str: ];   StrLen: Byte absolute Str; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin   Str := 'abc';   Edit1.Text := IntToStr(StrLen); end; abstract //它允许你创建抽象的方法, 包括有抽象…
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var  Str: string[32];  StrLen: Byte absoluteStr; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin Str…
absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: string[32]; StrLen: Byte absolute Str; //这个声明指定了变量StrLen起始地址与Str相同. //由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度. begin Str := 'abc'; Edit1.Text := IntToStr(StrLen); end; abstract //它允许你创建抽象的方法, 包括有抽…
第一部分   快速开发的基础 第1章   Delphi 5下的Windows编程    1 1.1   Delphi产品家族    1 1.2  Delphi是什么    3 1.2.1   可视化开发环境    3 1.2.2   编译器的速度和已编译代码的效率    4  1.2.3   编程语言的功能及其复杂性    4 1.2.4   数据库结构的灵活性和可扩展性    5 1.2.5   框架对设计和使用模式的扩充    5 1.3   历史回顾    5 1.3.1   Delphi…
Delphi 2007体验! baidu 内容摘要:CodeGear(From Borland) 公司公布了最新的Delphi 2007 For Win32版本号.作为一个 Delphi 的使用者,第一时间下载.安装并进行了体验,现将一些使用感受记录例如以下 CodeGear(From Borland) 公司公布了最新的Delphi 2007 For Win32版本号.作为一个 Delphi 的使用者,第一时间下载.安装并进行了体验,现将一些使用感受记录例如以下: 注:以下的对照主要是针对Del…