一个关于数组的问题,请那位朋友帮我讲一下。谢谢了。(50分)

阿虫

Unregistered / Unconfirmed
GUEST, unregistred user!
var
sbuf:array [1..255] of byte;
s:string;
i,k:integer;
begin
s=:edit1.text;
k:=length(edit1.text);
fillmemory(@sbuf,255,0);
for i:=0 to k div 2do
s1:=s1+chr(strtoint('$'+copy(edit1.text,2*i+1,2)));
p:=Pchar(s1);
CopyMemory(@sbuf,p,Strlen(p));
在上面的程序里,我意思是:将字符串S里的每两个字符前面加‘$’,然后赋于
数组SBUF;使SBUF的值如下:
如:S:=‘1234567890.....'//可以是任意长度的。
则 SBUF[1]:=BYTE($12);
SBUF[2]:=BYTE($34);
SBUF[3]:=BYTE($56);
SBUF[4]:=BYTE($78);
SBUF[5]:=BYTE($90);
. .
. .
. .
上面那段程序在编译的时候通过了,可以执行的时候总是提示说:'$'不是有效的
整数值,,使程序无法执行.请问这是为什么,那位老兄帮我看看。还有别的方法可以
实现我的要求吗。
 
s1:=s1+chr(strtoint('$'+copy(edit1.text,2*i+1,2)));
'$' 怎么能作为strtoint的参数呢
 
for i:=0 to (k div 2)-1do
//这里出错了。
 
是最后一下子出错了:
for i:=0 to k div 2do
要改成:
for i:=0 to (k div 2)-1do
 
哎呀 savenight 怎么怎么快啊,分数我不要了
 
呵呵,这两天正练短跑呢。
 
谢谢大家了,明白了。
 
顶部