Oppure

Loading
21/12/14 18:21
NOVA99
Salve a tutti, esiste una funzione che, se è stato premuto un tasto nella tastiera, ne restituisca il relativo carattere? A prima vista può sembrare tutto risolto con la funzione keypressed (nella unit CRT), ma quest'ultima permette di sapere SE un tato è stato premuto, non QUALE

Cercando con Google, sono arrivato alla conclusione che si tratterebbe di leggere il buffer della tastiera, cosa che non ho ancora capito come fare

Qualche soluzione?

Grazie
aaa
15/01/15 18:08
NOVA99
Conoscevo da molto la funzione readkey. Il suo problema è che FERMA L'ESECUZIONE e aspetta un input, mentre io vorrei sapere se c'è un modo per leggere il buffer della tastiera in modo tale da catturare un eventuale tasto premuto dall'utente IN CORSO di esecuzione.
Secondo me, visto che keypressed riesce a dirmi se un tasto è stato premuto, vuol dire che può leggere il contenuto del buffer, per cui dovrebbe essere possibile copiarlo su una variabile (almeno così la vedo io)...
aaa
15/01/15 18:46
TheDarkJuster
function KeyPressed: Boolean;

no, ti dice solo se è premuto o no.

Ho trovato questo: swag.outpostbbs.net/TEXTWNDW/…
aaa
17/01/15 21:06
NOVA99
Non funziona :( . Il compilatore (fpc) mi dà errore proprio sull'ultima riga della unit : 'Fatal error : unexpected end of file'
aaa
17/01/15 21:11
TheDarkJuster
e se aggiungi un a capo? perchè non so proprio perche non dovrebbe compilarsi, è del codice assembly il compilatore pascal deve fare un lavoro minimale.......
aaa
18/01/15 9:44
NOVA99
Ci ho già provato. Ho anche provato a spostare l'ultima parte della unit in un programma a parte, ma l'errore rimane
aaa
18/01/15 10:31
TheDarkJuster
E se provassi a compilare solo le funzioni/procedure che ti servono integrandole nel tuo sorgente?
aaa