哪里有Delphi中常用的关键字解释说明资料?

pclogic 2003-11-08 10:50:01
如题~
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiexinliu 2003-11-08
  • 打赏
  • 举报
回复
多数参数是值参数(缺省)或变量(var)参数。值参数传递值(by value),变量参数传递引用(by reference)。要明白这一点,可以考虑下面的函数,

function DoubleByValue(X: Integer): Integer; // X是一个值参数

begin

X := X * 2;

Result := X;

end;

function DoubleByRef(var X: Integer): Integer; // X是一个变量参数

begin

X := X * 2;

Result := X;

end;

上面的函数返回相同的结果,但只有第二个函数 – DoubleByRef可以改变传递给其的变量的值。假设如下调用这两个函数:

var

I, J, V, W: Integer;

begin

I := 4;

V := 4;

J := DoubleByValue(I); //执行后 J = 8, I = 4

W := DoubleByRef(V); //执行后 W = 8, V = 8

end;

这些代码执行后,传递给DoubleByValue的变量 I 与最初赋给它的值相同。而传递给DoubleByRef的变量 V 则具有不同的值。

值参数的表现就象一个具有初始化值并传递到过程或函数调用中的局部变量。如果把一个变量作为值参数传递,那么过程或函数会创建一个副本;对值参数的改变只改变副本而不影响原始变量,并且当程序执行返回给调用者时这些副本被自动销毁。

另一方面,变量参数的表现就象一个指针副本。在函数或过程主体中对变量参数的改变将一致持续,直到程序执行返回调用者并且变量参数名自身已经离开其作用域。

即使相同的变量作为两个或更多的变量(var)参数被传递,也不会创建任何副本。例如,

procedure AddOne(var X, Y: Integer);

begin

X := X + 1;

Y := Y + 1;

end;

var I: Integer;

begin

I := 1;

AddOne(I, I);

end;

这些代码执行后,变量 I 的值为3。

如果一个例程的声明指定了一个变量(var)参数,那么当调用该例程时必需向其传递可赋值的表达式,如变量、类型常量(在 {$J+} 状态下)、解除参照的指针、域,或者被索引的变量。对于前一个例子(DoubleByValue和DoubleByRef),DoubleByRef(7)将导致错误,而DoubleByValue(7)是合法的。

索引和指针解除参照可以作为变量(var)参数传递。例如,DoubleByRef(MyArray[I])在例程执行之前将被求值一次。



主题组



相关主题
常量参数

Out参数

参数语义:概述





编者注

值参数相当于例程内部的局部变量,其内存分配自动完成:调用例程时分配,返回调用者时释放。因此在例程内部对其改变仅仅作用于参数值的副本。如果传递的是一个常量或者需要求值的表达式,那么常量或表达式的值回被存储到新创建的局部变量中。

变量参数相当于变量指针的别名,在例程内部并不为其分配内存。对于例程中每一次引用,都会自动解释成为传递进来的原始实体(变量或其他可赋值的表达式)。

由此可见,如果要将长串作为参数传递,则应当尽可能定义为变量(var)参数,以减少内存开销和提高代码效率。当然,这只是针对值参数和变量(var)参数而言。有时还需要考虑将长串参数声明为输出(out)参数,见Out参数。
更多见delphi中文帮助:
http://www.8860.net/delphicode/dispdoc.asp?id=70
--------------------------------------------------------------------
看尽悲伤,庸人自扰不平事。叹尽荒凉,海阔天空谁人知。狂风劲兮,百花飘
扬乱舞香。捏花一笑,海不扬波断肠心!

Inprise/Borland公司的Delphi可能是当前最好的Windows快速应用程序开发工具。 随着它在Linux平台上的版本Kylix的发布,它在Unix世界的前景也十分看好。Delphi完 全支持COM、ActiveX、可视化组件库(VCL),并提供了可扩展、可定制的快速应用程 序开发环境。本书是这种功能强大的开发工具的全面参考。 本书从简介Delphi Pascal并讨论Delphi对象模型开始,讨论了运行时类型信息 (RTTI)——Delphi开发环境的关键部分,这一点在Delphi的其他正式帮助文档很 少论及。本书还用一章的篇幅讨论了Delphi的并发编程,以及多线程应用程序的创建。 本书的主要内容是Delphi语言以字母顺序排列的完整参考。每项参考的内容都包括: 语法,使用标准编码惯例 说明参数列表,如果函数或过程包括参数的话提示和技巧—— 在实际程序使用某个组件的实用信息一个简单的例子其他相关关键字的交叉参考本书 秉承“坚果”(In a Nutshell系列技术手册的一贯风格。不管你对Delphi的掌握程度如何, 本书都是你日常工作不可或缺的标准参考指南。阅读本书,你将领略到Delphi的精华所在, 还可以解决实际编程可能遇到的问题。 第一章 Delphi Pascal 单元 程序 库 包 数据类型 变量和常量 异常处理 文件1/O 函数和过程 第二章 Delphi对象模型 类和对象 接口 引用计算 消息 内存管理 旧式的对象类型 第三章 运行时类型信息 虚方法表 公布的声明 .TypInfo单元 虚方法和动态方法 初始化和结束化 自动的方法 接口 探究RTTI 第四章 并发编程 线程和进程 TThread类 BeginThread和EndThread函数 线程局部存储 进程 未来化 第五章 语言参考 第六章 系统常量 Variant类型码 开放数组类型 虚方法表偏移值 运行时错误代码 第七章 运算符 一元运算符 多元运算符 附加运算符 比较运算符 第八章 编译器指示字 附录一 命令行工具 附录二 SysUtils单元 词汇表 多谢支持【Think you to your download~】
Delphi实例开发教程》源代码包说明 __________________________________________________________________ (一)源代码程序包内容: 源代码程序包的目录结构如下: \(根目录) | |————Readme.txt(说明文件必须放在这个地方) | |————\本书大案例(目录) | | |————|————DataBase(目录,存放大案例的数据库文件为“date”和数据库连接文件TEST.UDL) | | |————|————Materials(目录,存放大案例的登录logo) | | |————|————EXE(目录,存放可执行文件,为channelplay.exe) | | |————|————Setup(目录,存放安装文件) | | |————|————Source(目录,存放源代码,这个目录可以进一步细分) | | |————|————|————code(保存源程序) | | |————|————|————dcu(保存间编译文件) | | |————|————|————exe(保存可执行文件) 其安装程序文件夹里面是本案例系统的安装程序,与程序源代码无关。用户既可以以它来安装信息搜索系统程序,也可以直接从setup文件夹直接运行程序。(当然,两者前提是数据库配置好,具体的配置方法参考案例书第4章的案例分析与完善) 另外在source文件夹还有三个文件夹,code,dcu与exe是在编写程序代码是为了方便管理而设置的(这里的exe文件夹文件和大案例下的EXE文件夹一样)。在一般情况下,如果不对编写的delphi项目工程进行设置而直接保存到一个文件,那么在运行程序代码是就会在此文件夹产生间编译文件和最后的运行程序。如此则这同一个文件夹就不仅有项目文件、单元文件也会有在编译过程产生的编译文件和最后程序等。这样就不方便程序的管理和查看。所以在编写delphi项目工程之前最后设置三个文件夹分别用于保存源程序代码、间的编译文件和应用程序,以方便管理。(具体设置是先打开delphi7,选择[Project]->[options],打开一个对话框,directories/Conditionals页,在Output directory里填写保存应用程序的文件夹路径,在Unit Output directory填写保存间编译文件的文件夹路径。这两个路径最后写与源程序代码文件夹相关的相对路径。如本书的项目工程,源程序代码保存在code文件夹,那么Output directory里填写“..\exe”,而Unit Output directory里填写“..\dcu”。) (二)下面介绍大案例code文件夹里各个文件的内容和关系:(code文件夹里的几个文件夹都与本程序无关,可以删除) 1)ChannelPlayer.dpr-------本案例的工程文件 它说明项目各个单元文件的运行创建,并启动生成应用程序 2)MainFrm.dfm-----------------主窗体的窗体文件 它保存软件主界面窗体所作的属性 MainFrm.pas------------------主窗体的单元文件 它保存与软件主界面窗体相关的程序代码 以下各组文件的内容可以参考本书的第二章的实例分析与完善 3)MaintainFrm.dfm---------------对已保存的定制进行修改维护的窗体文件 MaintainFrm.pas-------------对已保存的定制进行修改维护的单元文件 4)BrowserFrm.dfm----------浏览器的窗体文件 BrowserFrm.pas----------浏览器的单元文件 5)CustomSearchFrm.dfm-------实现定制搜索功能窗体文件 CustomSearchFrm.pas-----------实现定制搜索功能单元文件 6)DisplayFrm.dfm----------------设计显示和操作搜索信息界面的窗体文件 DisplayFrm.pas--------------设计显示和操作搜索信息界面的单元文件 7)DisplayFra.dfm------------显示的搜索到的网站的窗体文件 DisplayFra.pas------------显示的搜索到的网站的单元文件 8)InputFra.dfm--------------进行搜索前对一些基本输入控件处理的窗体文件 InputFra.pas---------------进行搜索前对一些基本输入控件处理的单元文件 9)RollingNewsFrm.dfm---------用于滚动新闻设置的窗体文件 RollingNewsFrm.pas---------用于滚动新闻设置的单元文件 10)SettingFrm.dfm-----------用于系统的设置的窗体文件 SettingFrm.pas-----------用于系统的设置的单元文件 11)SiteArrangementFrm.dfm---整理“站内搜索”子模块用户设置的窗体文件 SiteArrangementFrm.pas---整理“站内搜索”子模块用户设置的单元文件 12)SiteSearchFrm.dfm--------主要用于实现站内搜索的窗体文件 SiteSearchFrm.pas--------主要用于实现站内搜索的单元文件 13)SplashFrm.dfm-----------实现系统开始运行闪屏的窗体文件 13)SplashFrm.pas-----------实现系统开始运行闪屏的单元文件 14)ViewFra.dfm--------------设定查询数据库保存的搜索结果信息条件输入的窗体文件 ViewFra.pas--------------设定查询数据库保存的搜索结果信息条件输入的单元文件 15)ViewInfoFrm.dfm----------对数据库信息查询的窗体文件 ViewInfoFrm.pas-----------对数据库信息查询的单元文件 16)UnitSearch.pas-----------实现百度、新浪等搜索引擎线程定义的单元文件 以上是code文件夹的主要文件,也是本案例工程的所有代码文件,其ChannelPlayer.dpr是工程文件,记录本工程的信息;其他的窗体都是在本系统程序使用时动态调用(各个文件的调用关系可以参考本书第一章实例分析与完善的概要模块设置部分)。code文件夹其他文件是在程序编译运行时候有delphi7自动生成,用户可以不管。其*.~后缀的文件是相应文件名的备份,它们也是由delphi7自动生成。 (三)source文件夹dcu文件夹保存的文件是程序在编译的时候生成的间文件,它们都对应code文件夹的每个*.pas单元文 件。 (四)source文件夹exe文件夹的文件: ChannelPlayer.exe---是本项目工程运行是自动生成的可执行运用程序 (五)系统需求: 1. 硬件要求: 基本配置为: ¢ CPU:Intel Pentium II-class 300 MHz (Intel Pentium III-class 600 MHz recommended) 这表明需要至少300MHz的奔III处理器,笔者所使用的是雷鸟1G,应该说 性能还是可以的。 ¢ RAM:96MB(128MB recommended) 实际上,128M内存运行起来还是觉得不够,最好能够有256M以上内存。笔 者使用的是256M DDR内存。 ¢ Available hard disk space(for install):250MB ¢ Available hard disk space(post install):155MB 事实上,这个要求仅仅是针对安装delphi7所提出的 要求。 ¢ Video:800×600,256 colors 只要是14英寸显示器就可以达到这个要求。 ¢ CD-ROM:required 这只是目前计算机的标准配置,实际上,如果不是采用光盘安装的话,CD-ROM 根本就派不上用场。 ¢ Operating System:Microsoft Windows 2000(or up) ¢ Microsoft Internet Explorer 5.5(or up) 2. 本系统工程的开发环境 本信息搜索系统程序是在WindowsXP的Delphi7环境下开发编写的,并且通过测试。另外本系统也能在windows98,me,2000 的delphi7环境下开发编写。对于delphi的版本,虽然delphi6与delphi7相差不大,但由于本系统的网络部分用到的一些网络控件在delphi6没有,所以如果想使用delphi6编写的程序员要用delphi6的网络控件代替delphi7的网络控件。对于刚出的delphi8,由于它是基于net框架的,主要用于网页编写,编写应用程序的方式不一样,而且delphi7的很多控件都没有,所以一般不能在delphi8开发运行(除非重新编写所有的代码)。 (六)注意事项: 本系统要注意开发环境的选取,如上面所说的,最好使用delphi7以下的版本,不能使用delphi8。另外还要注意系统程序所用到的数据库的设置,先是把数据库还原,然后设置TEST.UDL里的连接参数,使程序能与数据库建立关系。这样之后才能运行程序。最后,由于本系统是借助几大门户网站的搜索功能实现搜索,所以要注意这些门户网站的更新,根据它们的更新来更新本系统。 (七)技术支持信息: 本系统的运行与操作: 本系统在运行之前要先设置好与数据库的连接(参考第4章的实例分析与完善)。然后运行程序会出现一个主界面,界面间是有关新闻的滚动。点击“定制搜索”功能可进入定制搜索界面,在界面的左边可以选择是搜索以前的关键字还是重新输入,如果重新输入着在“关键字”栏里填写关键字,然后选择相关设置就可以搜索。对于搜索到的信息可以直接单击进入网页,也可以右键点击选择不同的操作。保存搜索信息公能用于对本次搜索信息保存到数据库。点击主界面的“查看信息”功能可以进入查看信息界面,其界面与定制搜索界面相识。 点击主界面的“滚动新闻”功能和“系统设置”功能可以设置主界面的新闻滚动和本系统的信息。 _________________________________________________________________ 技术支持的联系方式: 如果用户对于本系统程序有什么疑问可以发邮件到: hsw_gm@21cn.com tenny_2000@163.com sqwen@yeah.net kukocpoplee@tom.com Jingfei2000@21cn.com _________________________________________________________________
功能列表 * 采用Perl编写, 稳定性强 * 采用文本数据库, 使用方便、速度快 * 文件锁定支持(*nix, Windows), 防止数据丢失 * 文章列表, 文章自动分页 * 文章搜索, 可以搜索除文章内容外的所有文章信息 * 二级分类, 无限开设类别和栏目 * 文章推荐, 把精彩文章Email给朋友 * 点击计数, 对每一篇文章进行精确统计 * 全面的文章信息, 来源/作者/责任编辑/发表人/**期/关键字 * 相关文章, 根据文章关键字自动搜索 * 文章累计/**X天点击排行榜(CGI/JS) * 最新X篇文章排行(CGI/JS) * 强大的会员系统, 详细定义会员权限 * 文章标题标签, 修饰文章标题 * 完善的文章审核系统 * 完全定制页面收/尾内容 * 详细的颜色风格设置, 使其符合您网站的风格 * 随意定制文章标题显示格式 * 文章编辑/移动/更新/删除/删除评论功能 * 管理区登陆**志 * 文章内容支持XLB代码/HTML/纯文本 * 文章列表新旧文章提示 * 详尽的功能设定, 高度可定制性 * 文章评论功能 * 类别/栏目 添加/修改/拉前 * 文章模板机制, 可自行制作模板, 选择模板直接套用 * 内置/自定义 JS专题, 丰富的调用内容 * 文件上传/浏览/删除/基本操作 * HTML方式按**期查看的栏目文章列表(选择模板套用) * 类别/栏目导航条 * 会员积分制, 积分排行 * 文章投稿, 无需会员注册, 可设置审核机制 * 新闻回顾, 直接浏览某一**期的所有文章。 * 插件功能, 轻松实现功能扩展 * 自定义链接类别/栏目功能, 增强网站的整体性 * 颜色设定功能, 可选择预定义的颜色配置方案 * 自定义CSS文件 3.4 变动 - 新增MyList功能, 文章列表页面模板化 - 新增说明文件 "模板标签.txt" - 修正相关文章数量设置不起作用的错误 - 修正文章页面导航栏链接错误 - 修正自定义专题缺少栏目ID标签的问题 - 修正文章页面搜索功能的JS错误 - 修正文章页面计数显示的错误(与实际差1) - 修正文章搜索列表点击数显示错误的问题 - 修正添加文章后最新文章JS文件更新的一些问题 - 修正数据转换程序丢失文章的问题 - 修正了其它的一些小错误 有需要或有能力的请自行购买商业版本以得到更好的服务

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧