几个delphi问题(50分)

  • 主题发起人 主题发起人 邹光先
  • 开始时间 开始时间

邹光先

Unregistered / Unconfirmed
GUEST, unregistred user!
1、怎样使用dll中的自定义类型?
2、怎样给enum类型的数据赋值?
比如在vb中是
typedef enum ECardBack {
ecbCrossHatch = 53,
ecbPlaid = 54,
ecbWeave = 55,
ecbRobot = 56,
ecbRoses = 57,
ecbIvyBlack = 58,
ecbIvyBlue = 59,
ecbFishCyan = 60,
ecbFishBlue = 61,
ecbShell = 62,
ecbCastle = 63,
ecbBeach = 64,
ecbCardHand = 65,
ecbUnused = 66,
ecbX = 67,
ecbO = 68,
} ECardBack;
3、vb中的各种常用变量类型与delphi的常用变量类型是怎么样对应的?

 
1. 应该是不可能的, 自己再定义一遍吧.

2. Delphi中对enum类型是没有定义数值这个概念的, 可以用ord()来取
序号.

3. 对应大致是同名的. 具体可以对照地看两个help.
 
再问:
4、那么是不是在dll中的常量也不可以直接使用呢?
5、如果要定义的一个enum类型的变量,他其中的枚举元素没有一点
规律,只是代表了一个意思,也就是说代表的序数没有什么规律,
要怎么定义?
6、希望能贴出c++,delphi,vb中类型对应情况。
谢谢。:)
 
请高手再指点。:)
谢谢。:)
 
今天早上,我看 了一本比较详细的dll的书,上面说到了“dll只输出历程“,它的意思
是不是说常量活是自定义的数据类型就没有办法直接用了呢 ?谢谢。
 
Delphi中的DLL只提供例程输出(函数)。包括类及一切常量变量。
如果想用DLL中定义的常量变量,就要做一个函数外壳,将常量做
为参数或函数返回值输出。
 
>>to jetideas:
那么那个关于enum的问题呢?能给个回答么?谢谢。
 
因为enum 本身是顺序类型
如果非要无序的话, 可以使用
集合(set of),
type
Mytype=set of ( red, blue, green);

以上定义了一个 枚举类型的集合.
可以使用集合操作(in , + ,- ) 很方便的使用.
delphi中的枚举累型不同于vb,c 的,她不予整形赋值兼容;
你可以定义整型常量代替.
这个答案是不是可以得分?
 
问题在于,这个red,blue能不能表示为一个特定的数呢?
没有顺序的数?谢谢。
 
终于明白你的意思了. 原来你需要的不是每个元素的顺序值,而是具体所代表的数值.

我看你还是不要用枚举了,delphi可能做不到(不过也许是我笨).
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部