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 11 ottobre 2025
    Bari
    04
    25
    41
    83
    90
    Cagliari
    16
    81
    09
    87
    82
    Firenze
    67
    13
    08
    49
    39
    Genova
    29
    61
    54
    15
    22
    Milano
    06
    11
    08
    48
    53
    Napoli
    60
    13
    46
    67
    63
    Palermo
    78
    72
    54
    02
    58
    Roma
    35
    47
    89
    25
    77
    Torino
    39
    27
    35
    30
    85
    Venezia
    36
    32
    47
    63
    73
    Nazionale
    17
    33
    10
    51
    28
    Estrazione Simbolotto
    10
    11
    43
    13
    04

Ultimi Messaggi

Indietro
Alto