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 20 giugno 2026
    Bari
    90
    24
    74
    14
    75
    Cagliari
    79
    37
    32
    44
    27
    Firenze
    07
    56
    79
    29
    44
    Genova
    17
    24
    43
    89
    22
    Milano
    69
    51
    28
    27
    70
    Napoli
    08
    75
    73
    35
    22
    Palermo
    58
    42
    78
    59
    09
    Roma
    88
    78
    84
    68
    53
    Torino
    61
    34
    65
    59
    27
    Venezia
    37
    23
    76
    89
    86
    Nazionale
    72
    18
    63
    22
    33
    Estrazione Simbolotto
    Napoli
    22
    29
    25
    24
    43

Ultimi Messaggi

Indietro
Alto