1:我知道,我对这方面研究很深!标准答案:
例子:
procedure TForm1.Button1Click(Sender: TObject);
var
mychar: array of char;
mystr: string;
begin
mystr:=‘this’;
setlength(mychar,4); //设置数组长度
move(mystr[1],mychar[0],length(mystr)); //赋值
end;
/经过测试
2:var
ss:string;
i:integer;
aa:char;
begin
ss:=‘abcde’;
for i:=1 to length(ss) do
begin
aa:= ss[i];
showmessage(aa) ;
end;
end;
试试看你就明白了…呵呵
3:不用函数,字符串实际上就是字符数组
因为因为多,所以起了一个名字叫string
st:string;
ch:char;
st:=‘hello,world’;
ch:=st[3];
你可以通过下标访问那个字符
4:ss:string ;
cc:char ;
i:integer ;
cc:=ss[i] //注意此处i必须大于 0,下于等于 length(ss)
5:Var
_str:string;
carr:array [1…255] o char;
begin
_str:=‘What Can I Do For You ?’;
FillChar(cArr,SizeOf(carr),0);
Move(_Str[1],CArr,LengTh(_Str));
// CArr为你需要的结果!
end;
6:var
cArray: array[0…30] of Char; //定长字符数组
dArray: array of Char; //动态字符数组
str: string;
iLen: Integer;
begin
str := ‘wo shi xiaobenben’;
iLen := Length(str);
FillChar(cArray, sizeof(cArray), #0);
Move(PChar(str)^, cArray[0], iLen);
SetLength(dArray, iLen 1);
FillChar(dArray[0], iLen 1, #0);
Move(PChar(str)^, dArray[0], iLen);
Caption := cArray ’ - ’ PChar(dArray);
end;
7:我找到别的答案:
s1:string;
s2:array[0…255] of char;
strmove(s2,pchar(s1),length(s1));
谢谢大家
8:s1:stirng;
s2:array[1…123]of char;
s2:=@s1[1]^
9:大体就是这样了:
var
mychar: array of char;
mystr: string;
begin
mystr:=‘name’;
setlength(mychar,4); //设置数组长度
move(mystr[1],mychar[0],length(mystr)); //赋值
end;
10:可以不用MOVE拷贝内存的
11:s1:string;
s2:array[1…123]of char;
s2:=@s1[1]^;
编译不过。
12:其实你s2:pchar;
s2:=@s[1];
就可以了,传递数组的时候你传递指针就行了,和C/C 一样,
13:@s[1]指向的可能是非0结尾的串,例如 s:=‘123’;
但@s[1]可能是123¥%34阿df#0
所以应该是:
s2:=pchar(s1);
14:就是这个了:
s1:string;
s2:array[0…255] of char;
strmove(s2,pchar(s1),length(s1));
15:可以结束了