|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
[VB.NET] Creare un ciclo
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!!!!
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Spiegazione
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
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
..ma mettere tutto in un array o in una lista e scorrerti ogni elemento e assegnargli valore?
![]()
__________________
![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Si
Quote:
ahahahah Fammi un regalino di natale.....scrivimi un esempio Ciao e grazieeeeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
...è da una o due vite che non tocco il VB (x fortuna
![]() ..cmq dovrebbe essere qualcosa del genere: Codice:
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 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.... ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Errore
Quote:
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"
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
![]() Codice:
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
__________________
![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Ok
Domani mattina provo poi ti faccio sapere
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
Niente
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
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:02.