Marc's Place

E$CHAR - Innemen van een toetsaanslag




Aanroep
 
xcall e$char (toets)
 
Common velden vóór aanroep
e$_curw
Identificatie van het actieve venster
e$_sup
Signaal om scherm-updates op te sparen. Deze wordt hier op NUL gezet, aangezien het opsparen toch ophoudt bij een inname.
e$_upc
Invoer omzetten naar hoofdletters, indien het kleine letters betreft.
1 = Ja
0 = Nee, maar let ook op e$dbl_flags, want daar staat of de ingave van kleine letters is toegestaan.
Parameters te vullen bij aanroep
*N/A
Parameters gevuld bij terugkeer
toets (d3)
De gedane toetsaanslag in de vorm van een numerieke waarde of NUL indien er een functietoets aangeslagen is. De routine ondersteunt MS-DOS/Windows, VT-7 en 8-bits toetsaanslagen.
De volgende toetsaanslagen worden intern afgehandeld en niet aan het aanroepende programma teruggegeven:
  • CTRL/T
    Dan wordt e$trace aangeroepen.
  • CTRL/V
    Dan worden versie-gegevens in een venster getoond.
  • CTRL/R en CTRL/W
    Dan wordt het scherm opnieuw opgebouwd.
Indien toets de waarde nul heeft, is de aangeslagen functietoestcode altijd te vinden in de common variabele e$_chr.ky of af te vragen uit de array fkyara.
Common velden gevuld bij terugkeer
e$_sup
Op NUL gezet.
e$_chr
Dit veld is een group en is opgedeeld in twee velden, te weten:
  • ck
    Staat voor Controlling Key. Is gevuld met 0, 1 of 2 wat staat voor Niets, SHIFT-toets ingedrukt, CTRL-toets ingedrukt.
  • ky
    Bevat de toetscode volgens e$keys.h
fkyara
Dit commonveld bevat 36 D1 velden (F01 t/m F36), elk overeenkomend met een functietoets van F1 t/m F36. De bij de functietoets behorende F-variabele wordt met 1 gevuld. Dan kan je gewoon if F03 return programmeren.
Voorbeelden

xcall e$char (ascii)

using ascii select
(0),
; Functietoets

    using e$_chr.ky select
    ...
    ...
    endusing

(), ; Elke andere toets

    using ascii select
    ...
    ...
    endusing

endusing


Door e$char wordt bij een toetsaanslag van F01 een user-routine aangeroepen. Deze user-routine heet usrchar.dbl en bevindt zich in de source directory. Je kan deze naar believen aanpassen, compileren en in een bibliotheek plaatsen. Let er op dat je in deze user-routine niet nog eens e$char kan aanroepen.

© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me