Buonasera LuigiB, gironzolando in internet ho trovato questo suo script datato aprile 2011 riguardante, se ho capito bene, i cicli reali di numeri capogioco.
Purtroppo eseguendolo mi da' errori del tipo: 1017 - era atteso ' THEN ' oppure era atteso ' ) ' .
Queste istruzioni sono presenti nello script e non capisco perche' non vengono lette.
Inoltre ci sono alcune istruzioni e alcune variabili che non si "colorano" indicando forse altri errori.
La versione di SPMT e' la 1.6.31 e il S.O. e' Xp.
Grazie in anticipo per il tempo che vorra' dedicarmi.
Purtroppo eseguendolo mi da' errori del tipo: 1017 - era atteso ' THEN ' oppure era atteso ' ) ' .
Queste istruzioni sono presenti nello script e non capisco perche' non vengono lette.
Inoltre ci sono alcune istruzioni e alcune variabili che non si "colorano" indicando forse altri errori.
La versione di SPMT e' la 1.6.31 e il S.O. e' Xp.
Grazie in anticipo per il tempo che vorra' dedicarmi.
Codice:
Option Explicit
Class clsAmbo
Public abNum(90)
Public aNum(2)
Public Capogioco
Public nCicliDaCalc
Public PresPerCicliPratici
Public PresenzeAttuali
Sub InitCicliDaCalc(nCicliDaCalc)
Dim k
PresenzeAttuali = 0
ReDim PresPerCicliPratici(nCicliDaCalc)
For k = 0 To nCicliDaCalc
PresPerCicliPratici(k) = 0
Next
End Sub
Sub SetAmbo(n1,n2)
abNum(n1) = True
abNum(n2) = True
If n1 < n2 Then
aNum(1) = n1
aNum(2) = n2
Else
aNum(1) = n2
aNum(2) = n1
End If
End Sub
Function GetNumeriString
GetNumeriString = Format2(aNum(1)) & "." & Format2(aNum(2))
End Function
Function GetSommaPresenze
Dim t
Dim k
For k = 1 To UBound(PresPerCicliPratici)
t = t + PresPerCicliPratici(k)
Next
GetSommaPresenze = t
End Function
End Class
Sub Main
Dim CollAmbi
Dim clsA
Dim nCapogioco
Dim aRuote,abRuote
Dim nRuoteSel
Dim nInizioRangeAnalisi
Dim nFineRangeAnalisi
Dim nInizioTmp
Dim retInizioCiclo,retFineCicloDim aLimitiCicli
Dim k,j
Dim nCicliTrovati
Dim nNumScelti
' attenzione il range analizzato parte dall'estrazione del 14/9/1946 fino all'estrazione corrrentemente impostata
' come limite superiore nel range del programma
nInizioRangeAnalisi = DataEstrToIdEstr(14,9,1946)
nFineRangeAnalisi = EstrazioneFin
'nCapogioco = InputBox("Inserire un numero per il capogioco","Capogioco",1)
ReDim aNumeri(0)
nNumScelti = ScegliNumeri(aNumeri)
nRuoteSel = ScegliRuote(aRuote,abRuote)
Call GestioneAutomaticaRuotaTutte(aRuote,abRuote,nRuote Sel)
If nCapogioco <> "" Then nCapogioco = CInt(nCapogioco)
If nRuoteSel > 0 And nNumScelti > 0 Then
Call Scrivi("Inizio analisi " & GetInfoEstrazione(nInizioRangeAnalisi))
Call Scrivi("Fine analisi " & GetInfoEstrazione(nFineRangeAnalisi))
Call Scrivi
Set CollAmbi = GetNewCollection
For j = 1 To nNumScelti
nCapogioco = aNumeri(j)
nCicliTrovati = 0
ReDim aLimitiCicliMin(nCicliTrovati)
ReDim aLimitiCicliMax(nCicliTrovati)
Call AlimentaCollAmbi(CollAmbi,nCapogioco)
nInizioTmp = nInizioRangeAnalisi
retInizioCiclo = 0
retFineCiclo = 0
Do While CalcolaCicloPratico(nInizioTmp,retInizioCiclo,retF ineCiclo,nCapogioco,abRuote,nFineRangeAnalisi)
nCicliTrovati = nCicliTrovati + 1
ReDim Preserve aLimitiCicliMin(nCicliTrovati)
ReDim Preserve aLimitiCicliMax(nCicliTrovati)
aLimitiCicliMin(nCicliTrovati) = retInizioCiclo
aLimitiCicliMax(nCicliTrovati) = retFineCiclo
nInizioTmp = retFineCiclo + 1
Loop
ReDim abCicliDaCalcolare(nCicliTrovati)
If ScegliCicliDaCalcolare(aLimitiCicliMin,aLimitiCicl iMax,abCicliDaCalcolare) Then
For Each clsA In CollAmbi
Call clsA.InitCicliDaCalc(nCicliTrovati)
Next
For k = 1 To nCicliTrovati
If abCicliDaCalcolare(k) Then
Call Messaggio("Conteggio presenze nel ciclo " & k & _
" estrazioni " & aLimitiCicliMin(k) & "/" & aLimitiCicliMax(k))
Call CalcolaPresenze(k,aLimitiCicliMin(k),aLimitiCicliM ax(k),CollAmbi,abRuote)
End If
Next
nInizioTmp = aLimitiCicliMax(nCicliTrovati) + 1
Call Messaggio("Conteggio presenze nel ciclo finale incompleto")
Call CalcolaPresenze(0,nInizioTmp,nFineRangeAnalisi,Col lAmbi,abRuote)
Call creaOutputRangeCicli(aLimitiCicliMin,aLimitiCicliM ax,nCapogioco,aRuote,nFineRangeAnalisi)
End If
Next
Call CreaOutputPresenzeAmbi(CollAmbi,abCicliDaCalcolare )
End If
End Sub
Function ScegliCicliDaCalcolare(aLimitiCicliMin,aLimitiCicl iMax,abCicliDaCalcolare)
Dim k
ReDim aVoci(UBound(abCicliDaCalcolare) - 1)
ReDim abSelected(UBound(abCicliDaCalcolare) - 1)
For k = 0 To UBound(aVoci)
aVoci(k) = "Ciclo " & FormatSpace(k + 1,4,True) & " da " & FormatSpace(aLimitiCicliMin(k + 1),5,2) & " a " & FormatSpace(aLimitiCicliMax(k + 1),5,2)
Next
If ScegliDaLista(aVoci,abSelected,"Scegli i cicli da analizzare") > 0 Then
For k = 0 To UBoun