PDA

View Full Version : Ciclo TextBox Visual Basic .NET 2003


andyepx
30-10-2006, 19:04
Buonasera a tutti! :help:
Mi scuso fin d'ora se questo messaggio è già (per caso) presente in archivio
ma nn avendo tempo di cercare non l'ho notato.
Ho un problema con un ciclo che mi permette (o meglio dovrebbe permettermi)
di stampare il valore di alcune text box il cui nome è composto da una lettere e un numero da 1 a 16.

Ecco il codice:

Dim val As Integer = 1
While (a > 0)
s.WriteLine(Me.q(val).Text)
s.WriteLine(Me.d(val).Text)
s.WriteLine(Me.p(val).Text)
s.WriteLine(Me.iva(val).Text)
s.WriteLine(Me.tniva(val).Text)
s.WriteLine(Me.tiva(val).Text)
a = a - 1
val = val + 1
End While

La variabile 'a' viene definita prima con un controllo sui campi di testo, e viene incrementata in base al numero di campi compilati....

:stordita:

I valori stampati durante ogni ripetizione del ciclo sono sempre gli stessi come se 'val' non cambiasse praticamente è come se valesse sempre 1, e quindi si ottiene questo risultato:

Dim val As Integer = 1
While (a > 0)
s.WriteLine(Me.q1.Text)
s.WriteLine(Me.d1.Text)
s.WriteLine(Me.p1.Text)
s.WriteLine(Me.iva1.Text)
s.WriteLine(Me.tniva1.Text)
s.WriteLine(Me.tiva1.Text)
a = a - 1
val = val + 1
End While

Io invece ho bisogno che venga ogni volta letto un textbox differente e quind che 'val' venga incrementato di uno ad ogni ciclo....
Come posso risolvere questo problema???
:doh: :doh:

Vi ringrazio!!!

Andrea

The DeViL's
31-10-2006, 14:08
allora se il codice che hai postato sta in un bottone devi mettere fuori la dichiarazione di val: Dim val As Integer = 1 (mettila come variabile globale)

e devi lasciare bel bottone solo qst:

While (a > 0)
s.WriteLine(Me.q1.Text)
s.WriteLine(Me.d1.Text)
s.WriteLine(Me.p1.Text)
s.WriteLine(Me.iva1.Text)
s.WriteLine(Me.tniva1.Text)
s.WriteLine(Me.tiva1.Text)
a = a + 1
val = val + 1
End While

cosi val aumenta di 1 all'infinito e a lo stesso...fornisci + info sennò non riesco ad aiutarti per bene