类似Turbo C++介面程序的配置文件是如何使用的?
在一个类似TC界面的程序中有几个配置文件,分别是报文解码、界面菜单、界面窗口内容以及字符串清单。配置文件内容如下,我不知道这些是如何使用的。
报文解码片段:
; Tuerfreigabe-Werte (FZG) (GENDLG ZB-Daten:TFG / B-Tel:TFG)
4( ~~right,
~~~left,
~~~both,
~~~none)
; Enum: Bewertungsstatus_t
5(set,
reset,
permanent,
no_message)
; Dekodierung der COSPAS-Showmeldung an den LZB-Anwender
[<"CD"] {MBX#: %d:4:2(d) Len=%d:8:1(d) Data: %#9:}
; neu [<"ED"]
[<"ED"] {%fSysMld:2:15:}
; Dekodierung der Portmeldung
[<"PD"] {PortAdr: %04x:4:2h Num=%d:8:1 Data: %#9:}
; FZG Fehler
[*"YA"] {Clear error messages!}
[*"YF"] {Request error messages!}
前端的数字4,5应该是接收到的报文的第4,5位,*的内容是发送数据。%04x:4:2h,这样的数据格式04x是十六进制显示,4是字符数组第4位,2h不知道是什么了。
界面菜单片段:后面几乎都是这样的格式
{ StatusKeys }
{ }
{===========================================================================}
{- StatusKeys --------------------------}
(M0 S0 (vStatusKey '~Alt-X~Exit,kbAltX,cmQuit')
(vStatusKey '~F7~H-Flag,kbF7,cmHistFlagSet')
(vStatusKey '~F10~Menu,kbF10,cmMenu')
(vStatusKey ',kbF4,cmHistUpdateOnline')
(vStatusKey ',kbShiftF6,cmPrev')
(vStatusKey 'ClockView')
(vStatusKey 'LineStatusView')
(vStatusKey 'DStatusView')
(vStatusKey 'Rkstopfenster,7F')
(vStatusKey 'Addresslist')
(vStatusKey 'KundenVersion')
{ (vStatusKey 'VersionCheck')}
);
{ History Standarddialoge }
{ }
{===========================================================================}
{- History -----------------------------}
(M1 S0 (vMenuStr '~H~istory')
(vSubmenuStr '~O~pen history')
(vSubmenuParam 'F8,,kbF8,cmHistNew'));
(M1 S2 (vSubmenustr '~U~pdate online')
(vSubmenuParam '[on] F4,[off] F4,kbF4,cmHistUpdateOnline'));
(M1 S3 (vNewline)
(vSubmenustr '~D~isplay mode')
(vSubmenuParam '[decoded],[raw],kbCtrlF4,cmHistDispRaw'));
(M1 S5 (vNewline)
(vSubmenustr '~S~ave as...')
(vSubmenuParam ',,,cmHistSaveAs'));
(M1 S6 (vSubmenustr '~C~lear')
(vSubmenuParam ',,,cmHistClear'));
界面窗口内容片段:
(MD S9 {3}
(vWinFrame 'Command acknowledge' 01 09 60 14)
(vDefault 'XX'0000:0000#25"00 00 00 00 00 00 FF"){Abbruch senden}
(vStaticText 'Only for future use !' 02 02)
(vOk '~O~K' 14 02 10)
(vCancel 'Cancel' 14 15 10)
(vEndmodal 'O~K~ + Close' 14 28 10 01)
);
(MD SA
(vWinFrame 'Command response' 01 09 60 14)
(vDelayTime 5000)
(vStaticText 'Warte auf Command response vom SIMIS !' 02 02)
{--Wiederholung-- nur fuer Acknowledge}
{--Wiederholung-- Argument response <error> from SIMIS}
(vNextState 'sAcknowledgeRequest' 01)
(vMldAndLogic "FF FF FF FF FF FF 00 00 00 00 00 00 00 FF" 01)
(vMldFilter 'XX'0000:0000#25"00 00 00 00 00 00 08" 01)
(vMldFormat '%05d:16:2' 01 00 00){Dummy Command index}
(vMldFormat ' ' 02 00 00){Dummy Command text '%"18:'}
(vMldFormat '%05d:9:2' 03 00 00){Dummy Sequence index}
(vMldFormat '%05d:18:2' 10 00 00){Quantity}
(vMldFormat '%05d:20:2' 11 00 00){#1}
(vMldFormat '%05d:22:2' 12 00 00){#2}
(vMldFormat '%05d:24:2' 13 00 00){#3}
(vMldFormat '%05d:26:2' 14 00 00){#4}
(vMldFormat '%05d:28:2' 15 00 00){#5}
(vMldFormat '%05d:30:2' 16 00 00){#6}
(vMldFormat '%05d:32:2' 17 00 00){#7}
(vMldFormat ' Error : %05d:16:2 %T1:16:2:' 18 00 00){Error}
{(vMldFormat ' Error : %05d:16:2' 18 00 00)}{Error}
{Acknowledge response <ok> or <error> from SIMIS (=Command response)}
(vNextState 'sCommandResponseShow' 20)
(vMldAndLogic "FF FF FF FF FF FF 00 00 00 00 00 00 00 FF" 20)
(vMldFilter 'XX'0000:0000#25"00 00 00 00 00 00 0A" 20)
(vMldFormat '%05d:16:2' 20 00 00){Dummy Error CommandResponse}
);
以及字符串清单片段:
{===========================================================================}
{ StringList MF S4 }
{ Ask-Dialog MF SC }
{===========================================================================}
{- StringList --------------------------}
(MF S4
{SpecDlg}
(vStringList '___' )
(vStringList 'Jan' )
(vStringList 'Feb' )
(vStringList 'Mar' )
(vStringList 'Apr' )
(vStringList 'May' )
(vStringList 'Jun' )
(vStringList 'Jul' )
(vStringList 'Aug' )
(vStringList 'Sep' )
(vStringList 'Oct' )
(vStringList 'Nov' )
(vStringList 'Dec' )
(vStringList 'Drives' )
(vStringList 'Directory' )
{SpecMsg}
(vStringList '~Y~es' )
(vStringList '~N~o' )
(vStringList 'O~K~' )
(vStringList 'Cancel' )
(vStringList 'Warning' )
(vStringList 'Error' )
(vStringList 'Information' )
(vStringList 'Confirm' )
);
在F_K_eng.bat中有如下批处理语句:
attrib -r *.*
d /b /o /d deco.eng /g g_strlst.eng g_mfzg_k.eng g_fzg_k.eng %1 %2 %3 %4
我想知道这些配置语句是如何使用的,请大家指点一二,谢谢。
[解决办法]
有源代码参考源代码。
没源代码用Turbo Debugger参考汇编代码。
[解决办法]
BC++3.1完整版http://download.csdn.net/source/2805028