var
M,D,C,S:string;
I,T,A:integer;
-------A:=ord(copy(M,I,1));delphi6报incompatible types,为什么,谢谢 :)
M,D,C,S:string;
I,T,A:integer;
-------A:=ord(copy(M,I,1));delphi6报incompatible types,为什么,谢谢 :)
解决方案 »
- 讨论WebBrowser填表,id,name动态,如何解决?
- DateTimePicker.Date.DateString;?? 为什么返回的是 2005-28-07
- 如何取得連續的申請單編號.
- 急救:关于一个报表统计的问题
- 奇怪的刷新问题,大家看一看,解决就给分
- 求简化代码和处理异常的几条note
- 计算机专业的学生的知识结构应该是怎样的呢?
- 寻求一段关于string的简单代码!!!
- 在TreeView中如何实现用鼠标右键实现节点选中,执行同Click相同的操作,同时并可弹出快捷菜单?
- 请问如何用Delphi做电子宠物?
- query1.ParamByName('P1').asstring:=DATETIMEPICKER1.DATE; 怎么写才正确
- 试试能不提问
是一段从FoxPro转过来的,下面是代码var
M,D,C,S:string;
I,T,A:integer;
begin
M := '';
D := '12345678901234567890';
C := '';
S := '';
FOR I:=1 TO Length(M) do
begin A:=ord(copy(M,I,1)); //编译出错
C := C + copy(D,ord(CHR( A + 32)) + 1,1);
mo.Lines.Add(C);
end; FOR I:=1 to Length(TRIM(C)) mod 3 do
begin
T := StrToInt(copy(C,(I-1)*3+1,3));
if T>255 then
S:=S+CHR(0)
else
S:=S+CHR(T);
mo.Lines.Add(S);
end;
edtOutput.Text := S;
end;
-----FoxPro原代码
*DECRYPT********************
PARAMETER M
PRIVATE I , D , C , S , T
D = '12345678901234567890'
C = ''
S = ''
FOR I = 1 TO LEN(M)
C = C + SUBSTR(D,VAL(CHR(ASC(SUBSTR(M,I,1)) + 32)) + 1,1)
ENDFOR
FOR I = 1 TO LEN(RTRIM(C)) / 3
T = VAL(SUBSTR(C,(I - 1) * 3 + 1,3))
S = S + CHR(IIF(T > 255,0,T))
ENDFOR
RETURN S
************************************谢谢
M,D,C,S:string;
I,T,A:integer;
------- A:=ord(copy(M,I,1)); delphi6报incompatible types,为什么,谢谢 :)
-
答楼主,ord的参数不能是字符串,要用字符。
而copy(M,I,1)得到的就字符串,(虽然只有一个字符),
所以改成
A:=ord(copy(M,I,1)[1]);就OK了