自定义函数的使用问题??? |
答題得分者是:william
|
ljq_2002
一般會員 發表:27 回覆:12 積分:7 註冊:2003-01-02 發送簡訊給我 |
有一个pas的函数文件,如: unit ymb_units; interface uses
Windows, Messages, SysUtils, Variants, Classes,Forms; function Ljust(var stra:string;var strb:string;var k:integer):string; implementation {$R *.dfm} function Ljust(var stra:string;var strb:string;var k:integer):string;
var
i:integer;
j:integer;
ss: string;
begin
Result:=''; if length(stra)=k then
begin
Result:=stra;
end
else
begin
i:=k-length(stra);
ss:='';
for j:=1 to i do
ss:=ss strb; result:=ss strb;
end;
end; 然后在一个程序中调用ljust,如:
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls,ymb_units; type
TForm1 = class(TForm)
edt1: TEdit;
btn1: TButton;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btn1Click(Sender: TObject);
begin
edt1.Text:=ljust('4','0',5);
end; end.
编译时出现如下错误!!!
types of actual and formal var paramters must be identical!
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
方法一
...
function Ljust(stra:string;strb:string;k:integer):string;
...
function Ljust(stra:string;strb:string; k:integer):string;
var
i:integer;
j:integer;
ss: string;
begin
Result:=''; if length(stra)=k then
begin
Result:=stra;
end
else
begin
i:=k-length(stra);
ss:='';
for j:=1 to i do
ss:=ss strb; result:=ss strb;
end;
end;
这样定义去掉var 方法二:
或者这样调用
var
a,b:string;
c:integer;
begin
a:='4';
b:='0';
c:=5;
edit1.Text:=ljust(a,b,c);
end; 發表人 - sos_admin 於 2003/08/22 15:18:01
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |