其中要返回的一个结果的类型是boolean,另一个返回结果的类型是字符串,那个函数
应该怎样写才会返回两个不同类型的结果
应该怎样写才会返回两个不同类型的结果
解决方案 »
- 循环中有延时,导致在循化执行中不能关闭,如何可以关闭?
- 如何获取excel中被鼠标点击单元格的值!在线等!
- 菜鸟提问题拉~~大家快来抢分~~
- 如何修改报表页面设置为自定义(默认为A4)?请进来看,还有其它问题。请教!
- 特急 @@@cxGrid 数据处理@@@
- 送分的问题,过来看看
- 用query的locate方法进行模糊查询
- 100分!!!主调程序与dll如何共享一个BDE的数据库的连接(TDatabase TQuery...)
- 请问大家学ACCP怎么样?????????
- 我的全部分换你帮我解决怎么做到ie限制功能?象美萍的ie插件那样!
- 关于自定义报表预览的问题,请大家帮我看一下,谢谢!
- pchar 与string,char有什么区别?
begin
Result:=false;//这里传回boolean结果
if (argv%2=1) then
begin
OtherResult:='奇数';//另一string结果用VAR 传回
Result:=True;
end;
else
OtherResult:='偶数';
end;
//主程序的调用例子
var
s:string;
begin
Test(3,s);
showMessage(s);
end;
type
RRec = record
RBool : boolean;
RStr : integer;
Endfuction Test(Paralist):RRec;
case Integer of
1:R1:Boolean;
2:r2:string;
end;还可以这样,Result:=Boolean(Integer(Pointer('hahaha'))))嘿嘿!
function A:string; overload;
1。定义一个结构。函数返回结构(或结构的指针)。
2。定义一个过程。参数用var修饰!(实际上还是指针)
---- Function FName(var s : String ; var b : Boolean) : Integer/ot ;可以的
function A(V:boolean):boolean; overload;
function A(V:string):string; overload;
overload有什么用,可否解析一下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
private
{ Private declarations }
function GetResult(Value:Boolean):Boolean;overload;
function GetResult(Value:String):String;overload;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.GetResult(Value: Boolean): Boolean;
begin
Result:=not Value;
end;function TForm1.GetResult(Value: String): String;
begin
Result:=Value+Value;
end;end.
PRect(Afun);
PInteger(Afun);等等
但函数的返回值所指的地址一定要和所要求类型的地址格式相同.不要返回一个String型,用 PRect(Afun)取值.函数中可以用 PString(Result) := '值';
PRect(Result).Top := 123;
PRect(Result).Left := 123;等等很灵活的.
Function mengxiabao(ID:Integer ;StringItem:TStringList):age integer;
在程序外创建StringItem
在函数内给StringItem赋值
在调用函数外用StringItem 的值
这个算不算返回两种类型啊!!!!!!!!!!!!!!!!!!!!!!!
type test = reocrd
b : Boolean ;
s : String;
end;
fuction atest :test ;
begin
Atest.b := true ;
Atest.s :=‘Just a test’;
end ;
如果是要根据不同的参数返回不同类型的结果,当然就只好重载。
用记录的情况全部的代码是:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
RRec = record
r1:integer;
r2:boolean;
end;
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
private
function F1():RRec;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
rec:RRec;implementation{$R *.dfm}function TForm1.F1: RRec;
begin
result.r1 :=10;
result.r2 :=false;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
rec:=f1();
label1.Caption := inttostr(rec.r1);
label2.Caption := booltostr(rec.r2);
end;end.
不好意思本来想在label1的click里写的,竟然点错了555555。