03. februar 2000 - 12:58Der er
2 kommentarer og 2 løsninger
Tastatur-tryk & -flag i C++ Builder Console Applications
Jeg har flyttet min "gamle" DOS applikation til C++ Builder som en console application. Men ... under DOS kunne jeg få direkte adgang til tastatur flagene på adresse 0x0147, samt både forespørge på og hente udvidede tastatur tryk via bios_kbd. Det kan jeg tilsynelandende IKKE under C++ Builder. Jeg kan via int 0x16 kalde den alm. tastatur (bios) funktion - men den giver mig ikke det korrekte resultat - det virker somom at Windows når at "hugge" tastetrykkene inden int 0x16 kaldes.
Er der nogen der har en god ide ??? Kan man f.eks. kalde en Windows API der sætter programmet (eller en tråd af programmet) til at vente på et tastetryk (en slags "WaitOnMessage") ??? Skal jeg kode kaldet til int 0x15 selv via ASM ??? Noget helt andet ???
Virker den funktion, der hedder kbhit() ikke??? Eller den funktion, der hedder getch()??? Burde virke på sammen måde i en console app. som i en gammel dos app.
void main() { char a; //Wait until a key is pressed while(!kbhit()){} //Get the Key a = getch(); }
Jeg har imellemtiden løst mit program ved at lave en windows skal til mine DOS programmer vha. tråde, som gør at jeg kan benytte Form events osv. til at hugge diverse information og via tråd-synkronisering over til DOS programmet. Så skal mine DOS programmer nemlig slet ikke ændres.
nolle får lidt, for trods alt at have vist lidt interesse. (Sorry about the delay.)
Jeg kan desværre ikke hjælpe. Men jeg takker meget for din hjælp selvom den kom for sent. Men jeg giver dig hele dynen. Og jeg takker. Så jeg sender ikke nogle gave da den kom for sent det skulle have været i går. Og ellers tak for det
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.