Avatar billede soepro Nybegynder
03. februar 2000 - 12:58 Der 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 ???
Avatar billede nolle_k Nybegynder
15. februar 2000 - 09:59 #1
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();
}



}
Avatar billede soepro Nybegynder
15. februar 2000 - 10:05 #2
Jo, men de er utilstrækkelige - jeg har f.eks. behov for at kunne sætte/aflæse div. tastatur flag (Num-Lock, Caps, Insert osv.)
Avatar billede soepro Nybegynder
14. august 2000 - 12:56 #3
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.)
Avatar billede brigge Nybegynder
11. oktober 2001 - 10:27 #4
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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Udviklings- og Forenklingsstyrelsen

Karrieremulighed inden for cybersikkerhed

Cognizant Technology Solutions Denmark ApS

Test Manager

Danske Commodities A/S

Data technician trainee

MAN Energy Solutions

LTSA 4-Stroke Technical Advisor