我定义了一个array of byte
现在这个数组里面array[2],array[3]array[4] 是可变的,而且这些值是string型
怎样处理呢?另外
array1 of byte
array2 of byte
array3 of byte
我想把这三个数组连成一串,
能不能array1[i]+array2[j]+array3[k]??? 不行的话,怎么做??谢谢了
现在这个数组里面array[2],array[3]array[4] 是可变的,而且这些值是string型
怎样处理呢?另外
array1 of byte
array2 of byte
array3 of byte
我想把这三个数组连成一串,
能不能array1[i]+array2[j]+array3[k]??? 不行的话,怎么做??谢谢了
把几个数组连接起来,可直接赋值就是
arr[2] := byte('a'); 如果想部分元素填成字符串中的内容那么需要用个循环一个字符一个字符赋值。可以优化的是整个数组填成一个字符串, 可以使用下面的代码:
var
arr: array of byte;
s: string;
begin
...
string(arr) := s;
uniquestring(string(arr));
....
end;
array1 :array[0..3] of Byte;
array2 :array[0..3] of Byte;
array3 :array[0..3] of Byte;
s:string;
begin
FillChar(array1,4,'a');
FillChar(array2,4,'b');
FillChar(array3,4,'c');
s:=Char(array1[0])+Char(array2[1])+Char(array3[2]);
ShowMessage(s);
a,b,c: array of byte;
i:integer
begin
setlength(a,4);
a[Low(a)] := 0;
a[Low(a)+1] := 1;
a[Low(a)+2] := 2;
a[Low(a)+3] := 3;
setlength(b,4);
b[Low(b)] := 4;
b[Low(b)+1] := 5;
b[Low(b)+2] := 6;
b[Low(b)+3] := 7;
setlength(c,8);
move(a[low(a)],c[low(c)],4);
move(b[low(b)],c[low(c)+4],4);
end;
var
a,b,c:string;
d:array of byte;
e:array of char;
begin
a:=edit1.text;
b:=edit2.text;
c:=a+b;
setlength(d,length(c));
move(c[1],d[low(d)],length(c));
setlength(e,length(c));
move(c[low(d)],e[low(e)],length(c));
edit3.text := string(e);
end;