自己定义个操作类型出现错误,请大家帮忙,每次问的都是很菜的问题

militant 2004-08-11 03:50:33
unit AISMTypeUnt;

interface

const
otBrowse = '0000000001';
otAdd ='0000000010';
otDelete ='0000000100';
otModify ='0000001000';
otPrint ='0000010000';

type
TOptType=(otBrowse,otAdd,otDelete,otModify,otPrint);

implementation

end.

错误如下:
[Error] AISMTypeUnt.pas(13): Identifier redeclared: 'otBrowse'
[Error] AISMTypeUnt.pas(13): Identifier redeclared: 'otDelete'
[Error] AISMTypeUnt.pas(13): Identifier redeclared: 'otPrint'
这为什么好错啊,为什么otadd就没有出错呢?
why?
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MonkeyLin 2004-08-13
  • 打赏
  • 举报
回复
楼上好妙啊:D
好好学习……
:)
IFindit 2004-08-13
  • 打赏
  • 举报
回复
type
TOptType=(otBrowse,otAdd,otDelete,otModify,otPrint);

Var
y: array [TOptType] of string = ( '0000000001','0000000010','0000000100','0000001000','0000010000');
MonkeyLin 2004-08-11
  • 打赏
  • 举报
回复
枚举类型不支持无序类型

[Error] AISMTypeUnt.pas(13): Identifier redeclared: 'otPrint'
编译错误是因为otPrint被定义成字符串常量以后又被定义成枚举类型成员

你可以这样:
在要用到的时候用otBrowse等变量的时候用IntToBin(Ord(otBrowse))代替

type
TOptType=(otBrowse=1,otAdd=2,otDelete=4,otModify=8,otPrint=16);

function IntToBin(Value:Integer; iLen:Integer = 8): String;
var i,j,k:Integer;
tmpstr: String;
begin
i:=Value;
Result:='';
repeat
j:=i mod 2;
i:=i div 2;
tmpstr:=tmpstr+IntToStr(j);
until i=0;
k:=Length(tmpstr);
for i:=0 to k-1 do
Result:=Result+ tmpstr[k-i];
for i:=Length(Result) to iLen-1 do
Result:='0'+Result;
end;

但这不是好方法,楼主为啥一定要'0000000001'这样的字符串呢?
militant 2004-08-11
  • 打赏
  • 举报
回复
兄弟我想把
1otBrowse = '0000000001';
1otAdd ='0000000010';
1otDelete ='0000000100';
1otModify ='0000001000';
1otPrint ='0000010000';
这些常量做为TOptType的类型啊
IFindit 2004-08-11
  • 打赏
  • 举报
回复
const
1otBrowse = '0000000001';
1otAdd ='0000000010';
1otDelete ='0000000100';
1otModify ='0000001000';
1otPrint ='0000010000';

type
TOptType=(otBrowse,otAdd,otDelete,otModify,otPrint);

通过!
IFindit 2004-08-11
  • 打赏
  • 举报
回复
和系统变量冲突了, 改个名就OK了

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧