当前位置:主页>销售管理软件> 列表

关于Delphi的字节级操作问题 找零售记账软件

库存管理软件版1楼: procedure TForm1.Button1Click(Sender: TObject);
var
i, x1: Integer;
sSource, sCrypt: string;
a: array[0..4] of Byte;
x: PChar;
begin
sSource := Edit1.Text;
for i := 0 to Length(sSource) do
begin
x1 := ord(sSource[i]); //or Integer
sCrypt := sCrypt + Chr(x1);
end;
Edit2.Text := sCrypt;
end;

结果sSource 初始化为''abcdefg'', 调试时sCrypt的值为#0''abcdefg'',但是到了Edit2.Text 里面就没有值,返回一个空字符串,请问是什么原因?如何解决?

2楼: 字符串不能从0开始,i:=1;
你试试!! 如零售记账软件

3楼: 应该是
for i:=1 to Length(sSource) do
begin
x1 := ord(sSource[i]); //or Integer
sCrypt := sCrypt + Chr(x1);
end;

#0 是字符串的最后一个字符,遇到它,后面的字符就不再取了。

4楼: 同意以上二人的观点,就是这样的。嘿嘿。。

5楼: 就是 rxj-2002 说的
字符串的 0 位是指字符串的长度,Delphi2006里这样写会报错


从1开始读,for i := 1 to Length(sSource) do 这样

6楼: 谢谢各位帮忙