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
    sabato 03 maggio 2025
    Bari
    31
    33
    53
    57
    73
    Cagliari
    40
    20
    72
    19
    16
    Firenze
    71
    44
    61
    70
    46
    Genova
    50
    36
    59
    25
    46
    Milano
    70
    85
    38
    83
    01
    Napoli
    28
    55
    58
    48
    24
    Palermo
    14
    62
    40
    12
    53
    Roma
    65
    36
    39
    57
    25
    Torino
    27
    43
    66
    22
    34
    Venezia
    09
    45
    58
    90
    66
    Nazionale
    68
    89
    14
    39
    25
    Estrazione Simbolotto
    Milano
    34
    02
    32
    09
    07
Indietro
Alto