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;
Delphi 是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具技术的先驱者,它越来越在构架企业信息系统方面发挥着重要作用。由于Delphi 这些显著特点,许多程序员选择Delphi作为开发工具编制各种应用程序。但是,令人惋惜的是Delphi没有自带串口 ......
技术交流,DH讲解. 最近和肥鸟交流了下关于字符串方面的知识,而这篇文章是很久以前写的,现在发出来吧. 我们写两段代码来对比下:
第一个用Copy函数:
procedure TForm1.Button1Click(Sender: TObject);
var
a,c:Cardinal;
n:Integer;
D:Double;
i:Integer;
b:string;
begin
c:=0; ......