Novità

Mente da programmatore

Codice:
    Function GetQCombIntegrali()
        GetQCombIntegrali = iColonneIntegrale
    End Function


Codice:
   AvanzamentoElab(0, cSvil.GetQCombIntegrali, cSvil.GetCombSviluppate)

Codice:
    Private Sub AvanzamentoElab(VMin As Integer, VMax As Integer, Valore As Integer)
        ProgressBar1.Visible = True
        ProgressBar1.Minimum = VMin
        ProgressBar1.Maximum = VMax
        ProgressBar1.Step = Valore
        ProgressBar1.PerformStep()
    End Sub
 
noterai che nella classe archivio c'è una funzione di statistica

StatGruppoFormazione(ByRef frz As struct_gruppo_formazioni) As Boolean

questa funzione usa un altro tipo di struttura che consente di analizzare piu formazioni insieme come se fossero una sola.

tu dovrai creare una sub che prende le formazioni selezionate nella lista principale e tramite questa funzione ne calcoli i valori statistici e li mostri nella prima delle liste. nella seconda lista mostrerai le uscite.


questa sub che dovrai fare visto che mi è venuta in mente poco fa io non l'h oscritta quindi è tutta tua.

devi assumere ovvimente i dati dai record selezionati nella prima lista , aalimentare la struttura struct_formazioni tramite la sub AddNumeri
e devi anche inizializzare l struttura come con quell'altra.

dopo di che la puoi passare alla funzione di statistica che poi mostrerà i risultati nella prima lista dell'ultima scheda aggiunta
 
questa non l'ho capita dove sta la progressbar ? l'hai inserita nella classe sviluppo questa sub ?
1637675723241.png
 
naturalmente selezionando piu formazioni dalla prima lista potrebeb pure capitare che abbiano date e ruote e posizioni diverse quindi c'è da decidere se usare per default i valori della prima selezionata o se invece usare i valori generali impostati in quel momento
 
questa funzione della statistica di gruppo la facciamo piu semplice potra operare solo su un gruppo di formazioni scelte alla volta , se uno sceglie un altro gruppo si svuota e mostra l'altro gruppo , quindi la lista delle uscite la puoi alimentare contestualmenta a quella dei valori statistici.
 
ok , devi procedere sulla falsa riga diella'ltra statistica , devi inizializzare la formazione , aggiungerci i numeri delel formazioni selezionate lanciare la statistica mostrare i risultati sia statistici che delle uscite tutto con un unica sub
 
Fatto ma mi sa tanto che sbaglio qualcosa:

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_formazione
        Dim nClasse As Integer = ConvertToInt(CmbClasseScomponi.Text)
        If Me.LvLunghette.SelectedItems.Count Then
            ReDim frz(Me.LvLunghette.SelectedItems.Count - 1)
            Dim itmSel As ListViewItem = LvLunghette.SelectedItems(0)
            If GetParamFromItem(itmSel, aNumeri, aRuote, aPos, nSorte, Inizio, fine) Then
                For k As Integer = 0 To UBound(frz)
                    If frz(k).Inizializza(aNumeri, aRuote, nSorte, Inizio, fine, aPos) Then
                        cArchivio.StatGruppoFormazione(frz)
                        Dim itm As ListViewItem = CtlLvOrdinabile1.Items.Add(ArrayNumeriToString(aNumeri))
                        itm.SubItems.Add(RuoteBToString(aRuote))
                        itm.SubItems.Add(frz(k).Sorte)
                        itm.SubItems.Add(frz(k).Ritardo)
                        itm.SubItems.Add(frz(k).RitardoMax)
                        itm.SubItems.Add(frz(k).IncrRitMax)
                        itm.SubItems.Add(frz(k).Frequenza)
                        itm.SubItems.Add(frz(k).Presenze)
                        itm.SubItems.Add(frz(k).Inizio)
                        itm.SubItems.Add(frz(k).Fine)
                        itm.SubItems.Add(ArrayNumeriToString(frz(k).aPosizioni))
                        PerformAddUsciteSecond(frz(k))

                    End If
                Next
            End If
        End If

    End Sub


risultato

Senza titolo.png
 
Nessun problema anzi 😃. Quando vorrai e potrai si continuerà. Vorrà dire che ne approfitto per ripassare, faccio un backup che metto da parte, e magari provo a fare anche una cosa su una copia del programma 😁
 
nel frattempo posta i sorgenti con le modifiche perche se selezioni una sola formazione dovrebbe darti risultati uguali...
 
Perfetto problema risolto. In realtà era a causa di un bug praticamente irrintracciabile se non fosse stato per il risultato delle listview

Senza titolo.png


 
oh , bravo . hai provato a fare la statistica di piu formazioni ? la listview consente di selezionarne piu di 1 ?
 
Qui c'è un problema. Allora nella sub che al caricamento del form inserisce le colonne della listview ho inserito ".Multiselect = true"

Codice:
      LvLunghette.View = View.Details
        LvLunghette.Columns.Add("Numeri")
        LvLunghette.Columns(0).Width = 300
        LvLunghette.Columns.Add("Ruote")
        LvLunghette.Columns(1).Width = 150
        LvLunghette.Columns.Add("Sorte")
        LvLunghette.Columns(2).Width = 50
        LvLunghette.Columns.Add("Ritardo")
        LvLunghette.Columns(3).Width = 80
        LvLunghette.Columns.Add("RitardoMax")
        LvLunghette.Columns(4).Width = 80
        LvLunghette.Columns.Add("IncrementoRitardoMax")
        LvLunghette.Columns(5).Width = 150
        LvLunghette.Columns.Add("Frequenza")
        LvLunghette.Columns(6).Width = 80
        LvLunghette.Columns.Add("Presenze")
        LvLunghette.Columns(7).Width = 80
        LvLunghette.Columns.Add("Inizio")
        LvLunghette.Columns(8).Width = 80
        LvLunghette.Columns.Add("Fine")
        LvLunghette.Columns(9).Width = 80
        LvLunghette.Columns.Add("Posizioni")
        LvLunghette.Columns(10).Width = 100
        LvLunghette.MultiSelect = True


All'interno della sub che gestisce il cambiamento di selezione ho inserito una condizione. Se le formazioni sono maggiori di zero(considerando che parte dall'indice 0) all'ora fai la statistica di gruppo

Codice:
    Private Sub CtlLvOrdinabile1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LvLunghette.SelectedIndexChanged
        PulisciTutto()
        ReadParameter()
        If LvLunghette.Items.Count > 0 Then
            StatisticaGruppo()
        End If
        DisegnaCerchioCiclometrico()
    End Sub

però quando parto con il maouse e seleziono il primo elemento bene ...arrivati al secondo va in errore
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 28 febbraio 2026
    Bari
    63
    83
    51
    27
    84
    Cagliari
    70
    37
    29
    42
    28
    Firenze
    73
    68
    88
    85
    75
    Genova
    24
    59
    63
    57
    37
    Milano
    43
    26
    23
    55
    89
    Napoli
    11
    70
    34
    74
    05
    Palermo
    80
    11
    55
    50
    68
    Roma
    44
    50
    86
    75
    01
    Torino
    78
    32
    90
    16
    09
    Venezia
    04
    66
    13
    46
    25
    Nazionale
    52
    24
    34
    12
    60
    Estrazione Simbolotto
    Cagliari
    44
    42
    04
    41
    20
Indietro
Alto