Marc's Place

E$TERM - Gebruikers- en terminal-instellingen




Aanroep
 
xcall e$term
 
Common velden, logicals en/of symbols vóór aanroep
terminal
Een logical die het terminalnummer bevat.
terminal_mode
Een logical die de modus waarin gewerkt wordt aangeeft (batch, interactief).
terminal_user
Een logical die een representatieve naam bevat van de gebruiker.
chtmp
Een kanaalnummer dat gebruikt wordt om het bestand E$SYS:USRS[_PKG].ISM te lezen. Deze variabele bevindt zich in e$lib:earth.h.
Parameters te vullen bij aanroep
*N/A
Parameters gevuld bij terugkeer
*N/A
Common velden gevuld bij terugkeer
e$usr
Record met terminal- en gebruikersinstellingen.
Voorbeelden
 

De routine haalt de instellingen voor de gebruiker op uit logicals die, onder MS-Windows uit Synergy.ini, door middel van het programma e$sys:term_set.exe zijn ingesteld. Tevens worden er instellingen gelezen uit de bestanden E$SYS:USRS_<pkg>.ISM of E$SYS:USRS.ISM, in deze volgorde. Indien geen van beide bestanden bestaan, wordt het programma onmiddellijk afgebroken.


Door het vullen van het common veld e$_pkg als eerste statement in je programma op te nemen en te vullen met een drie-letterige pakketcode, wordt in deze routine een bestandsnaam voor de gebruikersinstellingen samengesteld.

Met het statement e$_pkg = 'HAN' bijvoorbeeld, wordt op E$SYS: naar het bestand USRS_HAN.ISM gezocht. Bestaat het bestand niet, dan wordt E$SYS:USRS.ISM genomen. Uit het gevonden bestand worden de overige waarden voor e$usr gelezen.


Het record met gebruikersinstellingen wordt gezocht met de naam uit de logical TERMINAL_USER. Indien het een nieuwe gebruiker betreft, wordt het record met de gebruikersnaam DEFAULT opgezocht. Deze gegevens worden overgenomen in het nieuwe gebruikersrecord en het nieuwe record wordt aan het bestand toegevoegd.


Voor detached programma's en programma's waarbij om de een of andere reden tijdens de runtime geen environment beschikbaar is, moet de gebruikersnaam NOENV voorkomen in het actieve gebruikersbestand. Deze naam wordt door de routine automatisch genomen indien TERMINAL_USER geen waarde bevat. Bestaat NOENV nog niet, dan zal gebruikersnaam DEFAULT worden genomen en wordt daarmee een NOENV record gemaakt in het gebruikersbestand.

Indien DEFAULT zelf ook nog niet bestaat, wordt ook die automatisch aangemaakt met de volgende standaard waarden:

e$usr_stat = 1
e$usr_admn = 001
e$usr_prtn = 00
e$usr_intl = '. -:'
e$usr_lang = 1
e$usr_admf = 'E$SYS:ADM.ISM'
e$usr_flag = 0011001001
e$usr_fkys = 1
e$usr_fatt = 09
e$usr_ywrd = 'Ja'
e$usr_nwrd = 'Nee'

Als TERMINAL_MODE geen waarde bevat, wordt e$usr_mode op 'BATCH' gezet.

Indien de logical TERMINAL geen waarde bevat, wordt e$usr_term op 999 gezet.


Treed er bij het lezen van de ISAM een fout op anders dan 0,1,53 of 64 dan wordt het programma onmiddellijk gestopt.


Deze routine wordt in e$init aangeroepen om de gebruikersinstellingen te laden:

.subroutine E$INIT
...
...
.proc
if .not.%passed(p3) xcall E$TERM
...
...
© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
Privacy Statement