函数如何返回array of byte(20分)

  • 主题发起人 chong_chong214
  • 开始时间
C

chong_chong214

Unregistered / Unconfirmed
GUEST, unregistred user!
先拜了,如个做一个返回array of byte的函数(输入字符串返回比特数组)
 
procedure TForm1.Button1Click(Sender: TObject);
type TByteArray=Array of Byte;
function GetStr:TByteArray;
begin
SetLength(Result,100);
StrPCopy(PChar(@Result[0]),'aaaaaaaaaaa');
end;
var B:TByteArray;
begin
B:=GetStr;
ShowMessage(Pchar(@B[0]));
end;
 
这两种方法读可以
funcation f1(var buf :array of byte):integer;
funcation f2(buf:pChar):Integer;
 
谢谢俩位了先,第一位的试过不行
我的代码如下
//将字符转换成比特型
Function TShortLetter.StringToByt(sOrder:String):array of Byte;
var
SendData:array of byte;
i:Integer;
iOrderLen:Integer;
begin
iOrderLen:=Length(sOrder);
SetLength(SendData,iOrderLen);
for i:=0 to iOrderLen-1do
SendData:=Ord(sOrder[i+1]);
Result:=SendData;
end;
 
编译不过去,这是为什么?
 
你有没有仔细看?
type TByteArray=Array of Byte;
Function StringToByt(sOrder:String):TByteArray;
var
i:Integer;
iOrderLen:Integer;
begin
iOrderLen:=Length(sOrder);
SetLength(Result,iOrderLen);
for i:=0 to iOrderLen-1do
Result:=Ord(sOrder[i+1]);
end;

procedure TForm1.Button2Click(Sender: TObject);
var S:String;
B:TByteArray;
begin
S:='aaaaaaaaaa';
B:=StringToByt(S);
ShowMessage(Pchar(@B[0]));
end;
 
多人接受答案了。
 
顶部