|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
[vb6] tasti funzione e recordset
ho un form con un controllo ado e ho assegnato ai tasti da F9 a F12 i metodi
ado.recordset.movefirst ado.recordset.moveprevious ado.recordset.movenext ado.recordset.movelast quando però premo più volte ad es. F11 (movenext), il programma è come se si impallasse per qualche secondo se invece i metodi suddetti li assegno a dei commandbutton funziona tutto + velocemente PERCHE'??? e sopratutto come faccio a velocizzare? grazie
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Così su due piedi non saprei dirti, se mi passi il programma posso darci un occhiata da vicino.
L'unica cosa che mi viene in mente è che premi + volte la procedura che ti intercetta prenda in buffer i tasti premuti e li esegui poi impallando il programma, se è così dovresti porvare a mettere prima di fare muovere i record un DoEvents
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
ti posto un esempio.
i tasti sono F9, F10, F11 e F12 rispettivamente per movefirst, moveprevious, movenext e movelast. se premi i tasti uno alla volta e senza sbatterti funziona tutto bene, se invece premi i tasti velocemente si inizia a bloccare un po' tutto e non si capisce + una ceppa io avevo pensato ad un timer che permette l'esecuzione del codice associato ai tasti solo ad un certo intervallo l'una dall'altra, ma così facendo penso che creerei un macello indescrivibile... d'altronde esisterà un modo meno brutale per far funzionare bene la cosa? vedi un po' se riesci a porre rimedio per pietà
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
ho dimenticato l'allegato...
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prima di cominciare ... due cose, di la stai implementando ado a meno, di qua ado con il controllo adodc ... stai facendo un po' di confusione
Anzichè mettere i numeri, visual basic mette a disposizione già tutti i tasti premibili: vbKeyF10, vbKeyF11 e via deicendo
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Oggi non ho tempo di guardare il progetto bene bene, ma secondo me come ti avevo già consigliato, dovresti lavorare con il recordset a mano, un lavoro del genere agaric i metti 2 ore in +, ma hai meno problemi di sicuro
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
indagando un po' ho scoperto che se elimino la possibilità del moveprevious tutto funziona bene...
non riesco a capire però perché
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
caspio! il codice è praticamente lo stesso!
Codice:
Case 121 'F10
If Adodc1.Recordset.BOF = False Then
listaforn.Clear
Adodc1.Recordset.MovePrevious
Call visualizza
Else
Adodc1.Recordset.MoveFirst
End If
Text2(0).SetFocus
Case 122 'F11
If Adodc1.Recordset.EOF = False Then
listaforn.Clear
Adodc1.Recordset.MoveNext
Call visualizza
Else
Adodc1.Recordset.MoveFirst
End If
Text2(0).SetFocus
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Sostituisci i vari Case Numero, con il Case vbKeyF10 e via decendo, è un po' + corretto da vedere.
Cmq non sto ben capendo cosa stai cercando di fare, con il richiamo del focus e la funzione visualizza
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
ho provato con vbkey al posto del numero e imho non cambia niente se non la leggibilità...
visualizza è solo la funzione che mi visualizza (appunto il setfocus è uno scrupolo xché mi serve settare il focus su una determinata textbox. alla fine il discorso è che cambia solo l'istruzione da movenext a moveprevious, le altre operazioni sono esattamente le stesse
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
VB è pieno di costanti da utilizzare anzichè utilizzare numeri o stringhe, bisogna solo sapere quali sono
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
ho capito una cosa:
qualsiasi cosa io scriva associata all'evento keydown vbkeyF10, alla prima pressione del tasto esegue le istruzioni, poi è necessaria una seconda pressione dello stesso tasto (in corrispondenza della quale non vengono eseguite le istruzioni) oppure un click del mouse per "sbloccare" il form! insomma, è come se il solo tasto F10 non andasse bene, il codice è scritto bene (fin troppo bene per i miei standard non sò più dove sbattere la testa
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
mmmmm...
Prova a mettere un DoEvents dentro alla procedura
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
non ho mai usato il doevents, come si fa?
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Lo metti prima del select dentro la procedura
Il DoEvents è una funzione che fa un refresh generale.. esempio dentro un loop la tua form sarebbe incliccabile, invece con questa funzione, accetta altri eventi e non si pianta su uno. Mi sono spiegato male... ma ho sonno
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
mi sono documentato un po', ma il doevents non fa al caso mio (almeno credo
infatti io non mi trovo in una specie di loop, semplicemente il tasto f10 non esegue il codice così come glielo pongo. il codice non viene eseguito correttamente solo se è assegnato a f10. non è che f10 a livello di sistema operativo serve a qlcs che interferisce con vb?
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Per accorgetene hai debuggato il programma con il breakpoint ?
Il tasto F10 non serve a VB, e rimane il fatto che se il focus è piazzato sul form la precendeza va al form, per cui anche se tipo qlc combinazione di tatso serve a VB lui non intercetta il tasto
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Jun 2002
Città: NAPOLI!
Messaggi: 1310
|
appena hai tempo guardati il progetto che ho allegato vari post fa, così capisci bene che cosa intendo...
per me è inspiegabile, nessuna altra definizione
__________________
"catch a homo by his toe, man I don't know no more am I the only fuckin' one who's normal any more?" |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
ok, lo farò..
se ne hai uno aggiornato postalo. PS: io non ho mai trovato questo problema dato che non utilizzo il controllo per il database
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:20.



















