lo script mi da questo errore :
Errore script
13 non corrispondente x
Linea 113
Colonna 12
Source errore di run time microsoft vbasicscript
Errore script
13 non corrispondente x
Linea 113
Colonna 12
Source errore di run time microsoft vbasicscript
Codice:
Sub Main()
'0903_22a Rosanna x Genios matrici 5 storici
'Analizzare tutti i 3060 gruppi di 4 cinquine di num consecutivi
'Ricercare i max rit storici su ciascuna ruota
'Visualizzare i ritardi dei gruppi più 'attualmente' più in ritardo x ciascuna ruota,
' (con il dettaglio del gruppo e il suo max storico registrato a ruota)
ini = 3950 'inizio calcolo ritardi
fin = EstrazioneFin' fine calcolo dei ritardi e dei max storici
If fin < 7440 Then ruote = 10 Else ruote = 11
Dim Base(5,86) ' contiene le 86 cinquine di numeri consecutivi
Dim baserit(12,18) ' contiene i ritardi delle 18 cinquine per ciascuna ruota
Dim penta(5) ' vettore per il calcolo del rit di ciascuna CINQUINA_
Dim temp(18,2) ' vettore in cui memorizzo ritardo e colonna di ogni CINQUINA di ogni ruota per max temporaneo
Dim temp1(4) ' serve a comporre i gruppi di 4 cinquine consecutive
Dim temp2(4) ' serve a caricare i rit parziali (di ogni ciqnuina) per rilevare il rit minimo del gruppo
Dim num(5,4) ' contiene una singola matrice - serve a calcolare ritardi e storici
Dim gruppi(3060,5,4) ' contiene tutti i gruppi di 4 cinquine di numeri consecutivi
Dim ru(1) ' ruota di riferimento per i ritardi e storici
Dim max(12,2) ' vettore con i massimi ritardi : RitAttuali indici gruppi
Dim sto(12,5) ' vettore degli storici: Sto - 4 Colonne delle cinquine del gruppo col max sto
Messaggio "Elaborazione in corso - Attendere "
'----------------------preparo la matrice base con le 18 cinquine consecutive
For i = 1 To 86 Step 5
c = c + 1 : Base(1,c) = i
For y = 2 To 5 : Base(y,c) = Base(y - 1,c) + 1 : Next
Next
ColoreTesto 2:
Scrivi Space(4) & "BASE DATI ",1
ScriviMatrice Base : ColoreTesto 0' per vedere le cinquine
'--------------------- Calcolo dei max storici
For es = ini + 1 To fin
'Messaggio es ' <== per vedere l'esecuzione del listato ma rallenta l'esecuzione!
For i = 1 To 18 ' in questo blocco calcola/memorizza il rit di ogni cinquina
For y = 1 To 5 : penta(Y) = Base(y,i) : Next
For r = 1 To ruote :If r = 11 Then r = 12
ru(1) = r
baserit(r,i) = SerieRitardo(ini,es,penta,ru,2)
Next
Next
'ColoreTesto 1 : ScriviMatrice baserit : ColoreTesto 0 ' verifica
For r = 1 To ruote :If r = 11 Then r = 12
For i = 1 To 18
temp(i,1) = baserit(r,i) ' carico il ritardo della cinquina
temp(i,2) = i ' carico la colonna - riferimento della cinquina
Next
OrdinaMatrice temp,- 1,1
If temp(4,1) > sto(r,1) Then
sto(r,1) = temp(4,1) ' il 4° valore in classifica è il minimo dei massimi Rit cioè il rit del gruppo
'For i= 1 To 4
' sto(r,i+1)=temp(i,2) 'memorizzo le colonne delle cinquine (casomai dovessi dire qual'è il gruppo)
'Next
End If
Next
Next
'NB: al termine del precedente blocco di istruzioni, su baserit restano i ritardi a "fin"
'------------------------- procedura per la creazione di tutti i gruppi e il rit attuale
For a1 = 1 To 15
For a2 = a1 + 1 To 16
For a3 = a2 + 1 To 17
For a4 = a3 + 1 To 18
co = co + 1
temp1(1) = a1 : temp1(2) = a2 : temp1(3) = a3 : temp1(4) = a4 'gestisco lo sviluppo dei gruppi
'------------------------------------
For y = 1 To 5 'righe
For i = 1 To 4 ' colonne
gruppi(co,y,i) = Base(y,temp1(i)) 'memorizzo i dati sulla maxi-matrice gruppi
Next
Next
'-----------------------------------
For r = 1 To ruote :If r = 11 Then r = 12
ru(1) = r
For i = 1 To 4 : temp2(i) = baserit(r,temp1(i)) : Next
k1 = MinimoV(temp2) ' il valore minimo tra i 4 ritardi è il rit del gruppo
If k1 = max(r,1) Then max(r,2) = max(r,2) & "." & co ' in caso di pari ritardo memorizzo il gruppo
If k1 > max(r,1) Then max(r,1) = k1: max(r,2) = co ' aggiorno il max e memor il gruppo
Next
Next
Next
Next
Next
'----------------------Output finale
Scrivi " RIEPILOGO DEI GRUPPI DI 4 CINQUINE DI NUMERI CONSECUTIVI CON MAGGIOR RITARDO ALL'ES " & FIN,1
Scrivi " (StoGen = max sto raggiunto da un qualsiasi gruppo dei 3060 disponibili)"
Scrivi " (RitAtt = Ritardo del/i gruppo/i attualmente più in ritardo Tra i 3060 disponibili)"
Scrivi " (Id_gruppo/i = Codice identificativo dei gruppi attualmente più in ritardo)" & Chr(10)
Scrivi " Ru - StoGen - R.Att - Id_gruppo/i ",1
For r = 1 To ruote : If r = 11 Then r = 12
ColoreTesto 1
Scrivi " " & SiglaRuota(r) & Space(2) & FormatSpace(sto(r,1),4,1) & Space(6) & max(r,1) & Space(7) & max(r,2)
ColoreTesto 0
Next
Scrivi : Scrivi "Segue dettaglio dei gruppi più in ritardo (nb: leggere le cinquine in colonna)" & Chr(10),1
For r = 1 To ruote: If r = 11 Then r = 12
ru(1) = r
a = "0." & max(r,2)
aa = Split(a,".")
For g = 1 To UBound(aa) ' scorro il vettore che contiene gli indici splittati
x = aa(g) ' memorizzo l'indice e tramite questo pesco il gruppo di 4 cinquine col max rit attuale
For y = 1 To 5 ' righe
For i = 1 To 4 ' colonne
num(y,i) = gruppi(x,y,i)
Next
Next
k2 = SerieStorico(ini,fin,num,ru,2) ' calcolo lo storico del gruppo su quella ruota
Scrivi SiglaRuota(r) & " Gruppo " & x & " (il suo max sto su " & SiglaRuota(r) & " => " & k2 & ")",1
Scrivi Space(10) & ScriviMatrice(num)
Scrivi String(67,"-")
Next
Next
End Sub