Option Explicit
Sub Main
Dim sFileMatrice,sDirMatrici,k,nScelti
Dim nNumInGioco , nClasse , nGaranzia
sDirMatrici = "c:\temp\"
sFileMatrice = ScegliMatrice(sDirMatrici)
nNumInGioco = 0
If FileEsistente(sFileMatrice) Then
ReDim aRighe(0)
Call LeggiRigheFileDiTesto(sFileMatrice,aRighe)
If GetQNumClasseGar (aRighe , nNumInGioco , nClasse , nGaranzia ) Then
ReDim aNum(0)
MsgBox "Selezionare nella finestra seguente precisamente " & nNumInGioco & " numeri",vbInformation
nScelti = ScegliNumeri(aNum)
Do While nScelti <> nNumInGioco
If MsgBox("Il sistema prevede " & nNumInGioco & " numeri sono stati scelti " & nScelti & " numeri , riproporre la selezione dei numeri ?",vbQuestion + vbYesNo) = vbNo Then
Exit Do
End If
nScelti = ScegliNumeri(aNum)
Loop
If nScelti = nNumInGioco Then
Call Scrivi("Numeri in gioco " & nNumInGioco)
Call Scrivi("Classe " & nClasse)
Call Scrivi("Garanzia " & nGaranzia )
Call Scrivi
For k = 0 To UBound(aRighe)
'Call Scrivi(aRighe(k))
If IsRigaSoloNumeri(aRighe(k)) Then
ReDim aNumColonna(0)
Call ConvertiColonna(aNum,aRighe(k),aNumColonna)
'Call Scrivi(aRighe(k) ,True)
Call Scrivi(StringaNumeri(aNumColonna,,True))
End If
Next
Scrivi sFileMatrice
End If
End If
End If
End Sub
Function ScegliMatrice(sDir)
Dim i
ReDim aV(0)
Call ElencoFileInDirectory(sDir,aV,".html")
i = ScegliOpzioneMenu(aV,,"Scegli matrice")
ScegliMatrice = sDir & aV(i) & ".html"
End Function
Function GetQNumClasseGar(aRighe , nQ , nC , nG)
Dim k, i, ii, sTmp
nQ = 0
nC = 0
nG = 0
For k = 0 To UBound(aRighe)
i = InStr(1, aRighe(k), "v=", vbTextCompare)
If i > 0 Then
ii = InStr(i, aRighe(k), ",", vbTextCompare)
If ii > 0 Then
sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
nQ = Int(sTmp)
End If
End If
i = InStr(1, aRighe(k), "k=", vbTextCompare)
If i > 0 Then
ii = InStr(i, aRighe(k), ",", vbTextCompare)
If ii > 0 Then
sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
nC = Int(sTmp)
End If
End If
i = InStr(1, aRighe(k), "t=", vbTextCompare)
If i > 0 Then
ii = InStr(i, aRighe(k), "<", vbTextCompare)
If ii > 0 Then
sTmp = Mid(aRighe(k), i + 2, ii - (i + 2))
nG = Int(sTmp)
End If
End If
Next
If nQ > 0 And nC > 0 And nG > 0 Then
GetQNumClasseGar = True
Else
GetQNumClasseGar = False
End If
End Function
Function IsRigaSoloNumeri(sRiga)
Dim k
Dim bRet
bRet = True
If sRiga <> "" Then
For k = 1 To Len(sRiga)
If Mid(sRiga,k,1) <> " " Then
If IsNumeric(Mid(sRiga,k,1)) = False Then
bRet = False
Exit For
End If
End If
Next
IsRigaSoloNumeri = bRet
End If
End Function
Sub ConvertiColonna(aNum,sRiga,aNumColonna)
Dim i,k,nClasse
ReDim aV(0)
sRiga = Trim(sRiga)
i = InStr(sRiga," ")
Do While i > 0
sRiga = Replace(sRiga," "," ")
i = InStr(sRiga," ")
Loop
Call SplitByChar("0 " & sRiga," ",aV)
nClasse = UBound(aV)
ReDim aNumColonna(nClasse)
For k = 1 To nClasse
aNumColonna(k) = aNum(Int(aV(k)))
Next
End Sub