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
    sabato 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39

Ultimi Messaggi

Indietro
Alto