
DELPHI
文章平均质量分 65
RegeditNo1
这个作者很懒,什么都没留下…
展开
-
GetMem使用方法
<br />使用delphi多年,前些天忽然遇到不会string转pbyte,很是失落,此时对于编程基本功的重要性深有体会.这其中用到MOVE函数.<br /> 搞了好一会才搞明白其用法.所以想贴出来帮助需要帮助的人.<br />var<br /> s:string;<br /> ps:Pchar;<br /> b:pbyte;<br /> len:integer;<br />begin<br /> s:=edit1.Text; //字符串<br /> ps:=pchar(s); /原创 2010-07-30 13:58:00 · 2843 阅读 · 0 评论 -
递归函数实例: 搜索当前目录下的所有嵌套目录
<br />unit Unit1;<br /><br />interface<br /><br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, StdCtrls;<br /><br />type<br /> TForm1 = class(TForm)<br /> Button1: TButton;<br /> Memo1: TMemo原创 2010-12-17 11:21:00 · 489 阅读 · 0 评论 -
循环链表
<br />unit Unit1;<br /><br />interface<br /><br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, StdCtrls;<br /><br />type<br /> TForm1 = class(TForm)<br /> Button1: TButton;<br /> procedure Fo原创 2010-12-17 16:58:00 · 405 阅读 · 0 评论 -
DELPHI 开发原生WINDOW窗口程序(过程/面向对象)
<br />一.DELPHI 开发原生WINDOW窗口程序(过程)<br />1.定义消息结构体TMessage(系统)<br />2.定义消息回调函数 WndProc<br />3.注册窗口信息到WINDOWS中(用到回调函数地址)<br />4.CreateWindow创建窗口<br />5.消息循环处理<br />program Project2;<br />uses<br /> Windows, Messages, SysUtils;<br />const<br /> AppName ='Pas原创 2010-10-26 16:37:00 · 958 阅读 · 0 评论 -
VCL的架构设计
VCL的架构设计图原创 2010-10-27 14:00:00 · 537 阅读 · 0 评论 -
双向链表
<br />unit Unit1;<br /><br />interface<br /><br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, StdCtrls;<br /><br />type<br /> TForm1 = class(TForm)<br /> Button1: TButton;<br /> Button2: TBu原创 2010-12-17 16:58:00 · 412 阅读 · 0 评论 -
指针参数
<br />{现在这个函数并没有 var 前缀, 也就是说参数应该不会被修改的} <br />function MyFun(p: PInteger): Integer; {PInteger 是 Integer 的指针类型}<br />begin<br /> p^ := p^ * 2;<br /> Result := p^;<br />end;<br /><br /><br />{测试}<br />procedure TForm1.Button1Click(Sender: TObject);<br />原创 2010-12-17 11:09:00 · 425 阅读 · 0 评论 -
重载
<br />function MyFun(s: string): string; overload;<br />begin<br /> Result := '参数是一个字符串: ' + s;<br />end;<br /><br />function MyFun(i: Integer): string; overload;<br />begin<br /> Result := '参数是一个整数: ' + IntToStr(i);<br />end;<br /><br />function MyFun(x原创 2010-12-17 11:11:00 · 477 阅读 · 0 评论 -
Stack使用
<br />{函数功能:将整形转换成string<br /> 传入参数:Value: LongInt<br /> 传出参数:result: string<br />}<br /> <br />function TDIntToStr(Value : LongInt) : string;<br />var<br /> ChStack: Array[0..10]of Char;<br /> ChSP: Integer;<br /> IsNep: Boolean; {是否负数}<br />原创 2010-12-28 11:12:00 · 1542 阅读 · 0 评论 -
认识类的多态
<br />什么是多态? 我的理解就是: 同样一个方法, 在不同的对象里会有不同的实现, 仅此而已. unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButto原创 2010-12-17 10:29:00 · 549 阅读 · 0 评论 -
单向链表的添加、删除与遍历
<br />unit Unit1;<br /><br />interface<br /><br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, StdCtrls;<br /><br />type<br /> TForm1 = class(TForm)<br /> Memo1: TMemo;<br /> Button1: TButton原创 2010-12-17 15:58:00 · 1710 阅读 · 1 评论 -
链表与数组的异同
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject);原创 2010-12-17 15:56:00 · 677 阅读 · 0 评论 -
DELPHI 符号含义
<br />符号代表的含义:<br /> <br />^:代表指针<br />@:取址<br />#:十进制<br />shift+4:十六进制<br /> <br /> <br />procedure TForm1.Button1Click(Sender: TObject);<br />var<br /> iTemp: Cardinal;<br /> pStr: ^Cardinal;<br />begin<br /> try<br /> iTemp := StrToInt64(Edit1.Text原创 2010-08-12 10:20:00 · 1499 阅读 · 0 评论 -
delphi Ansistring wideString shortstring
<br />在Delphi中字符串类型为String,有ShortString, AnsiString, WideString三种<br /><br />类型 最大长度 占用内存<br />ShortString 255 2-256 向后兼容<br />AnsiString 大约2^31 4字节-2G 8位(ANSI)字符<br />WideString 大约2^30 4字节-2G原创 2010-12-16 15:09:00 · 3094 阅读 · 0 评论 -
TObject 对象模型
TObject 对象模型创建步骤1.分配和初始化内存(内存切换【未开放】) 1.1:Object Pascal 的对象模型会先初始化所有的内存内容为0,String 类型为空字符串 1.2:为类中声明的特别字段进行初始化的工作2.设定字段变量数据结构3.设定执行框架Object Pascal 对象模型提供的基础服务1.对象创建服务: 提供创建对象机制 TObject = class ... constructor Create; class function NewInstance: T原创 2010-10-27 17:54:00 · 562 阅读 · 0 评论 -
参数前缀
<br />//要点11: 参数可以分为: 默认参数(传值)、var(传址)、out(输出)、const(常数)四类<br /><br />{默认参数是传值, 不会被改变}<br />function MyF1(x: Integer): Integer;<br />begin<br /> Inc(x);<br /> Result := x;<br />end;<br /><br />{var参数是传址, 会被改变}<br />function MyF2(var x: Integer): Integer;原创 2010-12-17 10:53:00 · 571 阅读 · 0 评论 -
方法是一个指针
<br />{自定义过程}<br />procedure MyProc;<br />begin<br /> ShowMessage('ok');<br />end;<br /><br />{自定义函数}<br />function MyFun: string;<br />begin<br /> Result := 'ok';<br />end;<br /><br />{读取它们的指针}<br />procedure TForm1.Button1Click(Sender: TObject);<br />v原创 2010-12-17 11:13:00 · 475 阅读 · 0 评论 -
使用方法类型
<br />{定义方法类型}<br />type<br /> TFunType = function(x: Integer): Integer; {函数类型}<br /> TProcType = procedure(name: string); {过程类型}<br /><br />{定义一个符合 TFunType 类型的函数}<br />function MyFun(x: Integer): Integer;<br />begin<br /> Result := x * 2;<br />原创 2010-12-17 11:16:00 · 430 阅读 · 0 评论 -
回调函数
<br />//把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数<br /><br />type<br /> TFunType = function(i: Integer): Integer; {声明一个方法类型}<br /><br />function MyFun(i: Integer): Integer; {建立类型兼容的函数}<br />begin<br /> Result := i*2;<br />end;<br /><br />{把函数当作参数, 再定义一个原创 2010-12-17 11:17:00 · 444 阅读 · 0 评论 -
一个简单的"单向链表"
<br />unit Unit1;<br /><br />interface<br /><br />uses<br /> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br /> Dialogs, StdCtrls;<br /><br />type<br /> TForm1 = class(TForm)<br /> Button1: TButton;<br /> Button2: TBu原创 2010-12-17 15:56:00 · 485 阅读 · 0 评论 -
DELPHI 消息处理
<br />在程序员大本营上看到的文章,觉得不错,贴上来 <br /><br />VCL HardCore —— VCL窗口函数注册机制研究手记,兼与MFC比较 <br /> 中国软件开发网络 --> 开发图书馆 --> Delphi --> 系统 --> VCL HardCore —— VCL窗口函数注册机制研究手记,兼与MFC比较 <br />关键字: <br />VCL Delphi Windows消转载 2010-11-04 15:47:00 · 2161 阅读 · 0 评论