Option Explicit
Sub Main
'''''''''SERVE PRINCIPALMENTE per leggere filtro MatriceCInquine MillionDay-Lotto
'''''ma può leggere anche matrici fino alla decina
'''''--------------------------------------------------------
Dim sFileBd,Srecord,last,x,qt,t,cg,numeretto,hH,h,ts,tT,ct,K,z,quale
Dim file,record,lastult,selsom,tsd,tsp,Classe,riga,lb
''''file output dopo filtro Pilota
Scrivi "Script Adispo-1",1
sFileBd = "C:\temp\Matrice.txt"
Call LeggiRigheFileDiTesto(sFileBd,Srecord)
last = UBound(Srecord)
ColoreTesto(2)
Scrivi "Leggo combinazioni matrice ...." & last + 1,1
'''''''''''''''''''''''''''''''''''''''''
Classe = CInt(InputBox("Classe Matrice da 4-5-6-7-8-9-10-fino 20 ",,5))
selsom = InputBox("Filtra Somma D=dispari P=pari T=totale",,"T")
quale = CInt(InputBox("Somma Richiesta o Tutte = 0 ",,0))
Scrivi "Matrice - " & sFileBd,1
Scrivi "Matrice - classe " & Classe,1
Scrivi "Totale Combinazioni " & last + 1,1
Scrivi "Filtra Somma Numeretti D=Dispari P=Pari T=Totale (SCELTO O RICHIESTO..." & selsom,1
Scrivi "Somma Specifica Richiesta.O TUTTE = 0 ( " & quale & " )",1
Scrivi "La Matrice arriva fino alle VENTINE, i numeri devono essere divisi con 1 Punto e terminare senza spazi vuoti o punti",1
ColoreTesto(0)
'''loop per leggere file e calcolare combinazioni come da parametri filtro impostati
For x = 0 To last
Messaggio(x & "../.. " & last + 1)
'arrays decodifica
ReDim av(50)
riga = ""
lb =(Classe*2) +(Classe - 1)
riga = Left(Srecord(x),lb)
Call SplitByChar(riga,".",av)
qt = UBound(av)
ReDim NR(50)
'''compondo arrays per numeretti
hH = 0:ts = 0:tsp = 0:tsd = 0
For h = 0 To qt
hH = hH + 1
NR(hH) = Left(Format2(av(h)),1)
hH = hH + 1
NR(hH) = Right(Format2(av(h)),1)
'''' TOTALE
If selsom = "T" Or selsom = "t" Then
ts = ts + Int(av(h))
End If
Next
''''pari o dispari
If selsom = "D" Or selsom = "d" Or selsom = "T" Then
For K = 0 To qt*2 + 2
If dispari(K) = True Then
tsd = tsd + Int(NR(K))
End If
Next
End If
If selsom = "P" Or selsom = "p" Or selsom = "T" Then
For K = 0 To qt*2 + 2
If pari(K) = True Then
tsp = tsp + Int(NR(K))
End If
Next
End If
''''''CALCOLA SOMMA DISPARI O PARI O TOTALE
'''''
If selsom = "d" Or selsom = "D" Then
If quale = tsd Then
ct = ct + 1
Scrivi " Somma PosD." & Format2(tsd) & " " & riga
End If
cg = cg + 1
End If
If selsom = "P" Or selsom = "p" Or selsom = "T" Then
If quale = tsp Then
ct = ct + 1
Scrivi " Somma PosP." & Format2(tsp) & " " & riga
End If
cg = cg + 1
End If
If selsom = "T" Or selsom = "t" Then
Scrivi " Somma Tot." & FormattaStringa(ts,"0000") & " Somma PosD." & Format2(tsd) & " Somma PosP." & Format2(tsp) & " " & riga
ct = ct + 1
cg = cg + 1
End If
Next
Scrivi
Scrivi "Totale combinazioni elab." & x,1
Scrivi
Scrivi "Riepilogo combinazioni filtrate.." & ct,1
Scrivi
Scrivi "Tempo Elab." & TempoTrascorso
End Sub