2Pascal-新时代的Pascal

标题: 求教一个D7下面正常的函数,在XE下面出错 [打印本页]

作者: 24568096    时间: 2015-6-18 10:58
标题: 求教一个D7下面正常的函数,在XE下面出错
function Encode(Str:String):String;
var//加密?
TmpChr:AnsiChar;
i,Len:integer;
begin
Result:=Str;
Len:=Length(Result);
TmpChr:=Result[1];
for i:=1 to Len-1 do
    Result[i]:=Result[i+1];
    Result[Len]:=TmpChr;
end;

-----------------
报错如下:
[dcc32 Error] Unit1.pas(36): E2010 Incompatible types: 'AnsiChar' and 'PAnsiChar'
[dcc32 Error] Unit1.pas(43): E2010 Incompatible types: 'Char' and 'AnsiChar'
[dcc32 Error] Unit1.pas(55): E2010 Incompatible types: 'AnsiChar' and 'Char'

之前用最多的是D7,真心救一下。如果方便给我讲一下原因
作者: wang_80919    时间: 2015-6-18 12:51
function Encode(Str: AnsiString): AnsiString;
var // 加密?
  TmpChr: AnsiChar;
  i, Len: integer;
begin
  Result := Str;
  Len := Length(Result);
  TmpChr := Result[1];
  for i := 1 to Len - 1 do
    Result[i] := Result[i + 1];
  Result[Len] := TmpChr;
end;
作者: 24568096    时间: 2015-6-19 07:47
function Encode(Str:String):AnsiString;
var//加密?
TmpChr:AnsiChar ;
i,Len:integer;
begin
Result:=PAnsiChar(AnsiString(Str));
Len:=Length(Result);

TmpChr:=Result[1];

for i:=1 to Len-1 do
    Result[i]:=Result[i+1];

    Result[Len]:=TmpChr;

end;
---------------
感谢,我是这样实现的。呵。。。




欢迎光临 2Pascal-新时代的Pascal (http://2pascal.com/) Powered by Discuz! X3