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 21 marzo 2026
    Bari
    17
    81
    25
    89
    06
    Cagliari
    83
    36
    05
    76
    69
    Firenze
    06
    43
    60
    21
    44
    Genova
    84
    56
    21
    75
    33
    Milano
    79
    24
    89
    05
    02
    Napoli
    76
    65
    70
    31
    05
    Palermo
    29
    07
    67
    62
    18
    Roma
    66
    10
    89
    57
    28
    Torino
    18
    40
    85
    09
    04
    Venezia
    51
    22
    11
    66
    73
    Nazionale
    41
    66
    86
    52
    44
    Estrazione Simbolotto
    Firenze
    06
    38
    14
    12
    02

Ultimi Messaggi

Indietro
Alto