Software development, photography, jokes, ....

Sites by me

 
tas-logoTransportation Administration System
snoezelkussen-logo-kleinstSnoezelkussens voor verstandelijk gehandicapten
ikzoekeenbegeleider-logoBegeleiders voor gehandicapten
Laat uw hond het jaarlijkse vuurwerk overwinnen
logo 50x50Hey Vos! Je eigen naam@vos.net emailadres?
Kunst in huis? Nicole Karrèr maakt echt bijzonder mooie dingen
nettylogo2Kunst in huis? Netty Franssen maakt ook bijzonder mooie dingen
Salarisadministratie en belastingadvies bij De Zaak Loont
Zutphense Bomenstichting

Hosting Favorites

 
ANU Internet Services
XelMedia .internet Services
register.com

Blogroll

 
Bomenstichting
LassoSoft
MacFreak
Quality that computes
The Economy of Motion
Wheel 2.0
IntrAktv



Website Hosting bij Xel Media

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) Contact Me