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

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