Novità

Mente da programmatore

allora innanzitutto per sapere quanti item sono selezionati devi usare la proprieta selecteditems.count
poi cosa ancora piu importante , il flusso è che l'utente prima seleziona le formazioni e poi premendo un pulsante lancia la statistica.
quindi questo controllo va fatto sul pulsante che dovrai mettere e da cui lanciare la statistica .. tu lo fai appen clicca sull'item ..
 
fatto ma va in errore

Senza titolo.png

Senza titolo1.png

Codice:
    Private Sub ButtonEseguiStatGruppo_Click(sender As Object, e As EventArgs) Handles ButtonEseguiStatGruppo.Click
        If LvLunghette.SelectedItems.Count > 0 Then
            StatisticaGruppo()
        End If
    End Sub
 
andava fatta uan cosa simile a questa ... non so se funziona perche l'ho fatta adesso senza provare

Codice:
 Sub StatisticaGruppo()
        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 struct_gruppo_formazioni = New struct_gruppo_formazioni

        If Me.LvLunghette.SelectedItems.Count Then

            Dim itmSel As ListViewItem = LvLunghette.SelectedItems(0)
            If GetParamFromItem(itmSel, aNumeri, aRuote, aPos, nSorte, Inizio, fine) Then
                frz.Inizializza(aRuote, nSorte, Inizio, fine, aPos)
                For Each itm As ListViewItem In LvLunghette.SelectedItems
                    GetArrayNumeriFromString(itm.Text, aNumeri)
                    frz.AddNumeri(aNumeri)


                Next

                If cArchivio.StatGruppoFormazione(frz) Then

                    ' non puoi mettee i numeri perche sono piu formazioni
                    Dim itm As ListViewItem = CtlLvOrdinabile1.Items.Add("gruppo1")
                    itm.SubItems.Add(RuoteBToString(frz.aRuote))
                    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(ArrayNumeriToString(frz.aPosizioni))
                    '     PerformAddUsciteSecond(frz )
                End If
            End If
        End If

    End Sub
 
Ok eccoli qui. Un'altra cosa. Sono diversi giorni che provo a risolvere un problme. Al caricamento del form sel numeri il tempo per mostrare il form varia dai 12/15 secondi. Inizialmente pensavo fosse un problema di prestazioni di pc ma non è cosi. Il problema risiede nel caricamento della griglia del controllo. Non so cosa lo rallenta.

 
per l'errore devi cambvare cosi quest funzione , poi funziona , pero devi alimentare le uscite oltre alla lista

Codice:
 Function RuoteBToString(aRuote() As Boolean) As String
        Dim K As Long
        Dim SB As New StringBuilder
        For K = 1 To aRuote.GetUpperBound(0)
            If aRuote(K) = True Then
                SB.Append(NomiRuote(K).NomeAbbreviato)
                SB.Append(".")
            End If
        Next
        SB.Remove(SB.Length - 1, 1)
        Return SB.ToString
    End Function
 
C'è solo un modo per avere la certezza. Prova ad avviare la release anziché il debug. Se lo mostra all'istante, allora qui il problema sono io.
 
provato sia remmando che come prima in release sempre un attimo ci vuole.
tu dici quando premi il pulsante per selezionare la lunghetta ?
 
sia quando apro le impostazioni del colore, sia quando premo sul pulsante in statistica formazioni per aprire il form sel numeri. Allora sarò io no problem :D
 
Fatto funziona tutto. Con un solo gruppo di formazioni alla volta

Codice:
    Sub StatisticaGruppo()
        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 struct_gruppo_formazioni = New struct_gruppo_formazioni

        If Me.LvLunghette.SelectedItems.Count Then

            Dim itmSel As ListViewItem = LvLunghette.SelectedItems(0)
            If GetParamFromItem(itmSel, aNumeri, aRuote, aPos, nSorte, Inizio, fine) Then
                frz.Inizializza(aRuote, nSorte, Inizio, fine, aPos)
                For Each itm As ListViewItem In LvLunghette.SelectedItems
                    GetArrayNumeriFromString(itm.Text, aNumeri)
                    frz.AddNumeri(aNumeri)
                Next

                If cArchivio.StatGruppoFormazione(frz) Then
                    Dim itm As ListViewItem = CtlLvOrdinabile1.Items.Add("Gruppo")
                    itm.SubItems.Add(RuoteBToString(frz.aRuote))
                    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(ArrayNumeriToString(frz.aPosizioni))
                    PerformAddUsciteSecond(frz)
                End If
            End If
        End If

    End Sub
    Private Sub PerformAddUsciteSecond(frz As struct_gruppo_formazioni)
        Dim itm As ListViewItem
        For k As Integer = 0 To UBound(frz.aUscite)
            itm = CtlLvOrdinabile2.Items.Add(frz.aUscite(k).IdEstr)
            itm.SubItems.Add(cArchivio.GetDataEstrazione(frz.aUscite(k).IdEstr))
            itm.SubItems.Add(NumeriUscitiToString(frz.aUscite(k)))
            itm.SubItems.Add(frz.aUscite(k).Ritardo)
            itm.SubItems.Add(frz.aUscite(k).RitardoMax)
            itm.SubItems.Add(frz.aUscite(k).Presenze)
            itm.SubItems.Add(frz.aUscite(k).Frequenza)
            itm.SubItems.Add(frz.aUscite(k).IncrRitMax)
        Next
    End Sub

    Private Sub ButtonEseguiStatGruppo_Click(sender As Object, e As EventArgs) Handles ButtonEseguiStatGruppo.Click
        If LvLunghette.SelectedItems.Count > 0 Then
            CtlLvOrdinabile1.Items.Clear()
            CtlLvOrdinabile2.Items.Clear()
            StatisticaGruppo()
        End If
    End Sub
 
perfetto allora iniziamo facilmente metti un pulsante sulla barra principale che deve invertire la selezione delel formazioni , parlo della lista princpale , potresti pure mettere un menu con seleziona tutto /pulisci /inverti selezione
 
questi nomi suonano bene ma non vogliono dire molto .. quando ti ritroverai con un sacco di sub e function te ne accorgerai :-)

PerformAddUsciteSecond
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 25 luglio 2026
    Bari
    86
    66
    30
    01
    25
    Cagliari
    14
    36
    79
    07
    51
    Firenze
    89
    41
    87
    30
    23
    Genova
    29
    11
    35
    57
    66
    Milano
    19
    28
    31
    27
    47
    Napoli
    03
    23
    61
    12
    65
    Palermo
    61
    90
    47
    56
    34
    Roma
    22
    26
    48
    50
    44
    Torino
    62
    75
    23
    15
    13
    Venezia
    80
    25
    84
    49
    61
    Nazionale
    23
    76
    80
    55
    46
    Estrazione Simbolotto
    Nazionale
    37
    44
    16
    05
    17
Indietro
Alto