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 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto