<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014-06-20 12:44 GMT+02:00 Gabriele Battaglia <span dir="ltr"><<a href="mailto:iz4apu@libero.it" target="_blank">iz4apu@libero.it</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Giorno di nuovo.<br>
<br>
Python 2.7.7, sotto Windows.<br>
<br>
Avrei bisogno di leggere i caratteri premuti sulla tastiera ma senza fermare il flusso del programma.<br>
<br></blockquote><div><br></div><div>Puoi spiegare meglio cosa esattamente vuoi fare e, soprattutto, come è organizzato il tuo programma?</div><div>Perchè ci sono diverse soluzioni possibili, a seconda dei dettagli.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Input ferma tutto e attende la pressione di invio, perciò non va bene.<br>
Un po meglio msvcrt.getch() che riparte dopo la pressione di un qualsiasi tasto, ma ferma comunque tutto il flusso.<br>
<br>
Cosa posso usare in alternativa?<br>
<br></blockquote><div><br></div><div>Windows ha un serie di API per gestire la console:</div><div><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx</a></div>
<div><br></div><div>In particolare, la soluzione classica è quella di passare l'handle della console<br></div><div>ad una funzione come `WaitForSingleObject` specificando il timeout a 0, e se c'è qualcosa da leggere chiamare `ReadConsole` (oppure un semplice stdin.read(1), senza scomodare l'API specifica di Windows).</div>
<div></div></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Ciao  Manlio</div></div>