Delphi自定义类型说明

2016-08-22 10:18:46来源:http://gang4415.blog.51cto.com/225775/251911作者:gang4415人点击


Delphi自定义类型说明
定义了如下两个类型:

TChannelType = (ctUser, ctTrunk, ctEmpty, ctRecord, ctMessage, ctFax, ctVirtual);
//通道状态

TChannelStatus = ( csFree, //空闲 csOffHook, //摘机 csDial, //拨号 csWaitingSignal, //等待拨号音结果 csTimeOut, //超时 csConnect, //连接,被叫摘机 csPlaying, //放音 csRecording, //录音 csGetDtmf, //收码 csHangup, //挂机 csLink, //连接,会议模式 csDisable //禁用 );

现在,需要在界面上显示相应的中文信息,例如:通道类型是ctUser时,显示内线;ctTrunk=外线,等待。
一个解决办法,使用case
case achannel.ChannelType of
ctUser: s := '内线';
ctTrunk: s := '外线';
......
end;
如果状态多的话,修改很麻烦。
---------------------------------------------------------------------------------------------------
另外一个解决方法:
在一个单元文件uGlobeUnit中定义


resourcestring RsUser = '内线'; RsTrunk = '外线'; RsEmpty = '悬空'; RsRecord = '录音'; RsMessage = '短信'; RsFax = '传真'; RsVirtual = '虚拟'; RsFree = '空闲'; RsOffHook = '摘机'; RsDial = '拨号'; RsWaitingSignal = '等待拨号音'; RsTimeOut = '超时'; RsConnect = '连接'; RsPlaying = '放音'; RsRecording = '录音'; RsGetDtmf = '收码'; RsHangup = '挂机'; RsLink = '连接'; RsDisable = '禁用'; 然后,在上面定义TChannelType的相同单元中定义: Const //预定义的通道状态 GAChannelStatusLabels: array[TChannelStatus] of string = (RsFree, RsOffHook, RsDial, RsWaitingSignal, RsTimeOut, RsConnect, RsPlaying, RsRecording, RsGetDtmf, RsHangup, RsLink, RsDisable); //通道类型说明 GAChannelTypeLabels: array[TChannelType] of string = (RsUser, RsTrunk, RsEmpty, RsRecord, RsMessage, RsFax, RsVirtual); 最后,使用的时候 s := GAChannelTypeLabels[aChannel.ChannelType]; //aChannel.ChannelType是TChannelType类型 就可以获得相应的说明了。 同样的 s := GAChannelStatusLabels[aChannel.status]; 可获得状态说明。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台