一个函数编译无法通过,请高手指点!(100分)

  • 主题发起人 主题发起人 难民
  • 开始时间 开始时间

难民

Unregistered / Unconfirmed
GUEST, unregistred user!
function unEncode2(var s:String):String;
var
i:Integer;
t:array[0..300] of widechar;
begin
i:=0;
if i<length(s) then
begin
t[length(s) div 4]:=strtoint('$'+copy(s,i+1,4));//x
i:=i+4;
end;
t[length(s)div 4]:=0;
result:=WideCharToString(t);
end;
这个函数编译时提示在第9、13行出现以下错误:Incompatible types: 'WideChar' and 'Integer'
说是类型不匹配,我看了半天也不知道为什么,请高手指点迷津。
 
t 是widechar数组,不可以赋Integer值。
 
请问如何转换才能实现赋值?
 
StringToWideChar
function StringToWideChar(const Source: string;
Dest: PWideChar;
DestSize: Integer): PWideChar
 
Integer(t[length(s) div 4]):=strtoint('$'+copy(s,i+1,4));//x
 
我已经解决了!谢谢各位的指点,begin
Delphi说的方法行不通啊!编译提示赋值号左边的变量
不能做类型变换,我改成t[i div 4]:=widechar(strtoint('$'+copy(s,i+1,4)));
编译已经通过,运行结果完全正常!谢谢各位的热心帮助!
 

Similar threads

I
回复
0
查看
687
import
I
I
回复
0
查看
818
import
I
I
回复
0
查看
806
import
I
后退
顶部