怎么把只有一个字母的string型转成char型(100分)

  • 主题发起人 主题发起人 ali_yan
  • 开始时间 开始时间
A

ali_yan

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要把一个字符串进行异或运算??
我是这样做的
一个一个的异或
比如
j:string;
m:integer;
j:='abcd';
我要得到j的异或值。。
我只能是
'a' xor 'b'
然后把结果再xor'c',再把 然后把结果再xor'd'
可是我这样写不对呀

m:=ord(copy(j,1,1)) xor ord(copy(j,2,1))
m:=m xor ord(copy(j,3,1))
m:=m xor ord(copy(j,4,1))
我在程序中是用循环来做的。。

可是问题是copy(j,1,1)所得的为string型,而ord要求为char型。。
我怎么把这个string转成char的??

也就是怎么把
string s='a'
转成
char s='a'
 
要进行这样的操作的话,用^byte或pchar不是好得多吗?
 
m := 0;
for i := 1 to Length(s) do
begin
m := m xor ord(s);
end;
m := m xor 0;
 
string 和char不能赋值兼容
建议定义一个字符数组来处理
 
Char(Byte(J) xor 123

finish, ok ?
 
var
a:array of char;
s:string;
i:integer;
begin
s:=edit1.text;
setlength(a,length(edit1.text));
for i:=0 to length(edit1.text) do
a:= s;
 
var
l:integer;
t:char;
s:string;
begin
s:='a';
l:=length(s);
t:=s[l];
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
stra:string;
chrA:char;
begin
stra:='a';
chra:=stra[1];
end;
 
后退
顶部