Novità

Aiutino x listato

MauroV

Junior Member
Un saluto a tutti!:)
ho trovato qui sul forum il listato che segue...

Option Explicit
Sub Main()
'Rif. 0901_76 Rox Dudino Ambi più freq per un CG


Dim ambi(90,2),ambo(2),ru(1)
Dim r,cg,x,z,i,riga
r = InputBox("Quale ruota vuoi analizzare",,1) '<=== se vuoi tutte le ruote METTI apice
cg = InputBox("Quale CAPOGIOCO vuoi analizzare",,1)
x = InputBox("Quanti Ambi vuoi visualizzare ?",,90)
z = InputBox("Da quale estrazione vuoi partire ?",,4)


Scrivi Space(2) & " RIEPILOGO " & x & " AMBI CON MAGGIOR FREQUENZE",1
Scrivi Space(2) & " CAPOGIOCO ==> " & cg & Chr(10),1




ambo(1) = cg
'For r= 1 To 10 '<=== se vuoi tutte le ruote TOGLI apice
Messaggio SiglaRuota(r)
ru(1) = r
For i = 1 To 90
If i <> cg Then
ambo(2) = i
ambi(i,1) = i
ambi(i,2) = SerieFreq(z,EstrazioneFin,ambo,ru,2)
End If
Next


'OrdinaMatrice ambi,-1,2


riga = Space(3) & SiglaRuota(r) & " " & Format2(cg) & " + "
For i = 1 To x
riga = riga & FormatSpace(ambi(i,1),2,1) & "[" & FormatSpace(ambi(i,2),2,1) & "] "
Next
Scrivi riga
'Next '<=== se vuoi tutte le ruote TOGLI apice
End Sub

qualcuno può dirmi come fare per modificarlo in modo tale che, invece di considerare l'istruzione che segue

z = InputBox("Da quale estrazione vuoi partire ?",,4)

inserendo quindi l'estrazione dalla quale far partire la ricerca delle frequenze,
io volessi conteggiare le frequenze degli ambi considerando solo le ultime 50 sortite del numero capogioco, procedendo praticamente a ritroso nella lettura dell'archivio?

Grazie e saluti,
mauro.
 
Ciao Mauro, purtroppo è davvero un brutto listato proprio non riesco a correggerlo.
Tuttavia avevo creato questo mio listato in tabella che simula e da ancora + informazioni su quello che vuoi vedere.

Prova se fa al caso tuo.

Codice:
Sub Main
    Dim n1,n2,anum(2),spia(1)
    Dim ruote(1)
    
    r = InputBox("Quale Ruota",,1)
    qn = CInt(InputBox("Quale Capogioco",,58))
    qe = InputBox("QUante estrazioni vuoi analizzare",,1000)
    
    ruote(1) = r
    ReDim atitoli(10)
    atitoli(1) = " Data "
    atitoli(2) = " Ruota "
    atitoli(3) = " Numero "
    atitoli(4) = " Ritardo "
    atitoli(5) = " Rit Max "
    atitoli(6) = " incr Max "
    atitoli(7) = " frequenza "
    atitoli(8) = "  Esito ultimo "
    atitoli(9) = " Tipo esito "
    atitoli(10) = " Data esito "
    Call InitTabella(atitoli,1,,3,5)
    spia(1) = qn
    
    Ini = EstrazioneFin-qe
    fin = EstrazioneFin
    df = fin - Ini
    sp =  SerieFreq(Ini,fin,spia,ruote,1)
    
    
    Scrivi"Dalla data..." & DataEstrazione(Ini) & " alla data..." & DataEstrazione(fin) & " --> Totali estraz. " & df,1,- 1,3
    Scrivi "presenze del numero Capogioco.... " & sp,1
    Messaggio "elaboro... ruota di  " & NomeRuota(r)
    Call AvanzamentoElab(1,10,100)

    
        n1 = qn
        For n2 = 1 To 90
        
        If n1 <> n2 Then
        anum(1) = n1
        anum(2) = n2
        Call StatisticaFormazione(anum,ruote,2,rit,ritmax,Incrmax,freq,Ini,fin)
        Call VerificaEsito(anum,ruote,fin - rit,2,,,retesito,,retestratti,retidestr)
        
            ReDim avalori(10)
            avalori(1) = DataEstrazione(fin)
            avalori(2) = NomeRuota(r)
            avalori(3) = n1 & "." & n2

            avalori(4) = rit
            avalori(5) = ritmax
            avalori(6) = Incrmax
            avalori(7) = freq
            avalori(8) = retestratti
            avalori(9) = retesito
            avalori(10) = DataEstrazione(retidestr)
            Call AddRigaTabella(avalori,,,3)
            Call SetColoreCella(4,vbMagenta)
            Call SetColoreCella(3,,1)
            Call SetColoreCella(8,,7)
            Call SetColoreCella(7,vbGreen)
            If rit = 0 Then Call SetColoreCella(10,vbYellow)

        
        End If
    Next
    
    Call CreaTabella(7,,,100) ' riga x ordinamento colonna
    Call Scrivi("  *******   Tabella by Mike58   *******    ",True,True,2,4,4)
    
End Sub
 
Ultima modifica:
Ciao Mike58 guardando lo script che ha postato MauroV mi sono detto basta inserire un ciclo for/next step-1 e cosi' che il programma parte dalla data di x sortite del capolista per trovare le frequenze.

Certo che il tuo programma e' nettamente migliore ma io sto facendo esperienza e ho provato a modificare quello di MauroV
ma nel farlo ho trovato un inghippo che
non riesco a capire e cioe praticamente alla riga
z = InputBox("Ultime sortite del capogioco ",,10)
z assume valore 10 o quello che decidiamo nell'ImputBox
ma la variabile z
quando trova la condizione richiesta
If c1 = z Then Exit For
non lavora per me inspiegabilmente ho messo un 'altra variabile ss "tanto per provare " e funziona.
Se vuoi dargli un'occhiata per spiegami grazie.
Ciao

Codice:
Option Explicit
Sub Main()
'Rif. 0901_76 Rox Dudino Ambi più freq per un CG


Dim ambi(90,2),ambo(2),ru(1)
Dim r,cg,x,z,i,riga,est,c1,ss

ss = 10'''''''''<<<<<<<<<<<<<<<<<<<<<<<< ISERIRE NUMERO ULTIME SORTITE

r = InputBox("Quale ruota vuoi analizzare",,1) '<=== se vuoi tutte le ruote METTI apice
cg = InputBox("Quale CAPOGIOCO vuoi analizzare",,1)
x = InputBox("Quanti Ambi vuoi visualizzare ?",,90)
'z = InputBox("Ultime sortite del capogioco ",,10)


For est = EstrazioneFin To EstrazioneIni Step - 1

If Posizione(est,r,cg) > 0 Then
c1 = c1 + 1
If c1 = ss Then Exit For
End If
Next


c1 = 0
Scrivi Space(52) & " RIEPILOGO " & x & " AMBI CON MAGGIOR FREQUENZE NELLE UTIME " & " SS SORTITE ",1
Scrivi Space(52) & " CAPOGIOCO ==> " & cg & Chr(10),1



ambo(1) = cg
'For r= 1 To 10 '<=== se vuoi tutte le ruote TOGLI apice
Messaggio SiglaRuota(r)
ru(1) = r
For i = 1 To 90
If i <> cg Then
ambo(2) = i
ambi(i,1) = i
ambi(i,2) = SerieFreq(est,EstrazioneFin,ambo,ru,2)
End If
Next


OrdinaMatrice ambi,- 1,2


riga = Space(3) & SiglaRuota(r) & " Capogioco  " & Format2(cg) & " ultime " & ss & " sortite "
Scrivi riga
For i = 1 To x
Scrivi FormatSpace(ambi(i,1),2,1) & "[" & FormatSpace(ambi(i,2),2,1) & "] "
Next

'Next '<=== se vuoi tutte le ruote TOGLI apice
End Sub
 
Ultima modifica:
Ciao a tutti,

mi permetto di intervenire perchè vedo alcune cose che non sono state affrontate ed interpretate per il verso giusto.

Lo Script di Rosanna (Rox) era, o è stato, incentrato ... sulla frequenza di un numero-determinato di Ambi a Capogioco ... e non in un periodo Enne estrazioni.

Quindi funziona "as is" ma come ha giustamente evidenziato, Xabio "uno"-stringa è diverso da "uno"-numero.

L' inputbox restituisce "stringhe" mentre il contatore delle presenze del capogioco è necessariamente un numero.

(Non credo sia un errore di Rosanna che non lo avrebbe mai commesso)

Il risultato del confronto (if) per dare come risultato "True" deve avvenire "ad armi pari". Tra due caratteri numerici.

Si risolve con: If c1 = CInt (z) Then Exit For

Oppure ... convertendo in intero (Cint) direttamente nell inputbox (è meglio ... ed è più veloce perchè viene eseguito una sola volta).

Poi, per provare ... si sa che, ad ogni estrazione del capogioco, esso si abbina con i 4 estratti rimanenti, formando 4 Ambi a Capogioco.

Sommando i numeri tra le parentesi quadre [presenze] , si deve avere un multiplo del numero dei casi (4 volte il numero dei casi).

Ad esempio per 10 Cadute del Capogioco ... il totale dei numeri tra parentesi deve essere 40.

E, se ciò avviene (sempre) in questa proporzione lo script funziona.

:) Buona Giornata a tutti. (Un caro saluto a Rosanna con gli auguri di una Buona Pasqua)

Codice:
Option Explicit
Sub Main()
 'Rif. 0901_76 Rox Dudino Ambi più freq per un CG, Rev By Joe
 Dim ambi(90,2),ambo(2),ru(1)
 Dim r,cg,x,z,i,riga,est,c
 r = InputBox("Quale ruota vuoi analizzare",,1) '<=== se vuoi tutte le ruote METTI apice
 cg = InputBox("Quale CAPOGIOCO vuoi analizzare",,1)
 x = InputBox("Quanti Ambi vuoi visualizzare ?",,20)
 z = InputBox("Ultime sortite del capogioco ",,5)
 For est = EstrazioneFin To EstrazioneIni Step - 1
  If Posizione(est,r,cg) > 0 Then
   c = c + 1
   If c = CInt(z) Then Exit For
  End If
 Next
 Scrivi  "RIEPILOGO " & x & " AMBI Ordinati  per [PRESENZE]",1
 Scrivi 
 ambo(1) = cg
 'For r= 1 To 10 '<=== se vuoi tutte le ruote TOGLI apice
 Messaggio SiglaRuota(r)
 ru(1) = r
 For i = 1 To 90
  If i <> cg Then
   ambo(2) = i
   ambi(i,1) = i
   ambi(i,2) = SerieFreq(est,EstrazioneFin,ambo,ru,2)
  End If
 Next
 OrdinaMatrice ambi,- 1,2
 riga =  NomeRuota(r) & " Capogioco " & Format2(cg) & ". Ultime " & z & " sortite "
 Scrivi riga,1 : Scrivi 
 For i = 1 To x
  Scrivi FormatSpace(ambi(i,1),2,1) & "[" & FormatSpace(ambi(i,2),2,1) & "] "
 Next
 'Next '<=== se vuoi tutte le ruote TOGLI apice
End Sub
 
Ultima modifica:
Grazie a tutti per l'aiuto.
Il listato di Mike è impostato meglio, ma non risolve il "problema"...conoscere le frequenze considerando solo le ultime x presenze del capogioco.
Problema invece risolto con i listati di xabio e, ancor meglio con quello di Joe91.
Grazie ancora,
mauro
 
Grazie Joe sono stato un pollo dovevo immaginare che poteva essere un carattere piuttosto che un numero mi era gia capitato con qualche esempio dei primi.
Grazie per l'aggiustamento alla prossima .
Ciao.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 04 luglio 2025
    Bari
    08
    45
    67
    28
    03
    Cagliari
    70
    57
    26
    88
    80
    Firenze
    83
    77
    22
    86
    67
    Genova
    04
    20
    78
    36
    47
    Milano
    12
    53
    34
    18
    57
    Napoli
    07
    19
    35
    75
    10
    Palermo
    06
    65
    11
    07
    23
    Roma
    01
    53
    48
    80
    46
    Torino
    30
    44
    71
    05
    21
    Venezia
    45
    67
    14
    44
    40
    Nazionale
    22
    27
    05
    18
    67
    Estrazione Simbolotto
    Nazionale
    12
    31
    32
    04
    44
Indietro
Alto