Newsgroup: it.comp.lang.delphi
Titolo: auto-ripetizione tastiera

Cari amici
sto realizzando un piccolo programmino per riconoscere le note musicali;
tutto bene sino a quando non riesco ad disabilitare l'autoripetizione
dei tasti (tastiera PC) che mi ripete all'infinito le lettere producendo
ribattuti di note indesiderate.
Inoltre c'è un piccolo ritardo dal momento della pressione del tasto
fino all'attivazione della nota.
Ho provato ritardando (con le API) la velocità della ripetizione, ma ho
proprio bisogno di disabilitare l'autoripetizione.
Grazie di cuore a chi vorrà aiutarmi.
A proposito i programmi sono sempre freeware quindi magari potrà servire
anche a voi...
Renzo R.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:c837f57a31b2f003da4...@mygate.mailgate.org...

bhe prova così...
dichiara K:Char come variabile globale e poi ad esempio sull'evento keypress
della edit o dell'oggetto in cui scrivi metti questo
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   If K=Key Then
     Key:=Chr(0)
   Else
     K:=Key;
end;
dimmi se funziona...
ciao
--
--------------------------------------------------
Carlo Camarda
chiamac...@tiscalinet.it
]@#[ Anna I Love You ]#@[

Grazie Carlo
funziona, perň in effetti vorrei disabilitare proprio la funzione
dell'autoripetizione;
altrimenti devo applicare la tua soluzione ad ogni tasto (nota).
Grazie e Buona PAsqua


 ha scritto nel messaggio
news:c0d99ea4dff7f01f7a9...@mygate.mailgate.org...

utilizzando le api non so proprio ke dirti...
male ke č arrangia cosě
Ciao buona pasqua


 dell'autoripetizione;
l'unica soluzione valida che mi viene in mente è quella dell'hook locale
(che potresti anche sostituire lavorando sulle code e sulla WindowProc) che
prende "in anticipo" il tasto e ne rilascia il messaggio solo quando viene
rilasciato il tasto premuto. Se non ricordo male c'è una mappa di bit che ti
permette di sapere lo stato del tasto, cmq cercando nella documentazione la
funzioni SetWindowsHookEx() e l'hook WH_KEYBOARD dovresti ottenere tutta la
documentazione necessaria. Se hai bisogno di ulteriori dritte chiedi pure
--
- Carlo -
c.b...@libero.it

Perche' non usi keydown invece di keypress ?

Ciao Carlo
sei molto gentile e professionale.
In effetti mi sembrava che bisognava andare più a fondo per questa
specifica funzione.
In ogni caso, non essend un programmatore professionista (infatti faccio
professionalmente musica jazz) credo che mi fermerò prima.
In alcune prossime versioni ti disturberò ancora.
Grazie e Buona Pasqua
Renzo Ruggieri




ke cambia...
dico rispetto al funzionamento di questo specifico programma...


 dico rispetto al funzionamento di questo specifico programma...
veramente per fare una tastiera midi cambia moltissimo...
ci vuole l'inizio nota e fine nota,di conseguenza l'uso di keydown-up č
d'obbligo :))
ciao

 dico rispetto al funzionamento di questo specifico programma...
cambia molto :)
keypress viene chiamato quando il tasto viene premuto, e se viene tenuto
giu', dopo una breve pausa viene richiamato ripetutamente (provare su un
editor di testo)
keydown viene invece chiamato solo quando il tasto viene abbassato,
indipendentemente da quanto tempo stia giu'.
quando viene rilasciato, viene chiamato onkeyup

"{MSX}" <nlugat...@THISinwind.it> ha scritto nel messaggio
news:z0Fp8.98007$%g7.31...@twister2.libero.it...

capito... grazie
