
这段Delphi代码是根据C语言改编的,就是凡是英文字母,一律向后错4位来转义,请问为什么
这段Delphi代码是根据C语言改编的,就是凡是英文字母,一律向后错4位来转义,请问为什么输入大写英文能转义,而输入小写英文是错的?...
这段Delphi代码是根据C语言改编的,就是凡是英文字母,一律向后错4位来转义,请问为什么输入大写英文能转义,而输入小写英文是错的?
展开
1个回答
2017-03-31
展开全部
var
s:string;
i:Integer;
begin
s := edt1.Text;
for i:=0 to Length(s) do
begin
if ((s[i] >='a')and(s[i]<='z'))or((s[i]>='A')and(s[i]<='Z')) then
begin
s[i] := chr(Ord(s[i]) +4);
if (s[i] >'Z')and(s[i]<'a')or(s[i]>'z')then s[i]:=chr(Ord(s[i])-26);
end;
end;
ShowMessage(s);
end;
s:string;
i:Integer;
begin
s := edt1.Text;
for i:=0 to Length(s) do
begin
if ((s[i] >='a')and(s[i]<='z'))or((s[i]>='A')and(s[i]<='Z')) then
begin
s[i] := chr(Ord(s[i]) +4);
if (s[i] >'Z')and(s[i]<'a')or(s[i]>'z')then s[i]:=chr(Ord(s[i])-26);
end;
end;
ShowMessage(s);
end;
更多追问追答
追问
您好像又照着打了一遍,没有解决我的问题啊,我输入小写英文字母没有往后错4位啊。。。
追答
if (s[i] >'Z')and(s[i]'z')then s[i]:=chr(Ord(s[i])-26);
if 条件变了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询