Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME VI. Résumé des syntaxes

3. Syntaxe des objets

Ce chapitre est composé des sections suivantes :

3.1 Syntaxe des COMMENTS

COMMENT {
[LINE nn]
[COL nn]
[NC nn]
[NL nn]
[color]
}

color ::= DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK

3.2 Syntaxe des GLOBAL

GLOBAL {
DATE_FORMAT format_defn
| TIME_FORMAT format_defn
| NB_DEC nn

| CLOCK_POS line col
| DATE_POS line col
| MEM_POS line col
| KEY_POS line col

| FLD_MEM YES | NO
| DRW_MEM YES | NO
| OPT_MEM YES | NO
| DEF_OBJ YES | NO
| ONE_OBJ YES | NO
| NAME_MEM YES | NO
| NO_DEF YES | NO
| PAGE_CENTER YES | NO
| PAGE_AUTO YES | NO
| MENU_AUTO YES | NO
| CONFIRM_CREATE YES | NO
| CONFIRM_DELETE YES | NO
| FIX_DEC YES | NO
| DEL_EOF YES | NO
| SYNC YES | NO
| CLOCK_SECS YES | NO
| BOX_1 YES | NO
| IMPORT_REQUIRED Yes | NO
| IMPORT_TODAY YES | No
| BC_AUTO_CREATE YES | No
| MP_AUTO_CREATE YES | No
| MP_LPG_MEM YES | No
| BC_LPG_MEM YES | No
| GE2EQ Yes | NO

| MENU_COLOR color
| PAGE_COLOR color
| FIELD_COLOR color

| PAGE_BOX 0 | 1 | 2 | 3
| PAGE_SHADOW 0 | 1 | 2 | 3

| HELPFILE filename
| TRANS_FILE filename

| USER_NAME "nom"
| APPL_NAME "nom"
| SERIAL_NB "sn"
| LIM_DATE date

| ISI_MEM {Yes | No}
| WIN_VLINE {Yes | No}
| WIN_HLINE {Yes | No}
| WIN_NCP nn
| WIN_FIXED {Yes | No}
| CHECK_BOX_TXT "string"
| CHECK_BOX_CHAR "letter"
| RADIO_TXT "string"
| RADIO_CHAR "letter"
| WIN_SKIP nn
| WIN_NLPFLD nn
| WIN_NLPTXT nn
| WIN_NLPVLINE nn
| WIN_NLPHLINE nn
| WIN_NLPNULL nn
| WIN_ATTR color attr
| WIN_NCPFLD nc ncp
| WIN_NOCOLOR {Yes | No}

}



color ::= DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK
date ::= yyyymmdd


3.3 Syntaxe d'un ISAM

isam_defn ::= {
"filename"

[CTREE | CISAM | INGRES | INFORMIX | ORACLE | SYBASE]

[NO_OBJ | DEF_OBJ]

[CRYPT]
[NO_HIST]
[VARLEN]
[BUF_SEARCH]
[DEF_MAX]

[WRITE_FN action]
[REWRITE_FN action]
[DELETE_FN action]
[READ_FN action]

[MODIFY_CATG catg]
[CREATE_CATG catg]
[DELETE_CATG catg]
[SEARCH_CATG catg]


FIELD {external_isf | field_type} [NAME name] [isf_attr] [HSI_FIX]
VFIELD field_type [NAME name] [isf_attr] [HSI_FIX]
...

INDEX {external_idx | index_defn} [NAME name] [ASC | DES] [DUP | NODUP]
...
}

catg ::= nn

external_isf ::= ISAM isam_defn isf_name
| {FOREIGN_KEY | FK} isam_defn code [DELETE] [UPDATE]

field_type ::= CHAR
| SHORT
| SHORT1
| LONG
| AUTO
| DATE
| TIME
| FLOAT
| DOUBLE
| STRING lg
| ZSTRING lg
| MENU [name] menu_defn


isf_attr ::= [REQUIRED] [NL nn] [NC nn] [NLV nn] [NLC nn]
[TODAY] [NB_DEC nn] [FIX_DEC] [DEL_EOF]
[OUTPUT | INPUT | HIDDEN | ACCESSIBLE]
[UPPER | LOWER]
[CENTER | LJUST | RJUST | SQZ | ASIS]
[ALLOWED "string"]
[COMPULSORY | NOT_COMPULSORY]
[FNKEY [name] fnkey_defn]
[HELP "string"]
[TITLE "string"]
[PROMPT "string"]
[FORMAT format_defn]
[CODE isam_defn index_name [= field_name]]
[string]
[NO_OBJ | DEF_OBJ]
[COMMENT "text"]
[HSI_FIX]

external_idx ::= {FOREIGN_KEY | FK} isam_defn idx_name [DELETE] [UPDATE]

index_defn ::= {
field_name[:length]
[SQZ | UPPER | LOWER]
[DEF_OBJ | NO_OBJ]
[GE2EQ {Yes|No}]
...
}

format_defn ::=
for a type DATE : "dd-mm-yyyy" or "mm-dd-yy" ...
for a type TIME : "hh:mm:ss" or "hh:mm" ...
for a type INTEGER : "09 " ..
for a type STRING : "X.X.."

3.4 Syntaxe d'une ACTION

action_defn ::= {
[CATG nn]
[PROT "class;class;..."]
at_action_defn
...
}

at_action_defn ::=
MN_EDIT menu_defn
| MENU menu_defn

| AB_DISPLAY abar_defn
| AB_EDIT abar_defn
| AB_UNDISPLAY abar_defn


| APPL_RUN appl_defn
| APPL_MAIN
| APPL_QUIT
| AP_IMPORT appl_defn page_defn

| PG_EDIT page_defn
| PG_REEDIT page_defn
| PG_RESET page_defn
| PG_DISPLAY page_defn
| PG_UNDISPLAY page_defn
| DISPLAY_FLDS page_defn
| PG_SLIDE page_defn
| REEDIT
| SKIP
| ABORT

| PR_SELECT printer_defn
| PR_PAGE page_defn
| PR_STRING "string"
| SEND
| BOLD
| ENLARGED
| CONDENSED
| UNDERLINE
| NORMAL
| TAB
| VTAB
| PG_TAB
| LINEFEED
| FORMFEED
| PR_UP nn
| PR_DOWN nn
| PR_LEFT nn
| PR_RIGHT nn
| PR_GOTO line col

| MP_EDIT_ISAM mpage_defn
| MP_DELETE mpage_defn
| MP_MODIFY mpage_defn
| MP_VIEW mpage_defn
| MP_CREATE mpage_defn
| MP_ADD mpage_defn
| MP_SET_CBUF mpage_defn
| MP_IMPORT mpage_defn page_defn

| BC_EDIT_ISAM bc_defn
| BCAB_EDIT_ISAM bc_defn
| BC_RESET bc_defn
| BC_DISPLAY bc_defn
| BC_UNDISPLAY bc_defn
| BC_CREATE bc_defn
| BC_OPEN bc_defn
| BC_CLOSE bc_defn
| BC_SEARCH bc_defn
| BC_NEXT bc_defn
| BC_PREV bc_defn
| BC_MODIFY bc_defn
| BC_DELETE bc_defn
| BC_DISPLAY_FLDS bc_defn
| IF_BC_SELECT bc_defn

| PG_EDIT_ISAM page_defn
| AB_EDIT_ISAM page_defn
| PG_SCAN_ISAM page_defn
| PG_DELETE page_defn
| PG_MODIFY page_defn
| PG_CREATE page_defn
| CREATE_REC page_defn
| PG_SEARCH page_defn
| PG_NEXT page_defn
| PG_PREV page_defn
| PAGE_TO_ISAM page_defn isam_defn
| ISAM_TO_PAGE page_defn isam_defn
| PG_IMPORT page_defn page_defn
| APPLY_CMP page_defn
| IF_PG_SELECT page_defn

| OPEN_ISAM isam_defn
| IS_CLOSE isam_defn
| IS_SEARCH isam_defn index_nb
| IS_PREV isam_defn
| IS_NEXT isam_defn
| IS_DELETE isam_defn
| IS_REWRITE isam_defn
| SCAN_ISAM page_defn isam_defn nn nn
| EXPORT isam_defn isam_field_name

| C_FN c_code
| SET_ALARM alarm_defn
| STOP_ALARM
| RESTART_ALARM

| LOCK_SCREEN
| FORK
| SYSTEM "cmd1;cmd2;..."
| INFO "filename"
| ASK "string"
| RECORD record_defn

| HELPFILE "filename"
| HELP "topic"

record_defn ::= {
fnkey | "string" | 'letter' ... | nn ...
...
}

fnkey ::= F1 | F2 | .. | F10
| A_F1 | A_F2 | .. | A_F10
| C_F1 | C_F2 | .. | C_F10
| S_F1 | S_F2 | .. | S_F10
| ENTER | ESCAPE | TAB | S_TAB
| RIGHT | LEFT | PGUP | PGDN | UP | DOWN | HOME | END
| C_RIGHT | C_LEFT | C_PGUP | C_PGDN | C_HOME | C_END
| INSERT | DELETE
| CTRL_A | CTRL_B | ... | CTRL_Z
| ALT_A | ALT_B | ... | ALT_Z

alarm_defn ::= action_defn nb_sec

3.5 Syntaxe d'une PAGE

page_defn ::= {
[CENTER]
[SCREEN screen_defn]
[NOMODIFY] [NOCREATE] [NODELETE] [NOSEARCH]
[NL nn]
[NC nn]
[LINE nn]
[COL nn]
[TITLE "string"]
[FOOTNOTE "string"]
[BOX 2 | 1 | 0]
[BEGIN_FN action_defn]
[END_FN action_defn]
[DISPLAY_FN action_defn]
[RESET_FN action_defn]
[BACKGROUND color]
[WRAP ON | OFF]
[DEFAULTS defaults_defn]
[NODEFAULTS]
[ISAM isam_defn]
[FILL ON | OFF | 'c']
[FNKEY fnkey_defn]
[AUTO]
[COMMENT "comment_text"]
[HELP "topic_name"]
[MENU menu_defn]
[NO_OBJ]
[VIEW_ORDER | NO_VIEW_ORDER]
[SHADOW0] [SHADOW1] [SHADOW2] [SHADOW3] [SHADOW4]
[NOSHADOW]
[FLD_MEM] [DRW_MEM]
[NAME_MEM]

[NO_OBJ | DEF_OBJ]
[CLOSEBOX | NOCLOSEBOX]
[IMPORT_TODAY {YES | NO}]
[IMPORT_REQUIRED {YES | NO}]

[DRAW draw_defn]
[HLINE hline_defn]
[VLINE vline_defn]
["string" draw_text_defn]
[REDRAW redraw_defn]
[ISAM isam_defn]

[GROUP [grp_name] grp_defn]

[WIN_VLINE {YES | NO}]
[WIN_HLINE {YES | NO}]
[WIN_NCP nn]
[WIN_FIXED {YES | NO}]
[WIN_SKIP nn]
[WIN_NLPFLD nn]
[WIN_NLPTXT nn]
[WIN_NLPVLINE nn]
[WIN_NLPHLINE nn]
[WIN_NLPNULL nn]

[FIELD field_defn]
...

}


field_defn ::= [NAME name]
[FORMAT format_defn]
["default_value"]
[TODAY]
[NB_DEC nn]
[FIX_DEC]
[DEL_EOF] [NO_DEL_EOF]
[NL nn] [NC nn]
[NLV nn] [NCV nn]
[LINE nn] [COL nn]
[BEGIN_FN action_defn]
[END_FN action_defn]
[DISPLAY_FN action_defn]
[color]
[WRAP ON | OFF]
[OUTPUT | INPUT | HIDDEN | ACCESSIBLE]
[NATURAL | INTEGER | REAL | TIME | DATE | EDITOR |
STRING | DIR | MENU menu_defn | PASSWD|
CKECKBOX | RADIO]

[UPPER | LOWER]
[ALLOWED "string"]
[CENTER | LJUST | RJUST | SQZ | ASIS]
[NOT_COMPULSORY | COMPULSORY | REQUIRED]
[ISAM isam_defn isam_field_name]
[ISF isam_field_name]
[CODE isam_defn index_name
[CIRC | EQ | GE | LE | GT | LT | NE]
[{field_name ...}]]
[FNKEY fnkey_defn]
[PROMPT "string"]
[NO_OBJ | DEF_OBJ]
[COMMENT "text"]
[HELP "string"]

[TITLE "text"]
[BOX]
[SBAR]
[STBAR]
[FLD_IDX | FLD_COND | FLD_COUNT]
[IF_ALFA action_defn]

[WX [+|-]nn]
[WY [+|-]nn]
[WW [+|-]nn]
[WH [+|-]nn]

defaults_defn ::=
[FORMAT format_defn]
[NOFORMAT]
["default_value"]
[NB_DEC nn]
[FIX_DEC]
[DEL_EOF]
[NL nn] [NC nn]
[NLV nn] [NCV nn]
[LINE nn] [COL nn]
[BEGIN_FN action_defn]
[END_FN action_defn]
[DISPLAY_FN action_defn]
[color]
[WRAP ON | OFF]
[OUTPUT | INPUT | HIDDEN | ACCESSIBLE]
[NATURAL | INTEGER | REAL | TIME | DATE | EDITOR |
STRING | DIR | PASSWD | CKECKBOX | RADIO]

[UPPER | LOWER]
[ALLOWED "string"]
[CENTER | LJUST | RJUST | SQZ | ASIS]
[NOT_COMPULSORY | COMPULSORY | REQUIRED]
[ISAM isam_defn | NO_ISAM]
[NO_OBJ | DEF_OBJ]
[FNKEY [name] fnkey_defn]
[ISF + n]

grp_defn ::= {
TITLE "text"
hot_key
FIELDS {
FIELD field_defn
...
}
}

draw_defn ::= BOX [color] width line col nl nc
| VLINE vline_defn
| HLINE hline_defn
| FILL [color] line col nl nc
| "string" draw_text_defn
| REDRAW redraw_defn

hline_defn ::= [color] width line [col [nc]]
vline_defn ::= [color] width line col [nl]
draw_text_defn ::= [color] line col
redraw_defn ::= [line col nl nc]

color ::= DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE |
BLINKING | DIM | BLUE | GREEN | CYAN | RED |
MAGENTA | YELLOW | WHITE |BLACK

action_defn ::= voir ACTION
isam_defn ::= voir ISAM
menu_defn ::= voir MENU
fnkey_defn ::= voir FNKEY

format_defn ::= voir ISAM

isam_field_name ::= name | nn | isam_field_name + nn
index_name ::= name | nn
nn ::= number

screen_defn ::= {
free text
...
}

Dans free_text on trouve :

$field_spec : champ input
*field_spec : champ output
&field_spec : champ accessible

field_spec ::= name[+nn][)nn]

où +nn prend le champ + nn
)nn ne prend que les nn premiers caractères du champ

3.6 Syntaxe d'une FNKEY

fnkey_defn ::= {
fnkey [action_defn] ["text"]
...
}

fnkey ::= F1 | F2 | .. | F10
F1_1 | F2_1 | .. | F10_1
| A_F1 | A_F2 | .. | A_F10
| C_F1 | C_F2 | .. | C_F10
| S_F1 | S_F2 | .. | S_F10
| ENTER | ESCAPE | TAB | S_TAB
| RIGHT | LEFT | PGUP | PGDN | UP | DOWN | HOME | END
| C_RIGHT | C_LEFT | C_PGUP | C_PGDN | C_HOME | C_END
| INSERT | DELETE
| CTRL_A | CTRL_B | ... | CTRL_Z
| ALT_A | ALT_B | ... | ALT_Z

3.7 Syntaxe d'un MENU

menu_defn ::=   {
[TITLE "string"]
[FOOTNOTE "string"]
[BACK color]
[BOX 2 | 1 | 0]
[AUTO]
[NL nn] [NC nn]
[LINE nn] [COL nn]
[FIRST_OPTION nn]
[CHOICE nn]
[BEGIN_FN action_defn]
[END_FN action_defn]
[FNKEY fnkey_defn]
[HELP "string"]
[COMMENT "string"]
[OPT_MEM]
[SBAR]

OPTION option_defn
...
}

color ::= DEFAULT | REVERSE | UNDERLINE | BOLD | INVISIBLE | BLINKING |
BLACK | BLUE | GREEN | CYAN | RED | MAGENTA | YELLOW | WHITE

option_defn ::= "string"
[[ACTION] action_defn]
[UNDISPLAY]
[TOGGLE]
[ABORT]
[ON | OFF]
['c']
[fnkey]
[HELP "string"]
[COMMENT "string"]
[PROT "class;class;..."]

3.8 Syntaxe d'un PRINTER

printer_defn ::= {
FILE "filename" | PRINTER "device_name" | DIRECT "device_name"
[NL nn] [NC nn]

[BEGIN "string"]
[END "string"]
[FORMFEED "string"]
[LINEFEED "string"]

[E_BOLD "string"]
[E_CONDENSED"string"]
[E_ENLARGED "string"]
[E_REVERSE "string"]
[E_UNDERL "string"]
[NORMAL "string"]
[BOLD "string"]
[CONDENSED "string"]
[ENLARGED "string"]
[REVERSE "string"]
[UNDERLINE "string"]


[TABS nn nn ...]
[VTABS nn nn ...]

[MAP 'letter' "string"]
...

3.9 Syntaxe d'une A_BAR

abar_defn ::= {
[LINE nn]
[COL nn]
[BEGIN_FN action_defn]
[END_FN action_defn]
[HELP "topic"]
[COMMENT "string"]
OPTION option_defn
...
}

option_defn ::=
"text"
MENU menu_defn | [ACTION] action_defn | RETURN
[fnkey]
[DISPLAY_FN action defn]
[HELP "topic"]
[COMMENT "string"]
[PROT "class;class;..."]

3.10 Syntaxe d'une APPL

appl_defn ::= {
[TITLE "string"]
[FOOTNOTE "string"]
[BACK color]
[BOX 2 | 1 | 0]
NL nn
NC nn
[LINE nn]
[COL nn]
[FILL ON | OFF | 'c']
[BEGIN_FN action_defn]
[END_FN action_defn]
[FNKEY fnkey_defn]
[APPL_MAIN action_defn]
[PAGE page_defn]
[BC bc_defn]
A_BAR abar_defn
[DRAW draw_defn]
WIN_ENABLE [Yes | No]

3.11 Syntaxe d'une MPAGE

mpage_defn ::= {
[NOMODIFY]
[NOCREATE]
[NODELETE]
[NOSEARCH]
[CRITERION action_defn]
NL nn
LINE nn
NPG nn
[BUF_SIZE nn]
ISAM isam_defn index_name [GE | LE | EQ | EQ1..EQ6]
[FNKEY fnkey_defn]
APG page_defn
LPG page_defn
[BPG page_defn] | [BC bc_defn]
[SPG page_defn]
[HELP "topic"]
[COMMENT "text"]
[AUTO_CREATE YES | No] | [MP_AUTO_CREATE YES | No]
[LPG_MEM YES | No] | [MP_LPG_MEM YES | No]
[USE_REF Yes | NO]
[VIEW_FN action_defn]
[VIEW_CREATE_FN action_defn]
[VIEW nn {view_defn}] ...

[WX [+|-]nn]
[WY [+|-]nn]
[WW [+|-]nn]
[WH [+|-]nn]
}


view_defn ::= {
[LPG page_defn]
[BPG page_defn] | [BC bc_defn]
[ISAM isam_defn]
}

3.12 Syntaxe d'une SMPAGE

smpage_defn ::= {
ISAM isam_name
[INDEX [index_name]]
[GE | EQ | LE | EQ1 | EQ2 .. EQ6]
[TITLE "text"]
[FOOTNOTE "text"]
[BPG page_defn] (default p_<isam_name>)
[BC bc_defn]

[NP n] (default max in screen - 8)
[LINE n] (default : centered)
[COL n] (default : centered)
["free SCR commands"]
[MENU menu_defn]

[APG "instructions"
- field_def
...
+ extern_field_def
...
]

LPG "instructions"
- field_def
...
+ extern_field_def
...
}

field_def ::=

["prompt text"] isam_fld_name [nc] ["free SCR commands"]

extern_field_def ::=

["prompt text"] isam_name field_def

3.13 Syntaxe d'un BC

bc_defn ::= {
[NOMODIFY]
[NOCREATE]
[NODELETE]
[NOSEARCH]
NL nn
LINE nn
NPG nn
BC isam_defn isf_name1 isf_name2 ...
LBC isam_defn index_name
[FNKEY fnkey_defn]
[LINK_FN action_defn]
APG page_defn
LPG page_defn
[BPG page_defn]

[WRITE_LBC_FN act_defn]
[INSERT_LBC]
[ANY_KEY action_defn]
[AUTO_CREATE YES | No] | [BC_AUTO_CREATE YES | No]
[LPG_MEM YES | No] | [BC_LPG_MEM YES | No]
[SBAR]
[VIEW_FN action_defn]
[VIEW_CREATE_FN action_defn]
[VIEW nn {view_defn}] ...

[WX [+|-]nn]
[WY [+|-]nn]
[WW [+|-]nn]
[WH [+|-]nn]
}

view_defn ::= {
[LPG page_defn]
[BPG page_defn]
[ISAM isam_defn]
}

3.14 Syntaxe d'une TOOLBAR

    TOOLBAR [name] {
type ident "text" action
...
}


type est :
- BUTTON : bouton normal
- CHECK_BUTTON : bouton qui reste enfoncé si on clique dessus
- SPACE : espace entre deux groupes de boutons

ident est :
- un entier qui est le numéro d'ordre de l'image dans le fichier
bitmap scr4w.bmp

- un des mots-clés suivants (qui représente un entier) :
NEW
OPEN
SAVE
CUT
COPY
PASTE
HELP
CONTEXT_HELP
PRINT

text est un texte (court) qui s'affiche dans une mini-fenêtre
lorsque la souris passe sur le bouton

action et la définition de l'action associée

3.15 Syntaxe d'une TPAGE

TPAGES [nom] {
TITLE "texte"
[BACK attr]
[RATTR attr]
[BOX nn]
[WIZARD]
[Begin_FN act_defn]
[End_FN act_defn]
PAGE pg_defn "TITLE"
...
}
}

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be