Novità

Aiuto per correzione script

Lucio P.

Super Member >GOLD<
Non so se è la sezione giusta per questa richiesta.

SCRIPT PER DETERMINATI

Gentilmente qualcuno può modificare questo script?

Codice:
Sub main()Dim rur(1),ru(2),n(5)
'rr=InputBox("Ruota di calcolo. ",,1) 
'r=InputBox("Ruota di gioco. ",,1)
po=InputBox("Posiz. di gioco. ",,1)
sorte=InputBox("Sorte di gioco. ",,6)'SOSTITUIRE 1 CON 6,7,8,9,10 (6=1° - 10=5° POS. PER DETERMINATI)


For rr=1 To 10
r=rr
rur(1)=rr
ru(1)=r
'For sorte=6 To 10


If sorte=6 Then so=1
If sorte=7 Then so=2
If sorte=8 Then so=3
If sorte=9 Then so=4
If sorte=10 Then so=5
fin=EstrazioneFin
ini=3950                     'EstrazioneFin-1000 'STO TT-NZ: Max 393
For es=ini To fin 
Messaggio "elab. estr. ["&(es)&"] di "&DataEstrazione(es,1)&" "&siglaruota(rr)
n(1) = Estratto(es,rr,po)
s=SeriePrima(es+1,fin,n,ru,sorte)
If s>0 Then 
rt=s-es
casi=casi+1
If rt>mx Then mx=rt
If rt>150 Then c=c+1
If rt>200 Then c1=c1+1
If s=fin Then 
ColoreTesto 2
Scrivi FormatSpace(es,4,1)&"   "&siglaruota(rr)&"   "&stringanumeri(n)&"   st"& so   & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
Else
ColoreTesto 0
Scrivi FormatSpace(es,4,1)&"   "&siglaruota(rr)&"   "&stringanumeri(n)&"   st"& so   & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
End If
Else
If s=0 Then
s1=fin 
at=fin-es
casi1=casi1+1
If at>max Then max=at
Scrivi FormatSpace(es,4,1)&"   "&siglaruota(rr)&"   "&stringanumeri(n)&"   at" & so   & " " & FormatSpace(at,4,1)& "   " & s1,1


End If
End If


Next
Next
'Next


'Scrivi "casi Storici "&casi
'Scrivi "mx sto "&mx
'Scrivi ">150 "&c&"  "&formatnumber(c/casi*100,2)
'Scrivi ">200 "&c1&"  "&formatnumber(c1/casi*100,2)
'Scrivi "casi attuali "&casi1
'Scrivi "mx att "&max




End Sub

Avrei bisogno di questo tipo di “Output” già esistente laddove per ogni posizione e quindi numero, dovrei poter fare un sommativo; mi spiego:

Codice:
Output attuale

Indice Ru.  Nu.  Pos.  Rit. Ind. Sf. 

3950   Ba   68   st1   97   4047
3951   Ba   60   st1   13   3964
3952   Ba   28   st1   54   4006
3953   Ba   17   st1   84   4037
3954   Ba   81   st1   90   4044
 
 
VORREI OTTENERE SOMMANDO A OGNI NUMERO DUE CIFRE A PIACIMENTO E DIVENTEREBBE COSI’. Supponendo di adoperare la somma 5 e la 10 avremmo:
 
 
Indice Ru.   Nu.  Pos.  Rit. Ind. Sf.

3950   Ba  73 78   st1   97   4047
3951   Ba  65 70   st1   13   3964
3952   Ba  33 38   st1   54   4006
3953   Ba  22 27   st1   84   4037
3954   Ba  86  1   st1   90   4044

Confido nella vostra bravura e disponibilità e non posso che dirvi solamente un GRAZIE.

Ciao

Lucio P.
 
Ciao Lucio,

è un pochino complicato interpretare lo script ... e soprattutto "i tagli" effettuati ìn esso. (E' di Cinzia ?)

Ciò premesso, ho capito cosa calcola, così com'è, solo, da me, un pò colorato e ristretto a BA_ri.

Ti chiedo: I due adattori sono +5 +5. Sempre quelli ? O sono variabili ?

O ancora cerchi una terzina x-y / x / x+y ? e "l'estratto" deve diventare l'elemento "centrale" della simmetria?

Ancora, le parti già disabilitate, sono poi da togliere o ... verranno riabilitate per avere la statistica campionata a blocchi di estrazioni?

:) Fammi sapere.

Codice:
Sub Main()Dim rur(1),ru(2),n(5)
'rr=InputBox("Ruota di calcolo. ",,1) 
'r=InputBox("Ruota di gioco. ",,1)
po=InputBox("Posiz. di gioco. ",,1)
sorte=InputBox("Sorte di gioco. ",,6)'SOSTITUIRE 1 CON 6,7,8,9,10 (6=1° - 10=5° POS. PER DETERMINATI)


For rr=1 To 1'0
r=rr
rur(1)=rr
ru(1)=r
'For sorte=6 To 10


If sorte=6 Then so=1
If sorte=7 Then so=2
If sorte=8 Then so=3
If sorte=9 Then so=4
If sorte=10 Then so=5
fin=EstrazioneFin
ini=3950                     'EstrazioneFin-1000 'STO TT-NZ: Max 393
For es=ini To fin 
Messaggio "elab. estr. ["&(es)&"] di "&DataEstrazione(es,1)&" "&SiglaRuota(rr)
n(1) = Estratto(es,rr,po)
s=SeriePrima(es+1,fin,n,ru,sorte)
If s>0 Then 
rt=s-es
casi=casi+1
If rt>mx Then mx=rt
If rt>150 Then c=c+1
If rt>200 Then c1=c1+1
If s=fin Then 
ColoreTesto 1
Scrivi FormatSpace(es,4,1)&"   "&SiglaRuota(rr)&"   "&StringaNumeri(n,,True)&"   st"& so   & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
Else
ColoreTesto 0
Scrivi FormatSpace(es,4,1)&"   "&SiglaRuota(rr)&"   "&StringaNumeri(n,,True)&"   st"& so   & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
End If
Else
If s=0 Then
s1=fin 
at=fin-es
casi1=casi1+1
If at>max Then max=at
ColoreTesto 2
Scrivi FormatSpace(es,4,1)&"   "&SiglaRuota(rr)&"   "&StringaNumeri(n,,True)&"   at" & so   & " " & FormatSpace(at,4,1)& "   " & s1&  "  " & Fin-ES,1 
ColoreTesto  0

End If
End If


Next
Next
'Next


'Scrivi "casi Storici "&casi
'Scrivi "mx sto "&mx
'Scrivi ">150 "&c&"  "&formatnumber(c/casi*100,2)
'Scrivi ">200 "&c1&"  "&formatnumber(c1/casi*100,2)
'Scrivi "casi attuali "&casi1
'Scrivi "mx att "&max


End Sub
 
Ti chiedo: I due adattori sono +5 +5. Sempre quelli ? O sono variabili ?

O ancora cerchi una terzina x-y / x / x+y ? e "l'estratto" deve diventare l'elemento "centrale" della simmetria?

Ancora, le parti già disabilitate, sono poi da togliere o ... verranno riabilitate per avere la statistica campionata a blocchi di estrazioni?

Ciao Joe e grazie per l'intervento.

Mi servirebbe semplicemente poter sommare al numero posizionato due valori a piacimento.

Supponiamo di avere su Bari le cinquine 10 20 30 40 50
....................................................... 11 22 32 42 52
....................................................... 45 50 52 63 71 etc.

Una posizione per volta, esempio la prima, mi scansionerà tutti i numeri in prima posizione come da archivio impostato; solamente che, a questa prima posizione, farò le due somme immesse che possono variare.

Esempio di somme immesse che saranno uguali per le cinque posizioni (55 e 70):

1° pos............2° pos.............3° pos...............4° pos................5° pos.

65 80..............75 90...............85 10................05 15.................15 30


66 81..............77 02...............87 12................07 22.................17 32


10 25..............15 30...............17 32................28 43.................36 51

Quindi a ogni numero sono state apportate le due somme.

Lo script (di Cinzia) lo puoi correggere come vuoi; l'importante è avere l'output come lo fa ora. E avere anche l'input Box che permetta di scegliere ruota e posizione.
Non posso fare le cinque posizioni insieme, c'impiegherebbe troppo tempo dalla 3950 per ricavare gli storici e quindi vanno fatte una per volta.

Non c'è capo gioco o terzina ma solamente due numeri per posizione. Spero di aver chiarito.

Ciao e buona giornata

Mi edito

Alla fine dunque, e dopo aver ottenuto la statistica, mi serviranno poi solo gli attuali; che ora ottengo mettendo l'apice davanti agli scrivi.
 
Ultima modifica:
Ok ... Ciao Lucio, grazie per le spiegazioni ... ed in particolare per quanto riguarda non avevo proprpio capito.

"Non c'è capo gioco o terzina ma solamente due numeri per posizione ..."

Mi "risintonizzo" e vedo cosa posso fare.

:) Buona Giornata a tutte/i.
 
Grazie a te Joe, per l'interessamento! Io con gli script sono una frana.
Ciao e la pace sia anche con te. Siamo tutti bisognosi della pace che Dio offre e senza della quale siamo semplicemente miseri uomini.
 
Ciao Lucio,

Ho provato ad introdurre le modifiche allo script, da te richieste.

Ti chiedo se puoi controllare de corrispondono a quanto desideravi.

:) Cordiali saluti

Codice:
'Versione PROVVISORIA con Bi_Adattatore_Sommativo By Joe
Sub Main()
Dim rur(1),ru(2),n(2)
'rr=InputBox("Ruota di calcolo. ",,1)
'r=InputBox("Ruota di gioco. ",,1)
po = InputBox("Posiz. di gioco. ",,1)
sorte = InputBox("Sorte di gioco. ",,6)'SOSTITUIRE 1 CON 6,7,8,9,10 (6=1° - 10=5° POS. PER DETERMINATI)
AD1 = InputBox("Primo Adattatore ","Adattatore Sommativo",5) 
AD2 = InputBox("Secondo Adattatore ","Adattatore Sommativo",10)

For rr = 1 To 1'0
r = rr
rur(1) = rr
ru(1) = r
'For sorte=6 To 10

If sorte = 6 Then so = 1
If sorte = 7 Then so = 2
If sorte = 8 Then so = 3
If sorte = 9 Then so = 4
If sorte = 10 Then so = 5
Fin = EstrazioneFin
Ini = 3950 'EstrazioneFin-1000 'STO TT-NZ: Max 393
For es = ini To fin
Messaggio "elab. estr. [" &(es) & "] di " & DataEstrazione(es,1) & " " & SiglaRuota(rr)

E = Estratto(es,rr,po) : n(1) = Fuori90 (E + Ad1) : n(2) = Fuori90 (E + Ad2)

s = SeriePrima(es + 1,fin,n,ru,sorte)
If s > 0 Then
rt = s - es
casi = casi + 1
If rt > mx Then mx = rt
If rt > 150 Then c = c + 1
If rt > 200 Then c1 = c1 + 1
If s = fin Then
ColoreTesto 1
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr) & "  " & Format2(n(1)) & "." & Format2(n(2)) & "   st" & so & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
Else
ColoreTesto 0
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr) & "  " & Format2(n(1)) & "." & Format2(n(2)) & "   st" & so & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
End If
Else
If s = 0 Then
s1 = fin
at = fin - es
casi1 = casi1 + 1
If at > max Then max = at
ColoreTesto 2
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr) & "  " & Format2(n(1)) & "." & Format2(n(2)) & "   at" & so & " " & FormatSpace(at,4,1) & "   " & s1 
ColoreTesto 0

End If
End If


Next
Next
'Next

'Scrivi "casi Storici " & casi
'Scrivi "mx sto " & mx
'Scrivi ">150 " & c & "  " & formatnumber(c/casi*100,2)
'Scrivi ">200 " & c1 & "  " & formatnumber(c1/casi*100,2)
'Scrivi "casi attuali " & casi1
'Scrivi "mx att " & max


End Sub
 
Ultima modifica:
Ciao Lucio.

Ho sostituito lo script al messaggio precedente (era per Spaziometria) rendendolo maggiormente compatibile.

:) Fammi sapere.
 
Ciao Joe, va benissimo!!!
Ti ringrazio tantissimo. Ora farò qualche ricerca e chissà, forse ci potrebbe essere la necessità di qualche piccola aggiunta o modifica; come di solito succede man mano che si procede nell'esplorare statisticamente gli eventi a disposizione. Ma potrebbe non essere affatto così.

Buona serata
 
Ciao Joe, va benissimo!!!
Ti ringrazio tantissimo. Ora farò qualche ricerca e chissà, forse ci potrebbe essere la necessità di qualche piccola aggiunta o modifica; come di solito succede man mano che si procede nell'esplorare statisticamente gli eventi a disposizione. Ma potrebbe non essere affatto così.

Buona serata


https://dl.dropbox.com/u/18220462/IMMAGINI/Joe 3.PNG


Ciao Joe, ci sarebbe la necessità di aggiungere una colonna come da immagine. Se non si riesce, pazienza.

Mi accorgo solo ora che gli input Box per cambiare ruota non funzionano pur togliendo l'apice, puoi sistemarli? Grazie

Notte
 
Ultima modifica:
Ciao Lucio,

Ops ... no, scusa, vedo solo in questo momento.

Come ti dicevo ... è uno script un pò strano.

Prevederebbe l' Input di una ruota, di calcolo e una di gioco, ma ....

ma poi ... le unifica ... e ... le scorrerebbe tutte e 10.

Idem per le posizioni.

Per la colonna penso la si possa aggiungere, senza problemi.

Ti chiederei, come vorresti gestire ste ruote e posizioni.

:) Buona Domenica
 
Ultima modifica:
Ciao Lucio,

Ops ... no, scusa, vedo solo in questo momento.

Come ti dicevo ... è uno script un pò strano.

Prevederebbe l' Input di una ruota, di calcolo e una di gioco, ma ....

ma poi ... le unifica ... e ... le scorrerebbe tutte e 10.

Idem per le posizioni.

Per la colonna penso la si possa aggiungere, senza problemi.

Ti chiederei, come vorresti gestire ste ruote e posizioni.

:) Buona Domenica


Ciao Joe, le ruote dunque non si riesce a cambiarle?

Cosa intendi per "gestire ruote e posizioni?".
 
Ciao Lucio ... prova questa nuova versione.

Codice:
'V 2.0 con Bi_Adattatore_Sommativo By Joe
Sub Main()
Dim ru(1),n(2) ,po 

R = ScegliRuota
po = InputBox("Posiz. di gioco. ",,1)
Sorte = InputBox("Sorte di gioco. ",,6)'SOSTITUIRE 1 CON 6,7,8,9,10 (6=1° - 10=5° POS. PER DETERMINATI)
AD1 = InputBox("Primo Adattatore ","Adattatore Sommativo",1) 
AD2 = InputBox("Secondo Adattatore ","Adattatore Sommativo",10)

For rr = R To R

ru(1) = rr

'For sorte=6 To 10

If sorte = 6  Then so = 1
If sorte = 7  Then so = 2
If sorte = 8  Then so = 3
If sorte = 9  Then so = 4
If sorte = 10 Then so = 5
Fin = EstrazioneFin
Ini = 3950 'EstrazioneFin-1000 'STO TT-NZ: Max 393
For es = ini To fin
Messaggio Fin - Es

E = Estratto(es,rr,po) : n(1) = Fuori90 (E + Ad1) : n(2) = Fuori90 (E + Ad2)

s = SeriePrima(es + 1,fin,n,ru,sorte)
If s > 0 Then
rt = s - es
casi = casi + 1
If rt > mx Then mx = rt
If rt > 150 Then c = c + 1
If rt > 200 Then c1 = c1 + 1
If s = fin Then
ColoreTesto 1
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr) & "  " & Format2 (AD1)& "-" & Format2 (AD2)& "  ",0,0 
Scrivi Format2(n(1)) & "." & Format2(n(2)) & "   st" & so & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
Else
ColoreTesto 0
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr) & "  " & Format2 (AD1)& "-" & Format2 (AD2)& "  ",0,0
Scrivi Format2(n(1)) & "." & Format2(n(2)) & "   st" & so & " " & FormatSpace(rt,4,1) & "   " & s
ColoreTesto 0
End If
Else
If s = 0 Then
s1 = fin
at = fin - es
casi1 = casi1 + 1
If at > max Then max = at
ColoreTesto 2
Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(rr)  & "  " & Format2 (AD1)& "-" & Format2 (AD2)& "  ",0,0
Scrivi Format2(n(1)) & "." & Format2(n(2)) & "   at" & so & " " & FormatSpace(at,4,1) & "   " & s1 
ColoreTesto 0

End If
End If


Next
Next
'Next

'Scrivi "casi Storici " & casi
'Scrivi "mx sto " & mx
'Scrivi ">150 " & c & "  " & formatnumber(c/casi*100,2)
'Scrivi ">200 " & c1 & "  " & formatnumber(c1/casi*100,2)
'Scrivi "casi attuali " & casi1
'Scrivi "mx att " & max


End Sub

:) Fammi sapere
 
MAGNIFICO!!!

Ora funziona tutto, sia l'inserimento delle ruote sia le posizioni. Grazie anche per l'aggiunta della colonna mancante!

Cosa intendevi prima per (gestire?)

Ciao e buona Domenica anche a te.
 
Come ti dicevo è uno script un pochino, aggrovigliato, nel quale ho già introdotto diverse semplificazioni.

Intendevo ... che se posizione del "Prelievo" e quella del "Controllo" ... SONO UGUALI, si possono riunire le loro variabili.

Se è vero che è solo una somma ... sarebbe meglio che il calcolo della "Sorte-Determinata", fosse fatto dallo script.

Poi ancora, come mi sembra tu preferisca controllare una ruota alla volta ... anche il ciclo For-Next per le ruote può essere eliminato.

Tutto questo a vantaggio di una più facile interpretazione dello script, minor uso di istruzioni/variabili e di una sua maggiore velocità.

Ma alcune cose che non posso (o potevo) sapere, mi impediscono (o hanno impedito)

una visione più ampia, ovvero, una soluzione più incisiva delle problematiche presenti.

Comunque sia, l'importante è che tu sia soddisfatto e che le modifiche introdotte, ti aiutino nelle ricerche.

:) Rinnovo i miei saluti a tutte/i.
 
Ultima modifica:
Intendevo ... che se posizione del "Prelievo" e quella del "Controllo" ... SONO UGUALI, si possono riunire le loro variabili.

Si, le due posizioni sono uguali; posizione di calcolo e di gioco.


Se è vero che è solo una somma ... sarebbe meglio che il calcolo della "Sorte-Determinata", fosse fatto dallo script.

In origine intendevo inserire solamente la medesima somma ma ho dovuto cambiare idea. E' preferibile implementare due somme diverse su un medesimo numero.


Poi ancora, come mi sembra tu preferisca controllare una ruota alla volta ... anche il ciclo For-Next per le ruote può essere eliminato.

Si, la preferenza è una ruota per volta.


Tutto questo a vantaggio di una più facile interpretazione dello script, minor uso di istruzioni/variabili e di una sua maggiore velocità.

Alla luce di quanto ho chiarito se vuoi puoi migliorare il tutto come meglio ritieni.

Ancora grazie per aver aiutato un inbranato che, di listati e VB capisce ben poco.
A buon rendere.
Ciao
 
Ciao Giulio e grazie per l'intervento.

Per quanto riguarda i ritardi, già ci sono. Cosa intendi con avere più adattatori? Puoi fare un esempio pratico seguendo l'output esistente?

Buona domenica
 
Buona Domenica a tutte/i.

rilascio alle Vostre prove, questo aggiornamento dello script.


Codice:
'V 3.0 con Bi_Adattatore_Sommativo By Joe
Sub Main()
 Dim Ru(1),N(2),Po,So
 Ru(1) = ScegliRuota
 Po = InputBox("Inserisci (1-5)","SCELTA DELLA POSIZIONE",1) : So = Po + 5
 AD1 = InputBox("Primo Adattatore ","Adattatore Sommativo",1)
 AD2 = InputBox("Secondo Adattatore ","Adattatore Sommativo",10)
 Ini = 3950 'EstrazioneFin-1000 'STO TT-NZ: Max 393
 Fin = EstrazioneFin
 For Es = Ini To Fin
  Messaggio Fin - Es
  E = Estratto(Es,Ru(1),Po) : N(1) = Fuori90(E + Ad1) : N(2) = Fuori90(E + Ad2)
  s = SeriePrima(Es + 1,Fin,N,Ru,So)
  If s > 0 Then
   rt = s - es
   casi = casi + 1
   If rt > mx Then mx = rt
   If rt > 150 Then c = c + 1
   If rt > 200 Then c1 = c1 + 1
   If s = Fin Then
    ColoreTesto 1
    Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(Ru(1)) & "  " & Format2(AD1) & "-" & Format2(AD2) & "  ",0,0
    Scrivi Format2(N(1)) & "." & Format2(N(2)) & "   st" & Po & " " & FormatSpace(rt,4,1) & "   " & s
    ColoreTesto 0
   Else
    ColoreTesto 0
    Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(Ru(1)) & "  " & Format2(AD1) & "-" & Format2(AD2) & "  ",0,0
    Scrivi Format2(N(1)) & "." & Format2(N(2)) & "   st" & Po & " " & FormatSpace(rt,4,1) & "   " & s
    ColoreTesto 0
   End If
  Else
   If s = 0 Then
    s1 = fin
    at = fin - es
    casi1 = casi1 + 1
    If at > max Then max = at
    ColoreTesto 2
    Scrivi FormatSpace(es,4,1) & "  " & SiglaRuota(Ru(1)) & "  " & Format2(AD1) & "-" & Format2(AD2) & "  ",0,0
    Scrivi Format2(N(1)) & "." & Format2(N(2)) & "   at" & Po & " " & FormatSpace(at,4,1) & "   " & s1
    ColoreTesto 0
   End If
  End If
 Next
 'Scrivi "casi Storici " & casi
 'Scrivi "mx sto " & mx
 'Scrivi ">150 " & c & "  " & formatnumber(c/casi*100,2)
 'Scrivi ">200 " & c1 & "  " & formatnumber(c1/casi*100,2)
 'Scrivi "casi attuali " & casi1
 'Scrivi "mx att " & max
End Sub

:) Cordiali saluti.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35

Ultimi Messaggi

Indietro
Alto