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 26 luglio 2025
    Bari
    81
    09
    05
    54
    10
    Cagliari
    56
    07
    45
    69
    64
    Firenze
    39
    16
    56
    29
    09
    Genova
    67
    12
    55
    74
    04
    Milano
    40
    30
    44
    63
    27
    Napoli
    63
    07
    74
    86
    81
    Palermo
    80
    34
    16
    27
    53
    Roma
    08
    78
    43
    03
    52
    Torino
    38
    84
    47
    57
    20
    Venezia
    88
    70
    85
    65
    24
    Nazionale
    36
    09
    43
    55
    10
    Estrazione Simbolotto
    Nazionale
    25
    23
    13
    40
    35
Indietro
Alto