不太明白你什么意思,如果'c'是String字符变量,那可以像下面代码那样。如果'c'是Integer变量,应该没有#$FA这种类型的整数吧?
var a,b,c:String;
begin
a := 'F';
b := 'A';
c := '#$' + a + b;
ShowMessage(c);
end;
不过,好像没有#$FA这样的整数吧?Delphi的整数表示方法该是$FA才对吧?
var a,b:String;
c:Integer;
begin
a := 'F';
b := 'A';
c := (StrToInt('$'+a) shl 4) or (StrToInt('$'+b))
// c = $FA;
ShowMessage(IntToHex(c,2))
var
a,b,c,d:String;
begin
a := 'F';
b := 'E';
c:=IntToHex((StrToInt('$'+a) shl 4) or (StrToInt('$'+b)),2);
d:=#$FE;
showmessage(c);
showmessage(d);
end;
我想要是这种效果
//我明白了,不过我前面给你的代码已经是正确的了。
var a,b:String;
d,c:Char;
begin
a := 'F';
b := 'A';
d := #$FA
// 按你的要求将d赋值为#$FA的值。
c := Char((StrToInt('$'+a) shl 4) or (StrToInt('$'+b)))
// c = $FA;
// 从下面的对比就可以看到c的值和d的值是一样的,也就是进制转换是成功的!
if c = d then
ShowMessage('进制转换成功,c和d的值是相等的!')
else
ShowMessage('进制转换不成功,c和d的值不相等!');
end;