Caro Giorgio,
data la facilità e velocità di trovarti in questo forum mi rivolgo a te perchè in passato ti sei occupato dell'argomento e sai a cosa mi riferisco.
Lo script che segue fu fatto da Gaspare per aggiornarmi l'archivio dinamico:
'Rif. 0901_40b Garga funzione PdR(aggiornamento archivio)
Sub main()
r1=1 '<== imposta la prima ruota. LS cicla da questa fino alla ruota r2
r2=12 '<== ultima ruota. LS cicla fino a questa.
'in questo esempio cicla da BA a NZ
ini=EstrazioneFin
'Scrivi " QUADRO ESTESO DEGLI ESTRATTI" &chr(10) ,1
'--------------------------------------------------------------------
'Scrivi "DATA ESTR "& " |",1,0
'For r=r1 To r2 '<== Imposta la ruota
'If r=11 Then r=12
'Scrivi FormatSpace(SiglaRuota(r),15),1,0
'For p= 1 To 5
'If p=5 Then Scrivi "|",0,0
'If r= r2 And p= 5 Then Scrivi "",1,1
'Next
'Next
'For es= ini To EstrazioneFin
'Scrivi DataEstrazione(es)& " |",0,0
'For r=r1 To r2 '<== Imposta la ruota
'If r=11 Then r=12
'For p= 1 To 5
'n=Estratto(es,r,p)
'Scrivi FormatSpace(n,2,1)& " ",0,0
'If p=5 Then Scrivi "|",0,0
'If r= r2 And p=5 Then Scrivi "",0,1
'Next
'Next
'Next
'Scrivi
'---------------------------------------------------
'Scrivi " QUADRO ESTESO DELLE POSIZIONI di RITARDO (all'es precedente) dei numeri sortiti" &chr(10) ,1
'Scrivi "DATA ESTR "& " |",1,0
For r=r1 To r2
If r=11 Then r=12
'Scrivi FormatSpace(SiglaRuota(r),15),1,0
'For p= 1 To 5
'If p=5 Then Scrivi "|",0,0
If r= r2 And p= 5 Then Scrivi "",1,1
'Next
Next
For es= ini To EstrazioneFin
esp=es-1
Scrivi DataEstrazione(es)& ".",0,0
For r=r1 To r2
If r=11 Then r=12
Messaggio es & " "& SiglaRuota(r)
For p= 1 To 5
n=Estratto(es,r,p)
Scrivi FormatSpace(PdR(esp,r,n),2,1)& ".",0,0
'Scrivi Format2(PdR(esp,r,n),2,1)& ".",0,0
'If p=5 Then Scrivi ".",0,0
If r= r2 And p=5 Then Scrivi "",0,1
Next
Next
Next
End Sub
Function PdR(e,r,n)
ru=r : co=91 :c=0 : Redim vett(0)
Do While co >1
For es=e To fin-500 step-1
For q= 5 To 1 step -1
x=0
For i= 0 To c
If Estratto(es,ru,q) = vett(i) Then x=x+1
Next
If x=0 Then
co=co-1
c=c+1
Redim preserve vett(c)
vett(c)=Estratto(es,ru,q)
If Estratto(es,ru,q)=n Then ' <=== NOTA: se la funzione elabora una posizione uguale a quella
PdR=co '"richiamata dallo script", assegna a NPR il numero in esame
Exit Do ' interrompe l'esecuzione del Ciclo Do..
End If
End If
Next
Next
Loop
End Function
Il risultato di questo script ad esempio dopo l'ultimo concorso è questo:
<<13.11.2014. 7.80.60.24.43.57.45.47.75.16.64.50.41.55. 3.69.17.31.28.65.55.30.88.29.87.84.38.15.90.65.17.57.80.71.52.46. 4.32.20.65.86.71.55.20.21.59.61.16.12.87.45. 8.82. 7.42.>>
A me invece servirebbe in quest'altra forma:
<<13-11-201407806024435745477516645041550369173128655530882987843815906517578071524604322065867155202159611612874508820742>>
In questo modo mi sarebbe di più immediata lettura per alcuni miei programmi.
Ho provato da solo a fare alcune modifiche ma ci sono riuscito solo parzialmente e non so bene se è affidabile, pertanto chiedo aiuto a te e naturalmente a chiunque voglia aiutarmi.
Spero di essere riuscito nella trasmissione dello script sul forum.
Grazie a tutti anticipatamente e buona domenica,
Matteo
data la facilità e velocità di trovarti in questo forum mi rivolgo a te perchè in passato ti sei occupato dell'argomento e sai a cosa mi riferisco.
Lo script che segue fu fatto da Gaspare per aggiornarmi l'archivio dinamico:
'Rif. 0901_40b Garga funzione PdR(aggiornamento archivio)
Sub main()
r1=1 '<== imposta la prima ruota. LS cicla da questa fino alla ruota r2
r2=12 '<== ultima ruota. LS cicla fino a questa.
'in questo esempio cicla da BA a NZ
ini=EstrazioneFin
'Scrivi " QUADRO ESTESO DEGLI ESTRATTI" &chr(10) ,1
'--------------------------------------------------------------------
'Scrivi "DATA ESTR "& " |",1,0
'For r=r1 To r2 '<== Imposta la ruota
'If r=11 Then r=12
'Scrivi FormatSpace(SiglaRuota(r),15),1,0
'For p= 1 To 5
'If p=5 Then Scrivi "|",0,0
'If r= r2 And p= 5 Then Scrivi "",1,1
'Next
'Next
'For es= ini To EstrazioneFin
'Scrivi DataEstrazione(es)& " |",0,0
'For r=r1 To r2 '<== Imposta la ruota
'If r=11 Then r=12
'For p= 1 To 5
'n=Estratto(es,r,p)
'Scrivi FormatSpace(n,2,1)& " ",0,0
'If p=5 Then Scrivi "|",0,0
'If r= r2 And p=5 Then Scrivi "",0,1
'Next
'Next
'Next
'Scrivi
'---------------------------------------------------
'Scrivi " QUADRO ESTESO DELLE POSIZIONI di RITARDO (all'es precedente) dei numeri sortiti" &chr(10) ,1
'Scrivi "DATA ESTR "& " |",1,0
For r=r1 To r2
If r=11 Then r=12
'Scrivi FormatSpace(SiglaRuota(r),15),1,0
'For p= 1 To 5
'If p=5 Then Scrivi "|",0,0
If r= r2 And p= 5 Then Scrivi "",1,1
'Next
Next
For es= ini To EstrazioneFin
esp=es-1
Scrivi DataEstrazione(es)& ".",0,0
For r=r1 To r2
If r=11 Then r=12
Messaggio es & " "& SiglaRuota(r)
For p= 1 To 5
n=Estratto(es,r,p)
Scrivi FormatSpace(PdR(esp,r,n),2,1)& ".",0,0
'Scrivi Format2(PdR(esp,r,n),2,1)& ".",0,0
'If p=5 Then Scrivi ".",0,0
If r= r2 And p=5 Then Scrivi "",0,1
Next
Next
Next
End Sub
Function PdR(e,r,n)
ru=r : co=91 :c=0 : Redim vett(0)
Do While co >1
For es=e To fin-500 step-1
For q= 5 To 1 step -1
x=0
For i= 0 To c
If Estratto(es,ru,q) = vett(i) Then x=x+1
Next
If x=0 Then
co=co-1
c=c+1
Redim preserve vett(c)
vett(c)=Estratto(es,ru,q)
If Estratto(es,ru,q)=n Then ' <=== NOTA: se la funzione elabora una posizione uguale a quella
PdR=co '"richiamata dallo script", assegna a NPR il numero in esame
Exit Do ' interrompe l'esecuzione del Ciclo Do..
End If
End If
Next
Next
Loop
End Function
Il risultato di questo script ad esempio dopo l'ultimo concorso è questo:
<<13.11.2014. 7.80.60.24.43.57.45.47.75.16.64.50.41.55. 3.69.17.31.28.65.55.30.88.29.87.84.38.15.90.65.17.57.80.71.52.46. 4.32.20.65.86.71.55.20.21.59.61.16.12.87.45. 8.82. 7.42.>>
A me invece servirebbe in quest'altra forma:
<<13-11-201407806024435745477516645041550369173128655530882987843815906517578071524604322065867155202159611612874508820742>>
In questo modo mi sarebbe di più immediata lettura per alcuni miei programmi.
Ho provato da solo a fare alcune modifiche ma ci sono riuscito solo parzialmente e non so bene se è affidabile, pertanto chiedo aiuto a te e naturalmente a chiunque voglia aiutarmi.
Spero di essere riuscito nella trasmissione dello script sul forum.
Grazie a tutti anticipatamente e buona domenica,
Matteo