Delphi拾遗(7) 参数与返回值
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
//返回值问题
function Add(x, y: Integer): Integer;
function Add_Res(x, y: Integer): Integer;
//关于函数的参数问题
//参数可以分为: 默认参数(传值)、var(传址)、out(输出)、const(常数)四类
function MyFun1(Value: Integer): Integer;
function MyFun2(var Value: Integer): Integer;
function MyFun3(out Value: Integer): Integer;
function MyFun4(const Value: Integer): Integer;
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
{ TForm2 }
function TForm2.Add(x, y: Integer): Integer;
begin
Add := x + y; //使用函数名作为返回存储变量 (少用)
// Add := Add + 1; // 函数名作为返回存储变量 不能进行运算操作
end;
function TForm2.Add_Res(x, y: Integer): Integer;
begin
Result := x + y;
Result := Result + 1;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(Add(2, 4))); // 6
ShowMessage(IntToStr(Add_Res(2, 4))); // 7
end;
{默认参数是传值, 会被改变}
function TForm2.MyFun1(Value: Integer): Integer;
begin
Inc(Value);
Result := Value;
end;
{var参数是传址, 会被改变}
function TForm2.MyFun2(var Value: Integer): Integer;
begin
Inc(Value);
Result := Value;
end;
{out参数是为支持Com的, 和 var 的结果是一样的, 一般我们用不着它}
function TForm2.MyFun3(out Value: Integer): Integer;
begin
Inc(Value);
Result := Value;
end;
{const参数是绝对不可以赋值的, 这是被编译器优化的方式, 尽量多用}
function TForm2.MyFun4(const Value: Integer): Integer;
begin
// Inc(Value); 常量值不能被改变,强行改变会报错
Result := Value;
end;
procedure TForm2.Button2Click(Sender: TObject);
var
a: Integer;
相关文档:
//**************需要强调的两个快捷键**********************
51.CTRL+SHIFT+U 代码整块左移2个空格位置
52.CTRL+SHIFT+I 代码整块右移2个空格位置
60.Ctrl+Alt+c 注释块
61.Ctrl+Alt+u & ......
1、首先将delphi中Controls单元提取
2、修改Controls单元中如下部分:
procedure TWinControl.CreateParams(var Params: TCreateParams);
begin
FillChar(Params, SizeOf(Params), 0);
with Params do
begin
Caption := FText;
Style := WS_CHILD or WS_CLIPSIBLINGS;
&nbs ......
技术交流,DH讲解. 最近和肥鸟交流了下关于字符串方面的知识,而这篇文章是很久以前写的,现在发出来吧. 我们写两段代码来对比下:
第一个用Copy函数:
procedure TForm1.Button1Click(Sender: TObject);
var
a,c:Cardinal;
n:Integer;
D:Double;
i:Integer;
b:string;
begin
c:=0; ......
结合Delphi
客户端桌面开发的优势和Java的稳健强壮特性,采用Delphi
Client + Java Server的系统架构应该是很有市场的,经过一段时间的实际项目实践,实现架构是这么实现的,供讨论:
1.后台应用服务层可采用基于Spring+Hibernate的轻量级J2EE实现,并使用Apache XML-RPC
提供客户端调用接口;
2.前台采用 Delphi
......
在Delphi里实现MD5加密其实很容易!方法如下:
在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码
即可以达到MD5的实现。
示例代码
procedure
TForm
1.Button1Click(Sender: TObject);
var
MyMD5: TIdHashMessageDigest5;
Digest: T4x4LongWordRecord;
begin
MyMD5 := T ......