Novità

ho tradotto questo script

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
L

LuigiB

Guest
Ciao a tutti , mi è arrivata poco fa una mail dove un utente chiedeva se potessi convertire uno script fatto per non so quale programa in un formato idoneo a lottodesk o a spaziometria ..

La cosa era piuttosto semplice e a beneficio di tutti posto lo script funzionante in spaziometria.
poi posto il codice originale.


P.S.
Che nessuno si faccia venire in mente di mandarmi altri script da convertire ... io quello che potevo fare cercando di insegnare l'ho fatto...



Codice:
'SCRIPT DI ESEMPIO PER TROVARE LE FORMAZIONI SUPERFREQUENTI
'LAVORA SOLO SU RUOTA SINGOLA O TUTTE
'PER RENDERLO COMPATIBILE CON ALTRI SOFTWARE E' SUFFICIENTE CAMBIARE ALCUNE ISTRUZIONI
'VARIABILI GLOBALI
Dim Freq(90)
Dim Num(90)
Dim DataIni,DataFin
Dim Ciclo,TotCicli,Sorte,Ruota,FreqMin
Dim R1,R2,R3,R4,ruota1,ruota2,ruota3,ruota4,fine
Sub Main()
	Ciclo = CInt(InputBox("Durata del ciclo",,10))
	TotCicli = CInt(InputBox("Cicli totali",,6))
	FreqMin = CInt(InputBox("Frequenze minime dei singoli numeri per ciclo",,2))
	Sorte = CInt(InputBox("Sorte di ricerca" + Chr(13) + "1=estratto; 2=ambo; 3=terno; 4=quat; 5=cinq",,2))
	ruota1 = CInt(InputBox("Ruota di ricerca 1" + Chr(13) + "1=BA...10=VE; 11=NAZ; 11=TUTTE",,4))
	ruota2 = CInt(InputBox("Ruota di ricerca 2" + Chr(13) + "1=BA...10=VE; 11=NAZ; 11=TUTTE",,5))
	ruota3 = CInt(InputBox("Ruota di ricerca 3" + Chr(13) + "1=BA...10=VE; 11=NAZ; 11=TUTTE",,9))
	ruota4 = CInt(InputBox("Ruota di ricerca 4" + Chr(13) + "1=BA...10=VE; 11=NAZ; 11=TUTTE",,10))
	fine = InputBox("Estrazione finale",,EstrazioniArchivio)
	If Ruota <> 11 Then
		R1 = ruota1
		R2 = ruota2
		R3 = ruota3
		R4 = ruota4
	Else
		R1 = 1
		R2 = 10
	End If
	DataFin = fine
	DataIni = DataFin -(Ciclo*TotCicli)
	CalcolaFrequenze()
	OrdinaFrequenze()
	TrovaFormazione()
End Sub
Sub CalcolaFrequenze()
	Dim a,e,n,r
	For a = DataIni To DataFin
		For r = R1 To R2
			For e = 1 To 5
				n = Estratto(a,r,e)
				Freq(n) = Freq(n) + 1
			Next
		Next
	Next
End Sub
Sub OrdinaFrequenze()
	Dim a,b,k
	For a = 1 To 90
		Num(a) = a
	Next
	For a = 1 To 89
		For b = a + 1 To 90
			If Freq(a) < Freq(b) Then
				k = Freq(a)
				Freq(a) = Freq(b)
				Freq(b) = k
				k = Num(a)
				Num(a) = Num(b)
				Num(b) = k
			End If
		Next
	Next
End Sub
Sub TrovaFormazione()
	Dim t
	Dim numForm()
	Dim numRichiesti
	numRichiesti = 0
	For t = 1 To 90
		ReDim numForm(90)
		If Verifica(t) = True Then
			numRichiesti = t
			Exit For
		End If
	Next
	Dim strNum
	For t = 1 To numRichiesti
		strNum = strNum & Num(t) & "."
	Next
	If Right(strNum,1) = "." Then strNum = Left(strNum,Len(strNum) - 1)
	Call Scrivi("SuperFrequenze")
	Call Scrivi
	Call Scrivi("Data iniziale: " & GetInfoEstrazione(DataFin -(Ciclo*TotCicli)))
	Call Scrivi("Data finale:   " & GetInfoEstrazione(DataFin))
	Call Scrivi("Ruota/e: " & SiglaRuota(R1) & "-" & SiglaRuota(R2) & "-" & SiglaRuota(R3) & "-" & SiglaRuota(R4))
	Call Scrivi("Durata ciclo: " & Ciclo)
	Call Scrivi("Cicli totali: " & TotCicli)
	Call Scrivi("Frequenze min. dei singoli numeri per ciclo: " & FreqMin)
	Call Scrivi("Sorte di ricerca: " & NomeSorte(Sorte))
	Scrivi
	Call Scrivi("Formazione trovata (" & numRichiesti & " NR):",True)
	Call Scrivi(strNum,,,,Rosso_)
End Sub
Function Verifica(totNum)
	Dim a,b,c,e,n,k,r
	Dim esatti
	Dim fr
	k = DataIni
	For c = 1 To TotCicli
		fr = 0
		For r = R1 To R4
			For a = 0 To(Ciclo - 1)
				esatti = 0
				For e = 1 To 5
					n = Estratto(k + a,r,e)
					esatti = esatti + ControllaFormazione(n,totNum)
				Next
				If esatti >= Sorte Then
					fr = fr + Combinazioni(esatti,Sorte)
				End If
			Next
		Next
		If fr < FreqMin Then 
			Verifica =  False
			Exit Function 
		End If
		k = k + Ciclo
	Next
	Verifica = True
End Function
Function ControllaFormazione(n,tot)
	Dim a
	For a = 1 To tot
		If Num(a) = n Then
			ControllaFormazione = 1
			Exit Function
		End If
	Next
	ControllaFormazione = 0
End Function




vecchio codice utile solo per studio a chi interessa

Codice:
'SCRIPT DI ESEMPIO PER TROVARE LE FORMAZIONI SUPERFREQUENTI
'LAVORA SOLO SU RUOTA SINGOLA O TUTTE
'PER RENDERLO COMPATIBILE CON ALTRI SOFTWARE E' SUFFICIENTE CAMBIARE ALCUNE ISTRUZIONI


'VARIABILI GLOBALI
public Freq(90) as integer
public Num(90) as integer
public DataIni, DataFin as integer
public Ciclo, TotCicli, Sorte, Ruota, FreqMin as integer
public R1, R2, R3, R4 as integer,ruota1,ruota2,ruota3,ruota4,fine


Sub Main()
    
    Ciclo = CINT(InputBox("Durata del ciclo",,10))
    TotCicli = CINT(InputBox("Cicli totali",,6))
    FreqMin = CINT(InputBox("Frequenze minime dei singoli numeri per ciclo",,2))
    Sorte = CINT(InputBox("Sorte di ricerca" + chr(13) + "1=estratto; 2=ambo; 3=terno; 4=quat; 5=cinq",,2))
    Ruota1 = CINT(InputBox("Ruota di ricerca 1" + chr(13) + "1=BA...10=VE; 11=NAZ; 12=TUTTE",,4))
    Ruota2 = CINT(InputBox("Ruota di ricerca 2" + chr(13) + "1=BA...10=VE; 11=NAZ; 12=TUTTE",,5))
    Ruota3 = CINT(InputBox("Ruota di ricerca 3" + chr(13) + "1=BA...10=VE; 11=NAZ; 12=TUTTE",,9))
    Ruota4 = CINT(InputBox("Ruota di ricerca 4" + chr(13) + "1=BA...10=VE; 11=NAZ; 12=TUTTE",,10))
    fine = inputbox("Estrazione finale",,Estrazione.Ultima)
    
    if Ruota <> 12 then
        R1 = Ruota1
        R2 = Ruota2
        R3 = Ruota3
        R4 = Ruota4
    else
        R1 = 1
        R2 = 10
    end if
    
  
    DataFin= fine
    DataIni = DataFin-(Ciclo*TotCicli)
    
    CalcolaFrequenze()
    OrdinaFrequenze()
    
    TrovaFormazione()
    
End Sub


Sub CalcolaFrequenze()
    
    dim a,e,n,r as integer
    
    for a = DataIni to DataFin
        for r = R1 to R2
            for e = 1 to 5
                n = Estratti.Numero(a,r,e)
                Freq(n) = Freq(n)+1
            next        
        next
    next
    
    
End Sub

Sub OrdinaFrequenze()
    
    dim a,b,k as integer
    
    for a = 1 to 90
        Num(a) = a
    next
    
    for a = 1 to 89
        for b = a+1 to 90
            if Freq(a) < Freq(b) Then
                k = Freq(a)
                Freq(a) = Freq(b)
                Freq(b) = k
                k = Num(a)
                Num(a) = Num(b)
                Num(b) = k       
            end if
        next
    next
    
    
End Sub

Sub TrovaFormazione()
    
    dim t as integer
    dim numForm() as integer
    dim numRichiesti as integer=0
    
    for t = 1 to 90
        redim numForm(90)
        if Verifica(t) = true Then
            numRichiesti = t
            exit for
        end if
    next
    
    dim strNum as string = ""
    for t = 1 to numRichiesti
        strNum = strNum & Num(t) & "."
    next    
    if Right(strNum,1) = "." then strNum = Left(strNum,Len(strNum)-1)
    
    Testo.Out("SuperFrequenze")
    Testo.Out
    Testo.Out("Data iniziale: " & Estrazione.Data(DataFin-(Ciclo*TotCicli)))
    Testo.Out("Data finale:   " & Estrazione.Data(DataFin))
    Testo.Out("Ruota/e: " & SiglaRuota(R1)&"-"& siglaruota(r2)&"-"& siglaruota(r3)&"-"& siglaruota(r4))
    Testo.Out("Durata ciclo: " & Ciclo)
    Testo.Out("Cicli totali: " & TotCicli)
    Testo.Out("Frequenze min. dei singoli numeri per ciclo: " & FreqMin)
    Testo.Out("Sorte di ricerca: " & SorteTestuale(Sorte))
    Testo.Out
    Testo.Out("Formazione trovata (" & numRichiesti & " NR):",_GRASSETTO)
    Testo.TitoloH2(strNum,_ROSSO)
    
End Sub

Function Verifica(totNum as integer) as boolean
    
    dim a,b,c,e,n,k,r as integer
    dim esatti as integer
    dim fr as integer
    
    k = DataIni
    for c = 1 to TotCicli
        fr = 0
        for r=R1 to R4
            for a = 0 to (Ciclo-1)
                esatti = 0
                for e = 1 to 5
                    n = Estratti.Numero(k+a,r,e)
                    esatti = esatti + ControllaFormazione(n,totNum)
                next
                if esatti >= Sorte then 
                    fr = fr + Combinazioni(esatti,Sorte)
                end if
            next
        Next
        if fr < FreqMin then return false
        k = k + Ciclo
    next
    
    return true
    
End Function


Function ControllaFormazione(n as integer, tot as integer) as integer
    
    dim a as integer
    
    for a = 1 to tot
        if Num(a) = n then return 1
    next
    
    return 0
    
End Function
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 18 novembre 2025
    Bari
    07
    35
    82
    62
    16
    Cagliari
    60
    42
    25
    31
    51
    Firenze
    48
    36
    03
    35
    25
    Genova
    17
    57
    09
    66
    85
    Milano
    69
    78
    37
    85
    16
    Napoli
    08
    27
    17
    26
    68
    Palermo
    24
    77
    19
    79
    45
    Roma
    45
    14
    27
    21
    07
    Torino
    27
    51
    35
    76
    63
    Venezia
    52
    05
    46
    10
    53
    Nazionale
    23
    69
    01
    02
    38
    Estrazione Simbolotto
    Torino
    24
    44
    23
    21
    02
Indietro
Alto