Newsgroup: it.comp.lang.pascal
Titolo: [TP7DOS] ReadKey, KeyPressed & Co.

Premessa: sto usando il Borland Turbo Pascal 7.0 DOS
Il mio dilemma e' quasto: c'e' un modo per far si che due "repeat
until keypressed" di seguito non equivalgano di fatto a uno solo???
(ma lo stesso vale anche coi readkey)
Alcune volte cio' e' molto comodo... ma altre fa davvero inka%%are!
Cya!
<<* Vegeta *>>
               | Internet: 
veg...@mindless.com
               | ICQ#    : 6907362
               | Cybernet: 65:1400/7.22
               | ECN     : 45:1917/21.22
               | Freaknet: 99:393/1.22
               | 
http://www.geocities.com/Tokyo/Garden/4313
** La piu' grande beffa che il Diavolo abbia mai fatto all'umanita'
** e' stata quella di far credere a tutti che lui non esiste.

dovresti usare il carattere letto dopo il primo "repeat until keypressed"
con qualcosa come
dummychar := readkey;
in questo modo verra' richiamata una funzione DOS che azzera il buffer, e
quindi potrai fare il tuo nuovo "repeat ..."


Allora: repeat until keypressed, significa "Ripeti finché non viene premuto
un tasto", ma è molto, molto brutto da usare:
infatti quando il tasto viene premuto, viene mantenuto "in memoria" il tasto
che hai premuto, finché non lo vai a leggere con ReadKey.
allora dovresti fare: repeat until keypressed; readkey;...
ma perché, dunque, non fare direttamente ReadKey e basta??
se vuoi ricordare il valore, fai ch:=readkey; altrimenti, se te ne freghi,
fai semplicemente ReadKey.... dovrebbe funzionare (al max c'è una direttiva
del compilatore da mettere a posto)
Inoltre: tasti quali le freccette, danno 2 caratteri... ed il Readkey ne
legge uno solo... quindi io metto:
ReadKey;
while keypressed do ReadKey;
Di questi ne puoi mettere finché vuoi!!! :-)
Ciao
--
Emanuele Cesena
d.a.m...@iol.it
ICQ n° #10570672

quindi potrai fare il tuo nuovo "repeat ..."
Grazie mille!!! Finalmente potro' risolvere sto problemino ;)


Di questi ne puoi mettere finché vuoi!!! :-)
Perfetto! Questa mi sembra la soluzione migliore!
Grazie ;)


Grazie ;)
Milleni di studio e sofisticate teorie di Scienza dell'Informazione stanno
alla base di questa rivoluzionaria funzione... :-)
Se preferisci (visto che ti piaceva il repeat until) c'è anche la versione:
repeat readkey until not keypressed;
(sta anche in una riga!!!)
Ciao e alla prossima!!!


(sta anche in una riga!!!)
Si... questo e' ancora meglio...
Ed inoltre io davvero preferisco il repeat until...
Pero' chiariscimi ancora una cosa... con quella riga il prog si ferma,
apetta un taso e poi se lo dimentica, in modo che se ne scrivo due di
seguito devo premere due tasti, giusto? Non devo aggiungere
nient'altro?
Cya!
<<* Vegeta *>>
               | Internet: 
veg...@mindless.com
               | ICQ#    : 6907362


nient'altro?
Alors, siccome usi il repeat, almeno una volta fa quello che gli dici
(no??), cioè almeno una volta fa readkey... e cioè chiede un tasto.
Poi controlla se è vero keypressed... il che non si verifica mai (a meno che
premi qualche tasto tipo freccette ecc.)... se comunque ci fosse keypressed,
allora ripete il readkey (e si mangia il carattere dal buffer)... e adesso è
davvero impossibile che debba ripetere il readkey... (a meno che tu non
abbia un joystick programmabile, ma non facciamola complicata!!! :-))) )
Quindi, alla fine del nostro repeat until il buffer è bello vuoto come
mammasua l'ha fatto!!! :-)
Segue che ne puoi mettere in fila finché ne vuoi...
Ciao ciao


Segue che ne puoi mettere in fila finché ne vuoi...
Grazie e scusa se ti ho rotto un po' con ste domandine del cazzo ;)


Grazie e scusa se ti ho rotto un po' con ste domandine del cazzo ;)
Ci mancherebbe!!!!
Almeno sfoggio un po' la mia cultura :-)))
