|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 648
|
[VB6] Contatore per ogni click
Sera a tutti,
stavo provando a creare un contatore che si incrementi ad ogni click di un tasto. Il codice che ho scritto è questo: Codice:
Private Sub cmdClick_Click()
Dim a As Double
a = a + 1
lblContatore.Caption = a
End Sub
Come posso ovviare? Grazie ciao |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Se tutte le volte che fai Click gli fai creare la variabile il povero VB non ha colpe. Quando inizializzi a è 0. Perciò a=a+1 darà 1 all'infinito. C'è chi ama usare Static in questi casi. Io no. Fatti un modulo di codice e dichiara una bella : Public a As Double E al Click del pulsante lasci : a = a + 1 lblContatore.Caption = a |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Non mi intendo di VB6, ma si capisce che la variabile 'a' essendo locale alla funzione cmClick_Click() verrà inizializzata ogni volta che la suddetta funzione viene chiamata.
Non ti basta inizializzare il valore di 'a' al corrispondente valore castato a Double contenuto in 'lblContatore.Caption'? @EDIT: sorry, postato in quasi contemporanea col mitico MarcoGG, ignora il mio post
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 30-09-2008 alle 10:06. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
In effetti c'è sempre la scappatoia di prendere il valore precedente dalla label , castarlo, incrementarlo e reimmetterlo. Una pratica non certo incoraggiata da chi insegna programmazione, ma pur sempre fattibile. In questo caso la routine del Click sarebbe : Codice:
Dim a As Double a = CDbl(lblContatore.Caption) + 1 lblContatore.Caption = a |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Concordo molto meglio staticizzare il counter o avere una variabile "esterna".
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2007
Messaggi: 648
|
Quote:
Il fatto è che ho iniziato da poco col VB. Quindi qualsiasi variabile che dichiaro in un modulo, è poi possibile utilizzarla in qualsiasi altro form mantenendone il suo valore? A cosa serve CDbl di preciso? |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quello appunto dovrebbe essere il cast a Double.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:00.




















