L
LuigiB
Guest
ok , io nelle mie prove ho fatto cosi , usalo come guida per adattarl al tuo
Codice:
Sub AlimentaLvScomposizione()
Dim aNumeri() As Integer = Nothing
Dim aRuote() As Boolean = Nothing
Dim aPos() As Boolean = Nothing
Dim nSorte As Integer
Dim Inizio As Integer
Dim fine As Integer
Dim frz As New struct_formazione
Dim nClasse As Integer = ConvertToInt(CmbClasseScomponi.Text)
Dim sRuote As String
Dim sPosizioni As String
Try
lvScomposizione.Items.Clear()
If Me.CtlLvOrdinabile1.SelectedItems.Count Then
Dim itmSel As ListViewItem = CtlLvOrdinabile1.SelectedItems(0)
If GetParamFromItem(itmSel, aNumeri, aRuote, aPos, nSorte, Inizio, fine) Then
sRuote = RuoteBToString(aRuote)
sPosizioni = ArrayNumeriToString(aPos)
If nClasse < aNumeri.GetUpperBound(0) AndAlso nClasse >= nSorte AndAlso nClasse > 0 Then
Dim cSvil = New ClsSviluppo
Dim aCol() As Integer
If MessageBox.Show("Le colonne risultanti sono " & Combinazioni(aNumeri.GetUpperBound(0), nClasse) & " continuo ? ", "Errore", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
If cSvil.InitSviluppoIntegrale(aNumeri, nClasse) Then
ReDim aCol(nClasse)
lvScomposizione.Visible = False
Do While cSvil.GetCombFromSviluppo(aCol)
If frz.Inizializza(aCol, aRuote, nSorte, Inizio, fine, aPos) Then
If cArchivio.StatFormazione(frz) Then
Dim itm As ListViewItem = lvScomposizione.Items.Add(ArrayNumeriToString(aCol))
itm.SubItems.Add(sRuote)
itm.SubItems.Add(frz.Sorte)
itm.SubItems.Add(frz.Ritardo)
itm.SubItems.Add(frz.RitardoMax)
itm.SubItems.Add(frz.IncrRitMax)
itm.SubItems.Add(frz.Frequenza)
itm.SubItems.Add(frz.Presenze)
itm.SubItems.Add(frz.Inizio)
itm.SubItems.Add(frz.Fine)
itm.SubItems.Add(sPosizioni)
itm.Selected = True
itm.EnsureVisible()
End If
End If
Loop
lvScomposizione.Visible = True
End If
End If
cSvil = Nothing
Else
If nClasse > aNumeri.GetUpperBound(0) Then
MessageBox.Show("Classe di scomposizione non coerente con la quantita di numeri base", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
If nClasse < nSorte Then
MessageBox.Show("Classe di scomposizione non coerente con la sorte cercata", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
If nClasse = 0 Then
MessageBox.Show("Classe di scomposizione non valida", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
End If
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub