
Originariamente inviata da
oregon
Intanto non è una buona idea chiamare array la variabile per il numero di elementi. Al suo posto utilizza elems
Quindi nella classe scrivi
codice:
Dim elems As Integer
Dim numeri() As Integer
e in BtnAggiungi
codice:
ReDim numeri(elems)
P.S. Comunque avevi avuto una soluzione valida anche in
http://www.visual-basic.it/Forum/tab...x#.U4yoE3J_umQ
Scrivere in tanti forum non è un buon metodo e non è visto di buon occhio ...
Capisco benissimo, e chiedo scusa per questo, ma probabilmente domani sarò interrogato e non posso perdermi in queste cose, per questo ho fatto un doppio post, cercando forse di spiegare meglio qui.
Ho provato, il debug parte, che è una buona cosa, viene considerato giusto, ma solo nella prima sub:
Questa va ok:
codice:
Private Sub ButtonAggiungi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAggiungi.Click
ReDim numeri(elems)
If (cont < numeri.Length) Then
numeri(cont) = TextBoxNumero.Text
LabelElenco.Text = LabelElenco.Text + vbCrLf + Str(numeri(cont))
cont = cont + 1
Else
MsgBox("Numeri esauriti!")
End If
TextBoxNumero.ResetText()
End Sub
Mentre questa no e mi restituisce sempre 0:
codice:
Private Sub ButtonOrdina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOrdina.Click
LabelOrdinato.Text = "Elenco ordinato:"
ReDim numeri(elems)
For i = 0 To numeri.Length - 1
For j = 0 To numeri.Length - 2
ordina(numeri(j), numeri(j + 1))
Next
Next
For i = 0 To numeri.Length - 1
LabelOrdinato.Text = LabelOrdinato.Text + vbCrLf + Str(numeri(i))
Next
End Sub
Cosa sbaglio? Mi sembra di essere al punto di partenza...