procedure tostring(bytes: array of byte): string;或者先声明: type TBytes = array of Byte;procedure tostring(bytes: Tbytes): string; procedure tosBytes(s: string): Tbytes;
如果作为dll文件里的函数的参数,需要调用borlndmm.dll.普通的用法和变量差不多吧
使用动态数组就行, 一楼ccp(阿賴耶識) 说的很好!不过我通常都是 这样的procedure tostring(var bytes: array of byte): string;
如果用在DLL中,建议不要用STRING类型,用标准的接口类型PCHAR; procedure ArrToString(ArrSource:array of byte; var ReturnString:pchar );stdcall;
TTestArr = array[0..9] of Integer;//接受数组的函数 procedure Test(var arr:TTestArr); var i:Integer; begin for i:=0 to 9 do arr[i]:=i; end;//输出处理前和处理后的数组值 procedure TForm1.Button1Click(Sender: TObject); var TestArr:TTestArr; i:Integer; begin for i:=0 to 9 do Memo1.Lines.Add(IntToStr(TestArr[i])); //未经处理,应该是随机值 Test(TestArr); Memo1.Lines.Add('--------------'); for i:=0 to 9 do Memo1.Lines.Add(IntToStr(TestArr[i])); //处理后,显示其值从0到9 end;
type
TBytes = array of Byte;procedure tostring(bytes: Tbytes): string;
procedure tosBytes(s: string): Tbytes;
一楼ccp(阿賴耶識) 说的很好!不过我通常都是
这样的procedure tostring(var bytes: array of byte): string;
procedure ArrToString(ArrSource:array of byte; var ReturnString:pchar );stdcall;
procedure Test(var arr:TTestArr);
var
i:Integer;
begin
for i:=0 to 9 do
arr[i]:=i;
end;//输出处理前和处理后的数组值
procedure TForm1.Button1Click(Sender: TObject);
var
TestArr:TTestArr;
i:Integer;
begin
for i:=0 to 9 do
Memo1.Lines.Add(IntToStr(TestArr[i])); //未经处理,应该是随机值
Test(TestArr);
Memo1.Lines.Add('--------------');
for i:=0 to 9 do
Memo1.Lines.Add(IntToStr(TestArr[i])); //处理后,显示其值从0到9
end;