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 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