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

Ultimi Messaggi

Indietro
Alto