- 浏览: 2067424 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
摘自:http://topic.csdn.net/t/20030614/03/1914197.html
delphi指针简单入门:
看一个指针用法的例子:
1 var
2 X, Y: Integer; // X and Y 整数类型
3 P: ^Integer; // P 指向整数类型的指针
4 begin
5 X :=17; // 给 X 赋值
6 P := @X; // 把 x的地址赋给p
7 Y := P^; // 取出p所指向的数值赋给y
8 end;
第二行定义了两个变量X,y. 第三行声明了p是指向整数类型的指针;意味着p能够指向x或者y的地址.第五行赋给x值,第六行把x的地址赋给p.最
后通过p指向的变量赋值给y.此时,x和y有相同的值.
操作符@用来取出变量的地址,也可以取出过程和函数的地址.
而符号^有两个目标,
当它出现在类型定义的前面时如 ^typename 表示指向这种类型的指针;
当它出现在指针变量后边时 如 point^ 返回指针指向的变量的值;
理解指针比较容易理解面向对象的pascal语言,因为指针经常在幕后操作.任何要求动态分配大的内存空间的类型可以用指针类型.例如
,long-string变量,实际在使用指针进行操作.另外一些高级的编程技术需要使用指针类型.
有时指针是适应object pascal严格的类型限制的唯一方法.同过一个通用的指针类型,通过类型转换成不同的指针类型,如下面的例子:
type
PInteger = ^Integer;
var
R: Single;
I: Integer;
P: Pointer; //通用的指针
PI: PInteger;
begin
P := @R; //取出R的内存地址
PI := PInteger(P); //把通用类型转换成指向整数类型的指针
I := PI^;
end;
当然了,实数和整数的存储格式不同.这种赋值是把原始的二进制数据从R拷贝到I,而不进行转换.
保留字nil是一个特殊的常量可以赋给任何指针类型,当nil赋給一个指针时,指针什么也不指向,是一个空指针.
@操作符返回变量的内存中的存储地址,或者是过程\函数\方法;
1.如果变量,@X返回的是x的地址。如果编译选项{$T-}没有打开,着返回的事一个通用的指针,如果编译选项打开了,着返回的是x的类型对应的指
针.
2.如果是例程(过程\函数),@F返回的是F的入口点,@F的类型是一个指针。
3.当@用在类的方法中时,则方法的名称必须有类名,例如@TMyclass.Dosomething
指针指向TMyclass的dosomething方法。
当一个过程变量在赋值语句的左边时,编译器期望一个过程值在赋值语句的右边。这种赋值使得左边的变量可以指向右边定义的过程或者函数
入口点。换句话说,可以通过该变量来引用声明的过程或者函数,可以直接使用参数的引用。
var
F: function(X: Integer): Integer;
I: Integer;
function SomeFunction(X: Integer): Integer;
...
F := SomeFunction; // 给f赋值
I := F(4); // 调用所指向的函数
在赋值语句中,左边变量的类型决定了右边的过程或者方法指针解释。
var
F, G: function: Integer;
I: Integer;
function SomeFunction: Integer;
...
F := SomeFunction; // 给f赋值
G := F; // 把F的值拷贝给G
I := G; // 调用函数
第一句获得函数的入口,第二句将指针复制,第三句获得函数的返回值。
有时候还可以这样使用
if F = MyFunction then ...;
在这里,F的出现导致一个函数调用;编译器调用F指向的函数,然后调用Myfunction,比较结果。这个规则是无论何时一个过程变量(
procedural variable)出现在一个表达式中,它表示调用所指向的函数或者过程。有时F指向一个过程(没有返回值),或者f指向一个需要参
数的函数,则前面的语句会产生一个编译错误。要比较F和Myfunction需要用
if @F = @MyFunction then ...;
@F把F转换成一个包含地址的无类型的指针变量,@myfunction返回myfunction的地址。
获得一个过程变量的内存地址使用@@。例如,@@F返回F的地址。
@操作符通常把一个无类型的指针值赋给一个过程变量,例如:
var StrComp: function(Str1, Str2: PChar): Integer;
...
@StrComp := GetProcAddress(KernelHandle, 'lstrcmpi ');
调用GetProcAddres函数,用strcomp指向这个值
任何过程变量可以赋成nil,表示指证什么也不指向。但是试图调用一个nil值的过程变量导致一个错误,为了测试一个过程变量是否可以赋值
,用标准的赋值函数Assigned
if Assigned(OnClick) then OnClick(X);
先到这里吧,我也是一边看帮助一边翻译的,没有参考什么书籍,所以有一些名词可能不太准确,希望大家多多包涵吧,毕竟本人的英文水平有限啊
.呵呵
有什么问题可以参看delphi的帮助的相关内容,个人觉得还是看帮助好一些,而且原文最好,像我这样翻译可能误导大家啊,看的时候要受其精华
弃其糟粕,看完了别骂我就行了,全当我给大家仍块砖头吧,别砸我啊@_@
发表评论
-
form打开时的关闭代码
2011-10-25 20:29 1591摘自:http://topic.csdn.n ... -
TUpdateSQL更新问题 提示Update Failed
2011-08-29 20:26 1247摘自:http://topic.csdn.net/u/200 ... -
图解如何用Eurekalog跟踪程序错误
2011-08-12 07:28 948图解如何用Eurekalog跟踪程序错误 摘自:h ... -
VirtualBox 复制VDI 并能创建新的虚拟机
2011-07-21 11:14 2750摘自:http://www.nonabyte.net/how- ... -
截获所有异常 不报错
2011-07-12 16:52 1245摘自:http://media.ccidnet.c ... -
delphi exe程序以及DLL程序如何在模块内部获得各自的路径
2011-07-11 16:38 1311delphi Exe程序以及DLL程序如何在模块内部获得各自的 ... -
Delphi文本文件读写
2011-07-11 14:55 1266Delphi文本文件读写 (2008-10-31 1 ... -
Delphi自定义的消息的使用
2011-05-31 14:12 2322阅:已验证,可通过; 摘自:http://blog.1 ... -
怎么查看OutputDebugString输出的信息?debugview
2011-05-25 16:02 3840网上很多说用debugview查看,我自己写了一个程序,里面用 ... -
Delphi里查看该变量的内存值
2011-05-25 13:32 1136Delphi里查看该变量的内存值:Run==>Evalu ... -
注册表操作 写入autorun启动项,键值为本程序的全路径
2011-05-20 15:40 1834procedure TForm4.Button2Click ... -
报说包frx7和frxdb7都包含了某个单元的错误
2011-05-11 09:59 10401. 问题描述:在安装FastReport3的时候,安装到- ... -
Delphi中使用ListView和TreeView的Item中的Data可能被忽略的内存泄漏
2011-05-03 14:34 1471摘自:http://blog.csdn.net/g ... -
WM_USER的说明 用户消息ID
2011-04-28 10:46 1695WM_USER 摘自:http://baike.bai ... -
ToolButton不能改变大小
2011-04-28 10:38 3469问题描述:ToolButton不能改变大小? 问 ... -
Delphi里TOOLBAR 上的button的caption为什么显示不出来啊
2011-04-20 17:55 1779Delphi里TOOLBAR 上的button的caption ... -
Delphi中paramstr的用法 应用程序间传递数据
2011-04-01 14:33 2116Delphi中paramstr的用法 应用程序间传递数据 ... -
Delphi中的THashedStringList对象 --大数据量时
2011-04-01 13:54 5164Delphi中的THashedStringLi ... -
inherited Create(AOwner); 和直接写inherited有区别吗
2011-03-26 15:44 1327摘自:http://zhidao.baidu.com/que ... -
delphi中的Create,Send,Sender,Self
2011-03-26 14:08 1471摘自:http://www.cnblogs.com/keyco ...
相关推荐
在这个"Delphi指针入门实例"中,我们将深入探讨指针的基本用法和相关知识点。 一、指针的定义 在Delphi中,指针是一个变量,它存储的是另一个变量的内存地址。使用`^`符号来声明指针类型,如`var ptr: ^Integer;`,...
本篇文章将深入浅出地介绍Delphi中的指针概念,帮助初学者快速入门。 首先,理解指针的基本概念至关重要。指针是一个变量,它存储的是另一个变量的内存地址。在Delphi中,指针类型通常以'^'符号开头,后面跟着所...
这个程序所包含的是,籍由故意设计而成的TInterfacedObject和TMyInterfacedObject2个类,得到4个实例对象,4个接口指针,并且演示了在编译器实现过程中,对象模型的空间状态,接口指针,接口方法表格种种复杂的关系...
7. **内存管理和性能优化**:了解Delphi的内存管理机制,如使用析构函数和智能指针,可以编写出更高效、更稳定的代码。 8. **网络编程**:Delphi提供了丰富的网络组件,如TIdHTTP、TIdTCPClient等,可实现HTTP请求...
**Delphi语法基础 入门推荐** Delphi是一款强大的面向对象的编程环境,以其高效的编译器和直观的集成开发环境(IDE)而受到程序员的欢迎。它基于Pascal语言,但增加了许多现代编程特性,使得Delphi成为开发桌面应用...
### Delphi入门学习课件知识点概览 #### 第2章:ObjectPascal语言基础 ##### 2.1 语言成分 - **程序组成**:理解程序的基本结构,包括词汇集、基本字符、保留字、指示字、标识符、分隔符、注释和编译指令。了解...
4. **数据库访问**:Delphi的DBExpress和ADO(ActiveX Data Objects)框架提供了与各种数据库系统的连接能力,使得数据库应用的开发变得简单。 5. **单元(Unit)系统**:Delphi中的代码组织方式是通过单元,每个...
指针是计算机编程中一种非常重要的概念,尤其在C++和Delphi这样的系统级编程语言中,它扮演着核心角色。本教程旨在帮助初学者理解并掌握指针的基础知识,从而能够更有效地进行程序设计。 首先,我们来理解什么是...
1.5 创建一个简单的应用程序 11 1.6 事件机制的优势在哪里 12 1.7 加速原型化 13 1.8 可扩展的组件和环境 13 1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数...
在本教程中,我们将逐步讲解如何从零开始编写一个简单的Delphi外挂,包括设置项目、导入API、编写内存读写代码、处理事件、以及反调试技巧。希望这个入门教程能为你开启外挂制作的学习之旅,让你在外挂技术的道路上...
Delphi编程入门详解 Delphi,作为一款历史悠久的集成开发环境(IDE),以其高效快速的开发能力和面向对象的编程语言Object Pascal闻名。自1995年发布以来,Delphi经历了多个版本的迭代,从Delphi 1到Delphi 2010,...
《Delphi入门经典》是一本深受初学者喜爱的Delphi编程教程,其以CHM(Compiled Help Manual)格式提供,方便读者在学习过程中快速查阅和理解。Delphi是一款强大的对象 Pascal 编程语言,以其高效的代码生成和直观的...
9. **内存管理和垃圾回收**:虽然Pascal不支持自动垃圾回收,但Delphi提供了一些智能指针(如`TInterfacedObject`和`IDispatch`)来简化内存管理,避免内存泄漏。 10. **社区和资源**:Delphi拥有活跃的开发者社区...
以下内容将对Delphi 2010的入门知识、基础语法、数据类型及运算符、程序流程控制、函数与过程、类与对象、接口、异常处理、运算符重载和泛型等关键知识点进行详细说明。 ### Delphi 2010 入门 Delphi 2010的入门...
在数据类型及运算符章节中,会详细讲解Delphi语言中的数据类型,包括简单类型(整型、实型、字符类型、布尔类型、枚举类型、子界类型)、结构类型(集合、数组、记录类型)、字符串类型、指针、变体类型以及运算符的...
Delphi是Borland公司推出的一款流行的快速应用开发工具,使用...Delphi2010语法手册为初学者提供了入门级别的指导,其内容涵盖了Delphi编程语言的各个方面,对于刚接触Delphi编程的开发者来说,是一本极佳的学习资源。
2. **数据类型**:在Delphi中,数据类型包括基本类型(如整型、浮点型、字符型)、枚举类型、数组、记录、指针和类等。了解并熟练使用这些类型是编程的基础。 3. **变量与常量**:变量是存储数据的地方,而常量则是...
delphi 快捷键的使用 delphi函数大全-繁体 delphi函数大全-简体 函数,属性大全 枚舉類型詳細說明 指令字,保留字,特殊符号 指针入门 指针的创建和释放 數據類型 数据类型转换-繁体 数据类型转换-简体 编译错误信息
Delphi的Pascal语法与标准Pascal略有不同,例如增加了类型安全的指针和异常处理机制。 接下来,我们要了解的是VCL(Visual Component Library),这是Delphi提供的组件库,包含了大量的预先构建的用户界面控件和非...
《Delphi XE4 语言指南》是一份针对Delphi XE4编程语言的详细学习资源,由叶叶(网名:yeye55)编写。该指南是Delphi开发者不可或缺的学习材料...这份指南强调清晰明了的表达,对于初学者来说是入门Delphi的最佳资料。