R
Roby
Guest
x gli artisti degli script
Vorrei un aiuto per modificare lo script, seguente di Luigi in modo che invece di discrivere le righe in ordine crescente di data le scriva in ordine decrescente ed nell'aggiornamento le inserisca allo stesso modo?
-------------------------------------------------
Sub Main
Dim sDirDestinazione
Dim idEstr
Dim CG ' capogioco
Dim R ' ruota
Dim Apertura,Chiusura,Max,Min,DataEst
Dim sRecord
Dim sFile
Dim sRuota
Dim EstrPartenza
Dim EstrazioniTot
Dim PrimaEstrazioneDellaStatistica
sDirDestinazione = ScegliDirectory
EstrazioniTot = EstrazioniArchivio
PrimaEstrazioneDellaStatistica = 1514 ' 1514 è l'estrazione del 06/01/1900 la statistica parte dalla prima estrazione del 1900 ;6878 ' 03.01.2000'
' modificare questo valore se si vuole far partire la statistica da una posizione diversa
' lo script legge i file output se essi sono presenti
' ed esegue la statistica a partire dall'ultima estrazione non presente fino all'ultima disponibile in archivio
' in pratica devi solo lanciare lo script,dopo la prima volta che gira le altre volte
' l'esecuzione sara velocissima perche calcolera solo i valori relativi alle ultime estrazioni
If sDirDestinazione <> "" Then
If CreaDirectoryRuote(sDirDestinazione) Then
For R = 1 To 10
sRuota = NomeRuota(R)
For CG = 1 To 90
EstrPartenza = PrimaEstrazioneDellaStatistica
'sFile = sDirDestinazione & sRuota & "" & sRuota & Format2(CG) & ".txt" 'modifica
sFile = sDirDestinazione & sRuota & "" & Format2(CG) & ".txt" 'modifica
Call PreimpostaValori(Apertura,Chiusura,Min,Max,sFile,EstrPartenza)
If EstrPartenza > 0 Then
For idEstr = EstrPartenza + 1 To EstrazioniTot
Call Messaggio(sRuota & " " & idEstr & " Capogioco " & Format2(CG))
Apertura = Chiusura
Chiusura = GetSommaRitardi(idEstr,R,CG)
Max = GetValoreMax(Chiusura,Apertura)
Min = GetValoreMin(Chiusura,Apertura)
' DataEst = Anno(idEstr) & "/" & Mese(idEstr) & "/" & giorno(idEstr) formattazione anno/mese/giorno
DataEst = giorno(idEstr) & "/" & Mese(idEstr) & "/" & Anno(idEstr) 'formattazione 'giorno/ mese/ anno
sRecord = DataEst & "," & Apertura & "," & Max & "," & Min & "," & Chiusura
Call ScriviFile(sFile,sRecord)
If ScriptInterrotto Then Exit For
Next
End If
If ScriptInterrotto Then Exit For
Call AvanzamentoElab(1,90,CG)
Next ' For CG = 1 To 90...
If ScriptInterrotto Then Exit For
Next
End If
End If ' If sDirDestinazione <> "" Then...
Call Scrivi("Nella directory ")
Call Scrivi(sDirDestinazione)
Call Scrivi("sono stati creati gli output in formato testo")
MsgBox "Fine"
End Sub
Function GetSommaRitardi(Estrazione,Ruota,CapoGioco)
Dim idEstr
Dim k
Dim R
For k = 1 To 90
If k <> CapoGioco Then
R = R + AmboRitardo(Ruota,CapoGioco,k,1,Estrazione)
End If
DoEventsEx
Next
GetSommaRitardi = R
End Function
Function GetValoreMax(Chiusura,Apertura)
' - a - valore Massimo è uguale alla Chiusura quando la Chiusura è maggiore dell'apertura
' - b - valore Massimo è uguale all'apertura quando la chiusura è minore della apertura
If Chiusura >= Apertura Then
GetValoreMax = Chiusura
Else
GetValoreMax = Apertura
End If
End Function
Function GetValoreMin(Chiusura,Apertura)
' valore Minimo è uguale alla Chiusura quando la Chiusura è minore dell'apertura
' valore Minimo è uguale all'apertura quando la chiusura è maggiore dell'apertura
If Chiusura <= Apertura Then
GetValoreMin = Chiusura
Else
GetValoreMin = Apertura
End If
End Function
Sub PreimpostaValori(Apertura,Chiusura,Min,Max,sFile,EstrPartenza)
ReDim aRighe(0)
Dim sData
If LeggiRigheFileDiTesto(sFile,aRighe) Then
' leggo l'ultima riga del file
ReDim aV(0)
Call SplitByChar(aRighe(UBound(aRighe)),",",aV) ' sc
Vorrei un aiuto per modificare lo script, seguente di Luigi in modo che invece di discrivere le righe in ordine crescente di data le scriva in ordine decrescente ed nell'aggiornamento le inserisca allo stesso modo?
-------------------------------------------------
Sub Main
Dim sDirDestinazione
Dim idEstr
Dim CG ' capogioco
Dim R ' ruota
Dim Apertura,Chiusura,Max,Min,DataEst
Dim sRecord
Dim sFile
Dim sRuota
Dim EstrPartenza
Dim EstrazioniTot
Dim PrimaEstrazioneDellaStatistica
sDirDestinazione = ScegliDirectory
EstrazioniTot = EstrazioniArchivio
PrimaEstrazioneDellaStatistica = 1514 ' 1514 è l'estrazione del 06/01/1900 la statistica parte dalla prima estrazione del 1900 ;6878 ' 03.01.2000'
' modificare questo valore se si vuole far partire la statistica da una posizione diversa
' lo script legge i file output se essi sono presenti
' ed esegue la statistica a partire dall'ultima estrazione non presente fino all'ultima disponibile in archivio
' in pratica devi solo lanciare lo script,dopo la prima volta che gira le altre volte
' l'esecuzione sara velocissima perche calcolera solo i valori relativi alle ultime estrazioni
If sDirDestinazione <> "" Then
If CreaDirectoryRuote(sDirDestinazione) Then
For R = 1 To 10
sRuota = NomeRuota(R)
For CG = 1 To 90
EstrPartenza = PrimaEstrazioneDellaStatistica
'sFile = sDirDestinazione & sRuota & "" & sRuota & Format2(CG) & ".txt" 'modifica
sFile = sDirDestinazione & sRuota & "" & Format2(CG) & ".txt" 'modifica
Call PreimpostaValori(Apertura,Chiusura,Min,Max,sFile,EstrPartenza)
If EstrPartenza > 0 Then
For idEstr = EstrPartenza + 1 To EstrazioniTot
Call Messaggio(sRuota & " " & idEstr & " Capogioco " & Format2(CG))
Apertura = Chiusura
Chiusura = GetSommaRitardi(idEstr,R,CG)
Max = GetValoreMax(Chiusura,Apertura)
Min = GetValoreMin(Chiusura,Apertura)
' DataEst = Anno(idEstr) & "/" & Mese(idEstr) & "/" & giorno(idEstr) formattazione anno/mese/giorno
DataEst = giorno(idEstr) & "/" & Mese(idEstr) & "/" & Anno(idEstr) 'formattazione 'giorno/ mese/ anno
sRecord = DataEst & "," & Apertura & "," & Max & "," & Min & "," & Chiusura
Call ScriviFile(sFile,sRecord)
If ScriptInterrotto Then Exit For
Next
End If
If ScriptInterrotto Then Exit For
Call AvanzamentoElab(1,90,CG)
Next ' For CG = 1 To 90...
If ScriptInterrotto Then Exit For
Next
End If
End If ' If sDirDestinazione <> "" Then...
Call Scrivi("Nella directory ")
Call Scrivi(sDirDestinazione)
Call Scrivi("sono stati creati gli output in formato testo")
MsgBox "Fine"
End Sub
Function GetSommaRitardi(Estrazione,Ruota,CapoGioco)
Dim idEstr
Dim k
Dim R
For k = 1 To 90
If k <> CapoGioco Then
R = R + AmboRitardo(Ruota,CapoGioco,k,1,Estrazione)
End If
DoEventsEx
Next
GetSommaRitardi = R
End Function
Function GetValoreMax(Chiusura,Apertura)
' - a - valore Massimo è uguale alla Chiusura quando la Chiusura è maggiore dell'apertura
' - b - valore Massimo è uguale all'apertura quando la chiusura è minore della apertura
If Chiusura >= Apertura Then
GetValoreMax = Chiusura
Else
GetValoreMax = Apertura
End If
End Function
Function GetValoreMin(Chiusura,Apertura)
' valore Minimo è uguale alla Chiusura quando la Chiusura è minore dell'apertura
' valore Minimo è uguale all'apertura quando la chiusura è maggiore dell'apertura
If Chiusura <= Apertura Then
GetValoreMin = Chiusura
Else
GetValoreMin = Apertura
End If
End Function
Sub PreimpostaValori(Apertura,Chiusura,Min,Max,sFile,EstrPartenza)
ReDim aRighe(0)
Dim sData
If LeggiRigheFileDiTesto(sFile,aRighe) Then
' leggo l'ultima riga del file
ReDim aV(0)
Call SplitByChar(aRighe(UBound(aRighe)),",",aV) ' sc