View Full Version : [VB.NET] Creare un ciclo
OrcaAssassina
24-12-2007, 18:34
Devo stampare un foglio dove ci sono molti controlli tutti rinominati in ordine crescente
ad esempio: txtNome01 - txtNome02 - txtNome03 - txtNome04
E cosi via dicendo. in pratica devo riempire un foglio prestampato con dei dati
io volevo creare una ciclo che da solo mi modificava il nome della txt in questione
ad esempio
dim i as integer
i= "1"
(txtnome & i).text = "........valore"
poi incremetare di uno
i = i + 1
mi dite la sinstassi corretta di questa riga:
(txtnome & i).text = "........valore"
devo creare una parte fissa (txtnome) e la parte variabile.
come posso fare??????
Ciao e grazieeeeeee
P.S.: Auguri di Buon Natale!!!!
OrcaAssassina
25-12-2007, 01:51
Ti faccio un esempio
dichiaro il mio report
dim report as new stampafoglio
report.txtNome1.text = "Valore"
report.txtNome2.text = "Valore"
report.txtNome3.text = "Valore"
report.txtNome4.text = "Valore"
report.txtNome5.text = "Valore"
report.txtNome6.text = "Valore"
.
.
.
report.txtNome60.text = "Valore"
non volevo farlo a mano
quindi cercavo un qualcosa per sostituire il numero txtnome con un contatore che incrementavo
solo che se scrivo
report.txtNome & "i".text = "Valore"
cosi scritta la sintassi è sbagliata
qualcuno sa dirmi come creare questa stringa????
ciao e grazieeeeeeeee
^TiGeRShArK^
25-12-2007, 04:57
..ma mettere tutto in un array o in una lista e scorrerti ogni elemento e assegnargli valore? :fagiano:
OrcaAssassina
25-12-2007, 09:05
..ma mettere tutto in un array o in una lista e scorrerti ogni elemento e assegnargli valore? :fagiano:
Si sarebbe bello, per chi lo sa fare!!!!!!!!
ahahahah
Fammi un regalino di natale.....scrivimi un esempio
Ciao e grazieeeeeeee
^TiGeRShArK^
25-12-2007, 15:40
...è da una o due vite che non tocco il VB (x fortuna :asd: )
..cmq dovrebbe essere qualcosa del genere:
Dim textBoxes As Array()
Dim textBox As TextBox
Dim i As Integer
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To textBoxes.length
textBox = New TextBox()
textBox.text = "Valore"
textBoxes(i) = textBox
Questo ovviamente in fase di creazione del report.
In fase di lettura ti fai restituire dal report l'array di textBoxes e fai tutto quello che ti pare iterando elemento per elemento.
...certo che però fare un programma in VB senza avere idea di array e cicli.... :stordita:
OrcaAssassina
25-12-2007, 16:50
...è da una o due vite che non tocco il VB (x fortuna :asd: )
..cmq dovrebbe essere qualcosa del genere:
Dim textBoxes As Array()
Dim textBox As TextBox
Dim i As Integer
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To textBoxes.length
textBox = New TextBox()
textBox.text = "Valore"
textBoxes(i) = textBox
Questo ovviamente in fase di creazione del report.
In fase di lettura ti fai restituire dal report l'array di textBoxes e fai tutto quello che ti pare iterando elemento per elemento.
...certo che però fare un programma in VB senza avere idea di array e cicli.... :stordita:
Mi da errore
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To EserciziTotale
textBox = New TextBox()
textBox.Text = "Valore"
textBoxes(i) = textBox
Next
Impossibile convertire il valore di tipo "System.Windows.Form.TextBox" in "System.Array"
^TiGeRShArK^
25-12-2007, 17:04
Mi da errore
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To EserciziTotale
textBox = New TextBox()
textBox.Text = "Valore"
textBoxes(i) = textBox
Next
Impossibile convertire il valore di tipo "System.Windows.Form.TextBox" in "System.Array"
perchè ovviamente ho sbagliato nel Dim :p
Dim textBoxes As TextBox()
Dim textBox As TextBox
Dim i As Integer
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To textBoxes.length
textBox = New TextBox()
textBox.text = "Valore"
textBoxes(i) = textBox
OrcaAssassina
26-12-2007, 01:37
Domani mattina provo poi ti faccio sapere
OrcaAssassina
26-12-2007, 09:01
textBoxes = New TextBox(60) REM sempre se il tipo di txtNomex è textBox.
For i = 1 To textBoxes.length
textBox = New TextBox()
textBox.text = "Valore"
textBoxes(i) = textBox
La classe "System.Windows.Form.TextBox" non può essere indicizzata perchè non contiene proprietà predefinite.
Basta me so stufato.......rinuncio!!!!!!!!!
Ciao e grazieeeeeeeeeeeee
Anche perchè ragionando sul codice, non mi sembra adatta a quello che mi serve.....perchè una volta creato l'array che ci faccio, lo devo asseggnare ai controlli, sono proprio quelli dove ho il problema. cioè tutti controli diversi che differenziano solo per il numero finale.
Io il mio array ce l'ho già....è un dataset da passargli.
Ciao e grazie lo stesso
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.