Tabulka víceúrovňového číselníku (CBML)
Tabulka víceúrovňového číselníku. Tuto tabulku používá personální program Personal
. Jedná se o klienta aplikačního serveru SDPam . V
makrojazyku se k těmto větám přistupuje pomocí klíčového slova
CISUR .
Stavba věty:
|
Čís | Název položky | Typ položky | Sloupec | Makro | Idx |
| 1 |
Ident |
Longint |
IDENT |
dbIdent |
* |
| 2 |
Attr |
Longint |
XATTR |
dbAttr |
|
| 3 |
Skupina číselníku
|
Longint |
XCBNID |
cisurSkup |
|
| 4 |
Úroveň 1 |
Longint |
XL1 |
cisurL1 |
|
| 5 |
Úroveň 2 |
Longint |
XL2 |
cisurL2 |
|
| 6 |
Úroveň 3 |
Longint |
XL3 |
cisurL3 |
|
| 7 |
Úroveň 4 |
Longint |
XL4 |
cisurL4 |
|
| 8 |
Úroveň 5 |
Longint |
XL5 |
cisurL5 |
|
| 9 |
Úroveň 6 |
Longint |
XL6 |
cisurL6 |
|
| 10 |
Info, jestli je to závěrečná věta. Jestliže ano (1) je obsah v tabulce
MSG přes ident XDATAID. |
Longint |
XLAST |
cisurLast |
|
| 11 |
Nadpis pro skupinu koncových vět
(XLAST = 0).
|
String[255] |
XTEXT |
cisurText |
|
| 12 |
Ident z tabulky dlouhých textů MSG
(XLAST = 1). |
Longint |
XDATAID |
cisurDataId |
|
| 13 |
Jedinečný identifikátor |
String[22] |
XUID |
cisurUid |
* |
Indexy:
| dbIdent |
IDENT
|
| cisurSkup |
XCBNID
|
| cisurL1 |
XCBNID, XL1, XL2, XL3, XL4, XL5, XL6
|
| cisurUid |
XUID |
Příklad:
procedure AddCisUr( nSkup : Byte;
strUid : String[22];
nL1 : Byte;
nL2 : Byte;
nL3
: Byte;
nL4 : Byte;
nL5 : Byte;
nL6 : Byte;
nLast : Byte;
strText : String;
strDta1 : String;
strDta2 : String;
strDta3 : String;
strDta4 : String;
strDta5 : String)
dim nDataId : Longint;
if _AddRec(dbtCisUr) then
cisur[cisurSkup] := nSkup;
cisur[cisurUid] := strUid;
cisur[cisurL1] := nL1;
cisur[cisurL2] := nL2;
cisur[cisurL3] := nL3;
cisur[cisurL4] := nL4;
cisur[cisurL5] := nL5;
cisur[cisurL6] := nL6;
cisur[cisurLast] := nLast;
cisur[cisurText] := strText;
nDataId := 0;
if strDta1 <> "" then
if _AddRec(dbtMsg) then
_MsgAddLine(strDta1);
if strDta2 <> "" then
_MsgAddLine(strDta2);
endif
if strDta3 <> "" then
_MsgAddLine(strDta3);
endif
if strDta4 <> "" then
_MsgAddLine(strDta4);
endif
if strDta5 <> "" then
_MsgAddLine(strDta5);
endif
nDataId := Msg[dbIdent];
else
_MsgBox(1,"Nelze přidat
poznámku",0);
endif
endif
cisur[cisurDataId] := nDataId;
else
_MsgBox(1,"Nelze přidat číselník 'CisUr'",0);
endif
endproc
Příklad tabulky:
