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
    martedì 03 febbraio 2026
    Bari
    26
    30
    24
    71
    38
    Cagliari
    07
    71
    77
    64
    16
    Firenze
    15
    23
    49
    50
    66
    Genova
    65
    85
    01
    03
    68
    Milano
    79
    21
    03
    43
    54
    Napoli
    65
    72
    89
    76
    43
    Palermo
    20
    50
    26
    72
    77
    Roma
    75
    76
    31
    77
    51
    Torino
    52
    47
    11
    14
    08
    Venezia
    84
    41
    88
    13
    47
    Nazionale
    19
    03
    34
    61
    48
    Estrazione Simbolotto
    Cagliari
    05
    12
    13
    20
    38
Indietro
Alto