如何返回一个ascii字符加1后的结果呢?(20分)

  • 主题发起人 主题发起人 Temp
  • 开始时间 开始时间
T

Temp

Unregistered / Unconfirmed
GUEST, unregistred user!
请教诸位
 
用ORD和Chr兩個函數混合使用就可以了
 
chr(ord('A')+1);
 
//我这样用可是编译通不过阿,如下
for i:=0 to Length(s)-1 do
S:=Chr(Ord(S+1));
 
请教小人物大侠,如果我要使得整个字符串里面的每一个字符都加一应该怎么做呢?
 
to 卷起千堆雪tyn:

你的程序和我的一样的阿,没有办反通过。
 
再to 卷起千堆雪tyn

我按照你的程序改过了,可是还是有错,请问如何解决呢?
 
to YnTW:
我又修改了程序,可是还是不行阿,源程序全部附在下面:
------------------------------
function mzha(const S:String
sType: DWord):String;
var
i: Integer;
begin
result:='';
case sType of
0:
begin
for i:=1 to Length(s) do
S:=Chr(Ord(S)+1);
Result:=S;
end;
1: //GetPass
Begin
for i:=1 to Length(s) do
S:=Chr(Ord(S)-1);
Result:=s;
end;
end;
end;
 
TO Temp:
当字符串作字符数组使用时,下标应该从1开始,故可先判断是否为空串,不为空串再执行
for i:=1 to Length(s) do
S:=Chr(Ord(S)+1);
 
function mzha(const S:String
sType: DWord):String;
var
i: Integer;
begin
if S='' then
Exit;
result:=S;
case sType of
0:for i:=1 to Length(s) do
Result:=Chr(Ord(Result)+1);
1:for i:=1 to Length(s) do
Result:=Chr(Ord(Result)-1);
end;
end;
 
谢谢诸位,我知道问题出在哪里了,原来那个string不能为const阿~~sigh....费了好大的劲
 
谢谢诸位大侠的鼎立相助,分数立即送上,同时大侠能否关注我的:
50 分征求 字符串加密解密程序 一问呢?

万分感谢!!!!
 
原来是个大糊涂蛋!!![:D][:D][:D]
 
接受答案,多谢诸位!!
 
ShowMessage(Char(Ord('a')+1));

我服了你~~

procedure TForm1.Button1Click(Sender: TObject);
var
s :string;
i :integer;
begin
s:='abcd';
for i:=1 to Length(s) do
S:=Chr(Ord(S)+1);
showmessage(s);
end;
 
后退
顶部