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
    giovedì 03 luglio 2025
    Bari
    33
    40
    47
    65
    61
    Cagliari
    78
    19
    74
    44
    05
    Firenze
    46
    50
    38
    79
    19
    Genova
    72
    48
    47
    66
    34
    Milano
    11
    19
    37
    61
    16
    Napoli
    66
    85
    20
    29
    74
    Palermo
    46
    10
    66
    76
    35
    Roma
    34
    66
    75
    79
    74
    Torino
    27
    33
    40
    59
    10
    Venezia
    50
    26
    68
    07
    30
    Nazionale
    04
    17
    74
    46
    41
    Estrazione Simbolotto
    Nazionale
    34
    03
    11
    07
    32
Indietro
Alto