Novità

Per LuigiB o chi altro vorrà

Lanfranco60

Super Member >GOLD<
Premetto che non sono praticissimo di script, me la cavicchio soltanto....
Ho preso uno script qualsiasi, ho tolto quello che non mi serviva e lo modificato secondo le mie esigenze.

In pratica mette in gioco un terno secco a ruota, ma questo script è solo un esempio.

Codice:
Sub Main()
    Dim idEstr
    Dim Inizio
    Dim Fine
    Dim ruote(10)
    Dim poste(10)
    Dim r
    Dim Analisi
    Dim ColpiDiGioco
    Dim n1(3)
    poste(3) = 1
    r = CInt(InputBox(" Scegli la ruota ",,"1"))
    Analisi = CInt(InputBox(" Quante estrazioni vuoi controllare ? ",,"100"))
    ColpiDiGioco = CInt(InputBox(" Per quanti colpi vuoi giocare ? ",,"9"))
    Inizio = EstrazioneFin - Analisi
    Fine = EstrazioneFin
    co = 0
    For idEstr = Inizio To Fine
        Messaggio "elab. estr. [" &(idEstr) & "] di " & DataEstrazione(idEstr,1)
        Call AvanzamentoElab(Inizio,Fine,idEstr)
        n1(1) = 66
        n1(2) = 61
        n1(3) = 07
        ruote(1) = r
        co = co + 1
        Scrivi String(100,"°") & " Caso n°" & co,1
        ImpostaGiocata 1,n1,ruote,poste,ColpiDiGioco,3
        Gioca idEstr,1,,1
        If ScriptInterrotto Then Exit For
    Next
    Scrivi
    Scrivi String(100,"*")
    ColoreTesto 2
    Scrivi" casi trovati : " & co,1
    ColoreTesto 0
    Scrivi String(100," * ")
    ScriviResoconto
End Sub


La domanda è : se i terni secchi fossero molti, oltre a scriverli uno per uno,
tipo : n1(1)-n1(2)-n1(3) per il primo terno e n2(1)-n2(2)-n2(3) per il secondo terno e cosi via fino al numero di terni voluto.

come si può fare diversamente se i terni fossero moltissimi tipo un centinaio e più ?

grazie
 
ciao un modo potrebbe essere di leggerli da un fle di testo , ecco un esempio prevede un file di testo con
le combinazioni in gioco in cui i numeri siano separati da virgola e ogni combinazione sia su una riga
ad esempio
1,2,3,4
5,6,7,8
sarebbe un file con due combinaziioni

Codice:
Option Explicit
Class clsCombinazione
	Private aNumeri
	Function SetNumeriFromRiga(sRiga,sChrSep)
		Dim k,nUpper
		ReDim aV(0)
		Call SplitByChar(sRiga,sChrSep,aV)
		nUpper = 0
		ReDim aNumeri(nUpper)
		For k = 0 To UBound(aV)
			If IsNumeric(aV(k)) Then
				If isNumeroValidoLotto(CInt(aV(k))) Then
					nUpper = nUpper + 1
					ReDim Preserve aNumeri(nUpper)
					aNumeri(nUpper) = CInt(aV(k))
				End If
			End If
		Next
		If nUpper > 0 Then
			SetNumeriFromRiga = True
		Else
			SetNumeriFromRiga = False
		End If
	End Function
	Sub GetArrayNumeri(aNum )
		aNum = aNumeri
	End Sub
End Class
Sub AlimentaCollComb(sFile,Coll,sChrSep)
	Dim k
	Dim clsComb
	Set Coll = GetNewCollection
	ReDim aRighe(0)
	Call LeggiRigheFileDiTesto 	(sFile,aRighe)
	For k = 0 To UBound(aRighe)
		Set clsComb = New clsCombinazione
		If clsComb.SetNumeriFromRiga(aRighe(k),sChrSep) Then
			Coll.Add clsComb
		End If
	Next
End Sub
Sub Main
	Dim sFileCombinazioni
	Dim sDirDef
	Dim CollCombinazioni
	Dim clsComb
	Dim aNumeri 
	
	
	sDirDef = GetDirectoryAppData
	sFileCombinazioni = ScegliFile(sDirDef,".txt")
	Call AlimentaCollComb(sFileCombinazioni,CollCombinazioni,",")
	
	' ciclo su tutte le combinazioni da analizzare 
	For Each clsComb In CollCombinazioni
		Call clsComb.GetArrayNumeri ( aNumeri )
		' ora abbiamo i numeri della combinazione corrente
		
		' semplicemente per esempio scrivo la stringa numeri ma in un caso reale 
		' qui mettero il codice che lavora con la combinazione corrente
	
		Call Scrivi (StringaNumeri( aNumeri))			
	Next
	
End Sub
 
Grazie infinite LuigiB, ma io ci ho messo una vita per modificare lo script di esempio che ti ho sottoposto, e non saprei proprio come unire i due pezzi per ottenere uno script intero.
 
semplicemte inserendo il codice del tuo script all'interno del ciclo che ho fatto io , del resto dello script che ho postato non devi modificare nulla perche non necessario.
Ad ogni iterazioen del ciclo che fa lo script ti ritrovi il vettotre dei numeri in gioco e ci fai le stesse cose che gia ci facevi.
Avevo capito che un po sapevi scriverli .. se non è cosi certo è piu difficile ..
 
Grazie rubino, è la prima cosa che ho fatto, ma quello che mi interessa è lo script per vedere quelli che più fanno al caso mio, ma più che altro è una ricerca hobbistica x passatempo.:-)
 
Codice:
    Call AlimentaCollComb(sFileCombinazioni,CollCombinazioni,",")
    
    ' ciclo su tutte le combinazioni da analizzare 
    For Each clsComb In CollCombinazioni
        Call clsComb.GetArrayNumeri ( aNumeri )
        ' ora abbiamo i numeri della combinazione corrente
        
        ' semplicemente per esempio scrivo la stringa numeri ma in un caso reale 
        ' qui mettero il codice che lavora con la combinazione corrente
    
        Call Scrivi (StringaNumeri( aNumeri))            
    Next
    
End Sub



......Il codice che lavora con la combinazione corrente...............

ma io non so come chiamare le combinazioni correnti per poter scrivere questo codice, ho tutta la buona volonta, ma se uno non sa da dove iniziare.......anche con capacità limitate, ci prova, MA NON CI RIESCO ! aiut-aiut-aiut- :-(
 
Codice:
    Call AlimentaCollComb(sFileCombinazioni,CollCombinazioni,",")
    
    ' ciclo su tutte le combinazioni da analizzare 
    For Each clsComb In CollCombinazioni
        Call clsComb.GetArrayNumeri ( aNumeri )
        ' ora abbiamo i numeri della combinazione corrente
        
        ' semplicemente per esempio scrivo la stringa numeri ma in un caso reale 
        ' qui mettero il codice che lavora con la combinazione corrente
    
        Call Scrivi (StringaNumeri( aNumeri))            
    Next
    
End Sub



......Il codice che lavora con la combinazione corrente...............

ma io non so come chiamare le combinazioni correnti per poter scrivere questo codice, ho tutta la buona volonta, ma se uno non sa da dove iniziare.......anche con capacità limitate, ci prova, MA NON CI RIESCO ! aiut-aiut-aiut- :-(
 
Ciao Lanfranco.

Sia Rubino che Luigi ti hanno dato delle soluzioni. Pur differenti.

Tu, sembri preferire quella di Luigi.

Devi prendere le tue formazioni e salvarle come file di testo.

Luigi al messaggio # 2 ti ha proposto: 1,2,3,4 ecc... una per riga.

Tu vorrai-dovrai inserirci tutti i tuoi terni. Poi dovrai ...

Salvare la tabella delle terne separate dalla virgola con un nome tipo: Terni.txt

Eseguendo lo script presente allo stesso messaggio #2 questo ti chiede di "puntare" a questa tabella ...

che una volta indirizzata, verrà letta e scomposta nei vari terni di cui si compone.

Rubino analogamente ti ha proposto di far analizzare la stessa tabella direttamente da Spaziometria,

dopo averla pre-confezionata e caricata come gruppo di formazioni.

:) Buona Giornata.
 
Ciao Lanfranco.

Sia Rubino che Luigi ti hanno dato delle soluzioni. Pur differenti.

Tu, sembri preferire quella di Luigi.

Devi prendere le tue formazioni e salvarle come file di testo.

Luigi al messaggio # 2 ti ha proposto: 1,2,3,4 ecc... una per riga.

Tu vorrai-dovrai inserirci tutti i tuoi terni. Poi dovrai ...

Salvare la tabella delle terne separate dalla virgola con un nome tipo: Terni.txt

Eseguendo lo script presente allo stesso messaggio #2 questo ti chiede di "puntare" a questa tabella ...

che una volta indirizzata, verrà letta e scomposta nei vari terni di cui si compone.

Rubino analogamente ti ha proposto di far analizzare la stessa tabella direttamente da Spaziometria,

dopo averla pre-confezionata e caricata come gruppo di formazioni.

:) Buona Giornata.


Ciao joe

Intanto grazie della risposta, giusto per precisare, io gli script (facili) li so fare, ma sono molto limitato, peresempio quello che ho modificato in prima pagina, ho capito tutto quello che fa. Ma quello di Luigi per me è arabo nel modo più assoluto.

riepilogo quello che ho fatto :

quello che dice rubino, io l'avevo già fatto prima di postare la prima volta, ho creato la nuova formazione, inserita e memorizzata con spaziometria, e analizzata.

in seguito ho creato il file di testo come detto da Luigi con le formazioni dei terni, ho provato con il pezzo di script creato da Luigi e mi legge tutto perfettamente e mi mostra a video l'elenco dei terni contenuto.

Il mio dilemma e come fare per mettere in gioco i terni contenuti nel file, per vedere la data di uscita e l'estrazione completa di quando è uscito un terno, ecc..., copiare l'output in modo facile, in modo da fare mie valutazioni, sempre ricordando che per me è un passatempo e non pretendo di aver scoperto chissa quale segreto industriale.
Io come vedi nel messaggio #1, ci ho provato, ma verrebbe uno script esageratamente lungo inserendo i terni uno per uno.
Per farla breve, non sono principalmente interessato a giocare questi terni, per il semplice fatto che per me sono una sorta di terni spia.
Ero solo interessato a sapere se si poteva fare con uno script o No, mi è stato detto di si, ma non so come e adesso sono al punto di partenza.

ciao e grazie dell'interessamento :-)
 
ciao Lanfranco .. ma infatti tutto quello che ti serve sapere per usare il mio script è che ad ogni iterazione del ciclo c'è un array che contiene una delle combinazioni lette dal file di testo. Ripeto che puoi pure non capirci niente di quello che ho scritto io tanto in questo caso specifico non va modificato di una virgola.
A te serviva una struttura portante che iterasse su un certo numero di formazioni il resto hai detto che lo sai gia fare .. quindi ?
Ti stai perdendo in un bicchier da'cqua se è vero che hai capito cosa fa il primo script non ti sara difficile fonderlo col mio ..
 
Ultima modifica di un moderatore:
e aggiungo che se ti interessa scriptare non puoi esimerti da dare almeno una letta alle guide di teoria .. riferisciti a Rabberto che raccoglie e coordina tutte queste guide , gia nel prrogramma compaiono delle lezioni base di script ..
 
Ciao Luigi, no sono bloccato, mi manca qualcosa che non so nemmeno io cosa è sto affogando in quel bicchiere d'acqua, infatti è grazie a tutte le vostre guide che ci sto capendo qualcosa, iniziando ad entrare nel mondo degli script.
Luigi tu sei un mostro (di bravura) e forse dai per scontato cose che per altri non lo sono.
ciao :-)
 
ciao , dando per assodato che lo script che hai messo nel primo messaggio faccia quello che ti serve il problema consiste nel vedere come si puo fare ad analizzare piu combinazioni senza doverle scrivere tutte nel nuovo script.
Ebbene riporto parte del codice preso dal tuo script.
Codice:
For idEstr = Inizio To Fine
        Messaggio "elab. estr. [" &(idEstr) & "] di " & DataEstrazione(idEstr,1)
        Call AvanzamentoElab(Inizio,Fine,idEstr)
        n1(1) = 66
        n1(2) = 61
        n1(3) = 07
        ruote(1) = r
        co = co + 1
        Scrivi String(100,"°") & " Caso n°" & co,1
        ImpostaGiocata 1,n1,ruote,poste,ColpiDiGioco,3
        Gioca idEstr,1,,1
        If ScriptInterrotto Then Exit For
    Next

questo pezzetto di codice esegue l'analisi sui numeri contenuti nell'array n1.

Benissimo è questo il pezzetto di codice che va inserito all'interno del ciclo che ho fatto io.
Sappiamo perche te l'ho spiegato che ad ogni iterazione del ciclo il mio script ti fornisce un array con i numeri della combinazione , è la stessa cosa del tuo array n1.
Devi mettere al posto di n1 l'array ottenuto dal mio script.
Per ora tralasciamo il fatto che per fare quello che interessa te questo che hai adoperato non sia il metodo migliore ma visto che sei agli inizi e per capire puo anche andare.
Non faccio io la modifica che ti serve perche è solo sbattendoci la testa che cairai bene come si fa ..
Un saluto
 
Saluto tutti,

Scusate se mi inserisco, avrei una domanda.

Quante formazioni massimo posso inserire nel file txt ?

Potrei inserire tutte le formazioni x TERNO = 117480 ?

Perchè ci sarebbe lo script che mi crea gli integrali dall'ambo alla cinquina.

Questo di seguito è x Terzine

'Sviluppo Integrale Terzine.
Sub Main()
For n = 1 To 88
For n1 = n + 1 To 89
For n2 = n1 + 1 To 90
Scrivi n & "," & n1 & "," & n2,1
Next
Next
Next
End Sub
 
considerato che tutte le formazioni lette dal file di testo vengono inserite preventivamente in una collection ci sarebbe un problema di memoria ad inserirne troppe , comunque con 117.000 e rotte potrebbe ancora reggere.
Però se le sviluppi al volo che senso ha trascriverle prima in un file esterno ?
Ciao
 
Luigi, a parer mio fuziona benissimo.

A parte ... Ho sviluppato i terni vergini al 31/12/2012.

Li ho archiviati come testo e come descritto precedentemente,

Ho inserito un controllo per la presenza delle tre posizioni in subordine , alle estrazioni ed alla ruota,

e dal gennaio 2013 ad oggi ottengo :

19.01.2013 BA 51.65.36.02.38 02.36.51
08.01.2013 NA 32.06.48.21.12 06.12.21
19.02.2013 TO 27.06.20.38.45 06.27.38
05.02.2013 GE 34.20.18.06.46 06.34.46
06.04.2013 NA 04.46.09.30.17 09.17.46
26.04.2013 PA 52.32.07.45.11 11.45.52
27.06.2013 NA 45.78.21.15.13 13.15.21
06.07.2013 PA 16.66.57.50.40 16.40.57
15.01.2013 NA 41.75.16.52.89 16.75.89
08.06.2013 GE 63.26.29.59.28 28.29.63
02.02.2013 BA 62.39.20.22.37 37.39.62
09.02.2013 CA 62.63.39.26.37 37.39.62
30.03.2013 PA 82.66.61.16.38 38.66.82
25.07.2013 CA 38.90.73.72.50 38.72.73

Tempo Elab. = 1 secondi.

Che, tutto da controllare, mi sembra ottimo.

:)
 
considerato che tutte le formazioni lette dal file di testo vengono inserite preventivamente in una collection ci sarebbe un problema di memoria ad inserirne troppe , comunque con 117.000 e rotte potrebbe ancora reggere.
Però se le sviluppi al volo che senso ha trascriverle prima in un file esterno ?
Ciao

Dovrebbe dare in output i seguenti risultati x Terno x singola ruota:
terzina Ruota RC STO
01,02,03 Ba 186 1795
.......

per tutte le terzine

per le vergini dovrebbe segnare

01,02,03, Ba 8564 8738 (dalla 1° alla ultima estrazione di ruota)

il tutto da poter inserire in Excel.

potresti darmi una dritta per lo script.
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 28 settembre 2024
    Bari
    47
    31
    09
    85
    52
    Cagliari
    49
    67
    26
    29
    68
    Firenze
    37
    01
    54
    79
    15
    Genova
    89
    76
    83
    14
    59
    Milano
    87
    85
    30
    76
    10
    Napoli
    73
    68
    24
    62
    05
    Palermo
    62
    27
    66
    20
    82
    Roma
    06
    30
    05
    53
    37
    Torino
    11
    02
    38
    55
    43
    Venezia
    81
    51
    82
    01
    20
    Nazionale
    08
    83
    12
    87
    42
    Estrazione Simbolotto
    Palermo
    19
    07
    10
    45
    36
Indietro
Alto