易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi函数和过程

     过程无返回值,函数有返回值。
     procedure MyProc(m,n : Integer; o : String; p : Single = 2.5; q : String = 'Delphi');
     如上例所示,过程声明和定义中,多个参数是用分号隔开的,但在调用时是用逗号隔开的 。eg:
     MyProc(3, 4, 'me', 3.14);
     上例中省略了最后一个参数,当指定一个参数的缺省值后,其后的所有参数都必须指定一个缺省值,如上面的声明中的参数 p 和 q 。或者说,应该把所有指定默认值的参数放在参数列表的后面。
     Delphi函数的值有两种方式返回,第一:把值赋给函数名;第二:把值赋给Result。而Result实际上是函数名的一个别名,同时它也是每一个函数内部自动隐含的局部变量,其类型跟函数的返回类型相同。
     一般情况下,使用Result方式返回函数值,而不用函数名来返回。因为在调用一个无参数的函数时只写函数名就可以调用,不像C语言等其它语言一样即使无参数也要在函数名后加上括号,这样很容易不小心就写成递归调用,进入死循环。另外,有时候在coding过程中可能需要修改已经定下的函数名,此时如果用Result返回函数值的话就不需要再修改函数体了。
function Add:Integer;
var
  i:Integer;
begin
  Result := 0;
  for i := 1 to 100 do
    Add := Add + i;    //死循环
  ShowMessage(IntToStr(Result););
end;
     需要注意的是,Delphi和其他一些语言不同,它的函数在返回值的时候并不中止函数本身,它总会执行到函数的最后一条语句。如果需要提前退出,可以用 Exit;语句。


相关文档:

Delphi组件开发教程指南(2)简单扩充TEdit


上一篇,介绍了组件开发的一般概述,以及组件类层次结构的各个类的大致信息!现在就开始通过实例进行来简单的讲述一下一般组件的开发过程!我这里先采用最
基本的方式来创建一个组件!也就是使用Delphi自己的组件开发向导来建立一个新的组件。在这里,我以扩充TEdit为例进行讲解。
   那么首先,要介绍的就是 ......

delphi TWebBrowser组件使用详解

delphi TWebBrowser组件使用详解
      该组件是一个浏览器组件,可以显示一个指定地址的网页、设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切、复制、粘贴、删除等操作。该
      组件在Internet组件页中。
     ......

delphi实现字符串中数字的判断及相应数字累加

最近面试了一家企业,下面有一道从来没有想过的问题,当时有思路,不过写不出来.回来后,调试了一下,发现还是有难度的,写上来看大家是否还有更优化的写法,欢迎讨论:
下面实现将字符串"10ad200d3" 中的数字合计,10+200+3=213
var s1:string;
var i:integer;
var n1:integer;
var tem1: string;
var tem2:integer;
  ......

Delphi图像处理 图像高斯模糊处理(改进版)

     我在文章《Delphi图像处理 -- 图像卷积及高斯模糊》中,介绍了利用通用的图像卷积过程对图像进行高斯模糊处理,其处理效果还不错,处理小型图像时感觉也还行,但是处理较大图像时的速度还是嫌慢,在我的P4 2.8G、1G内存的机器上对千万像素图像进行Q=3,R=5的高斯模糊处理,不包括图像装载和前期数 ......

Delphi表达式

function ExpCalc(exp: string): string;
var
vScript: Variant;
begin
vScript := CreateOleObject('ScriptControl');
vScript.Language := 'VBScript';
Result := vScript.Eval(exp);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=ExpCalc('100 *4.17/0.5*(55. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号