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
    martedì 22 luglio 2025
    Bari
    29
    03
    79
    27
    86
    Cagliari
    22
    54
    55
    50
    29
    Firenze
    52
    38
    30
    29
    83
    Genova
    08
    62
    20
    69
    26
    Milano
    17
    45
    55
    67
    73
    Napoli
    64
    39
    35
    62
    02
    Palermo
    84
    33
    60
    43
    28
    Roma
    33
    79
    27
    41
    81
    Torino
    35
    58
    38
    70
    56
    Venezia
    64
    11
    07
    57
    27
    Nazionale
    53
    15
    38
    52
    66
    Estrazione Simbolotto
    Nazionale
    18
    24
    03
    21
    15
Indietro
Alto