这段Delphi代码怎样翻译成BCB的(100分)

  • 主题发起人 主题发起人 慕容乾坤
  • 开始时间 开始时间

慕容乾坤

Unregistered / Unconfirmed
GUEST, unregistred user!
TABC = class(TWinControl)
private
function GetField(Index:Integer):Byte;
procedure SetField(Index:Integer;
B:Byte);
published
property Field0: Byte index 0 read GetField write SetField;
property Field1: Byte index 1 read GetField write SetField;
property Field2: Byte index 2 read GetField write SetField;
property Field3: Byte index 3 read GetField write SetField;
end;

主要是我对Index,read,write不知道怎样转变
 
这样
如果是read
field2=getfileld;
如果是write
getfildid=field2;
 
那上面的怎么翻译呢?
还有就是SetField里面是使用Index作为参数的
 
如果是read,你就把类的私有部分赋值给public部分,如果是write 就相反
 
to 张无忌:
我知道这段代码是什么意思,只是不知道具体怎么翻译,现在已经解决了。翻译如下:
__property Byte Field0 = {read=GetField, write=SetField, index=0, nodefault};
__property Byte Field1 = {read=GetField, write=SetField, index=1, nodefault};
__property Byte Field2 = {read=GetField, write=SetField, index=2, nodefault};
__property Byte Field3 = {read=GetField, write=SetField, index=3, nodefault};
C++的语法

但是还有一个问题:
__property SFieldRange Field0Range = {read=GetFieldRange, write=SetFieldRange, index=0};
__property SFieldRange Field1Range = {read=GetFieldRange, write=SetFieldRange, index=1};
__property SFieldRange Field2Range = {read=GetFieldRange, write=SetFieldRange, index=2};
__property SFieldRange Field3Range = {read=GetFieldRange, write=SetFieldRange, index=3};
这段代码编译错误,每行都是同样的错误,"E2109 Not an allowed type"
SFieldRange 是定义的一个结构,应该没有错误,因为前面已经定义的函数GetFieldRange就是用它
做返回值的,没有报错。
所以请大侠帮忙解决一下,什么原因造成的错误。
 
检查一下定义TABC类的单元是否引用了定义SFileRange结构的单元。
 
to Sachow:
<< SFieldRange 是定义的一个结构,应该没有错误,因为前面已经定义的函数GetFieldRange就是用它
<< 做返回值的,没有报错。
 
其实我的意思就是将原来的那个DELPHI版本的IP输入框的控件翻译成C++ Builder版本的。
现在翻译已经完成了。
虽然两位富翁的回答没有帮上忙,但是也是非常感谢的。
马上发分给与答谢。
 
多人接受答案了。
 

Similar threads

后退
顶部