var
bytes,bytes1,bytes2:array of byte //两个动态数组
string1,string2:string;//两个字符串数组begin
string1:='iloveyou';
string2:='anditgood';
要求把string1和string2的数据分别放到bytes1,bytes2
然后把bytes1和bytes2的数据一起放到bytes中
bytes,bytes1,bytes2:array of byte //两个动态数组
string1,string2:string;//两个字符串数组begin
string1:='iloveyou';
string2:='anditgood';
要求把string1和string2的数据分别放到bytes1,bytes2
然后把bytes1和bytes2的数据一起放到bytes中
bytes,bytes1,bytes2:array of byte //两个动态数组
string1,string2:string;//两个字符串数组
i:integer;
begin
string1:='iloveyou';
string2:='anditgood';
setlength(bytes1,length(string1));
for i:=1 to length(string1) do
bytes1[i]:=ord(string1[i]);
//以此类推。
end;
PChar->string: function StrPas(const Str: PChar): string;
String->Pchar: lstrcpy(数组,pchar(字符串));
bytes1,bytes2:array of byte;
string1,string2:string;
iLen, i: integer;
begin
string1 := '12345678';
iLen := length(string1);
setLength(bytes1, iLen);
Move((@string1[1])^, (@bytes1[0])^, iLen);
for I:= 0 to ilen -1 do
showMessage(intToStr(bytes1[i]));
end;
//-------------------------------------------------------------
// 以下程序段D6 SP2,Windows Server 2003 下测试正确通过
var
Bytes, Bytes1, Bytes2: array of Byte;
S1, S2: string;
i: Integer;
X: string;
begin
S1 := 'I Love You';
SetLength(Bytes1, Length(S1));
Move(S1[1], Bytes1[0], Length(S1));
SetLength(X, Length(S1));
for i := Low(Bytes1) to High(Bytes1) do
X[i+1] := Chr(Bytes1[i]);
ShowMessage(X); S2 := 'And It Good';
SetLength(Bytes2, Length(S2));
Move(S2[1], Bytes2[0], Length(S2));
SetLength(X, Length(S2));
for i := Low(Bytes2) to High(Bytes2) do
X[i+1] := Chr(Bytes2[i]);
ShowMessage(X); SetLength(Bytes, Length(S1) + Length(S2));
Move(S1[1], Bytes[0], Length(S1));
Move(S2[1], Bytes[Length(S1)], Length(S2));
SetLength(X, Length(S1) + Length(S2));
for i := Low(Bytes) to High(Bytes) do
X[i+1] := Chr(Bytes[i]);
ShowMessage(X);
end;//-------------------------------------------------------------------------------
有劳楼猪的帖子,今天终于搞明白了Move()过程的用法,呵呵。