Novità

Luigi..Help .Controllo su File di Txt

fillotto

Advanced Member >PLATINUM<
Ho fatto un file di testo con 7 colonne Col_1 indice annuale Col 2 data estraz e succsssive 5 c0l con i 5 num e 220 righe ,ogni campo è diviso da una ","
così come detto da Luigi in un vecchio postl'ho messo in : "C:\Users\Utente01\Desktop\PER SPAZIO\BA_mio_Txt.txt" con l'intento di controllare i ritardi
in questo archivio di fantasia utilizzando uno script di luigi che dovrebbe leggere i file di testo
STRALCIO del file di testo:
38,30.03.2010,90,57,56,89,18
39,01.04.2010,41,72,53,39,43
40,03.04.2010,55,67,15,50,69
41,06.04.2010,75,55,69,35,64
42,08.04.2010,11,20,64,47,4
...........................
99,18.08.2011,7 ,45,24,70,20
100,20.08.2011,19,61,49,60,28
101,23.08.2011,63,17,80,12,11
102,25.08.2011,23,30,24,54,73
Fatto girare lo script di sotto di cui ripeto l'intento è quello di avere un output dei numeri con relativo ritardo non ottengo il risultato voluto ma un messaggio
ModScriptArchivioTestApriBaseDatiFileDiTe.....
X 55-File alreaad openQUESTE ERANO LE RACCOMANDAZIONI DI LUIGI PER RAGGIUNGERE LO SCOPO:
ecco un esempio di script che lavora su un archivio definito dall'utente.
- Ho un file di testo contenente le estrazioni salvato in una directory qualsiasi

- Questo file contiene righe separate da un carattere separatore
che puo essere la virgola , il punto , il punto e virgola lo spazio ..quello che volete

- ogni riga del file di testo deve contenere separati dal carattere separatore 1)indice annuale estrazione (se non si sa lasciare a 0)
2) Data estrazione(se non si sa lasciare a 0 3) i numeri dell'estrazione.

- Nello script la prima funzione da adoperare è quella che apre l'archivio sul file di testo , ovvero ApriBaseDatiFT , a questa funzione bisogna passare i parametri che specificano il percorso del file da leggere e il numero di numeri che compongono l'estrazione e il carattere separatore usato.

- Tutte le funzioni che operano sull'archivio letto dal txt terminano col suffisso FT e sono analoghe alle stesse che lavorano sul lotto italiano
mi sembra di aver fatto quanto sopra ma evidentemente cè qualcosa che non quadra:(:(
PER FAVORE DOVE SBAGLIO?
Sub Main
Dim sFile
Dim sRecord
ReDim aTitoli(2)
Dim k
Dim idEstr


' scrivo un file che leggero successivamente con le ultime 100 estrazioni di bari
sFile = "C:\Users\Utente01\Desktop\PER SPAZIO\BA_mio_Txt.txt"
If ApriBaseDatiFT(sFile,5,",") Then
sRecord = "L'archivio letto va da " & GetInfoEstrazioneFT(1) & " a " & GetInfoEstrazioneFT(EstrazioniArchivioFT) & vbCrLf
sRecord = sRecord & "si compone di " & EstrazioniArchivioFT & " estrazioni " & vbCrLf
sRecord = sRecord & "di seguito la lista dei ritardi" & vbCrLf
Call Scrivi(sRecord)
idEstr = EstrazioniArchivioFT
' preimposto i titoli delle colonne
aTitoli(1) = "Numero"
aTitoli(2) = "Ritardo"
End If
' inizializzo la tabella
Call InitTabella(aTitoli,1,,,5)
For k = 1 To 90 ' ciclo numeri
' preimposto un array di comodo per creare la nuova riga da aggiungere alla tabella
ReDim aValori(2) ' abbiamo 2 titoli quindi anche qui dimensioniamo con 2 colonne
aValori(1) = Format2(k) ' numero
aValori(2) = RitardoEstrattoFT(k,idEstr) ' valore del ritardo di quel numero su quella ruota
' con questo blocco if coloro le righe che agguiungo in funzione del loro ritardo
If aValori(2) >= 0 And aValori(2) <= 30 Then
Call AddRigaTabella(aValori,Verde_,"right")
ElseIf aValori(2) > 30 And aValori(2) <= 50 Then
Call AddRigaTabella(aValori,Giallo_,"right")
ElseIf aValori(2) > 50 And aValori(2) <= 80 Then
Call AddRigaTabella(aValori,Magenta_,"right")
ElseIf aValori(2) > 80 Then
Call AddRigaTabella(aValori,Rosso,"right")
End If
Next
' ora che ho terminato l'analisi e ho finito di accodare le righe
' creo la tabella e la ordino per la colonna 2 ch
 
considerando che ho fatto la prova con lo stralcio
di file txt che hai postato e col codice sempre
postato , direi sicuramente che l'errore dipende dal percorso
errato che passi alla funzione apribasedati.
Per sincerarti crea una cartella c:\temp ee metti li dentro
il file che chiamerai test.txt e poi lancia questo script
che è identico a quello postato da te con la differenza
che prende il file c:\temp\test.txt

Codice:
Sub Main
	Dim sFile
	Dim sRecord
	ReDim aTitoli(2)
	Dim k
	Dim idEstr
	' scrivo un file che leggero successivamente con le ultime 100 estrazioni di bari
	sFile = "C:\temp\test.txt"
	If ApriBaseDatiFT(sFile,5,",") Then
		sRecord = "L'archivio letto va da " & GetInfoEstrazioneFT(1) & " a " & GetInfoEstrazioneFT(EstrazioniArchivioFT) & vbCrLf
		sRecord = sRecord & "si compone di " & EstrazioniArchivioFT & " estrazioni " & vbCrLf
		sRecord = sRecord & "di seguito la lista dei ritardi" & vbCrLf
		Call Scrivi(sRecord)
		idEstr = EstrazioniArchivioFT
		' preimposto i titoli delle colonne
		aTitoli(1) = "Numero"
		aTitoli(2) = "Ritardo"
	End If
	' inizializzo la tabella
	Call InitTabella(aTitoli,1,,,5)
	For k = 1 To 90 ' ciclo numeri
		' preimposto un array di comodo per creare la nuova riga da aggiungere alla tabella
		ReDim aValori(2) ' abbiamo 2 titoli quindi anche qui dimensioniamo con 2 colonne
		aValori(1) = Format2(k) ' numero
		aValori(2) = RitardoEstrattoFT(k,idEstr) ' valore del ritardo di quel numero su quella ruota
		' con questo blocco if coloro le righe che agguiungo in funzione del loro ritardo
		If aValori(2) >= 0 And aValori(2) <= 30 Then
			Call AddRigaTabella(aValori,Verde_,"right")
		ElseIf aValori(2) > 30 And aValori(2) <= 50 Then
			Call AddRigaTabella(aValori,Giallo_,"right")
		ElseIf aValori(2) > 50 And aValori(2) <= 80 Then
			Call AddRigaTabella(aValori,Magenta_,"right")
		ElseIf aValori(2) > 80 Then
			Call AddRigaTabella(aValori,Rosso,"right")
		End If
	Next
	' ora che ho terminato l'analisi e ho finito di accodare le righe
	' creo la tabella e la ordino per la colonna 2 che rappresenta il ritardo
	Call CreaTabella(2)
End Sub
Sub ScriviFileEstrazioni(sFile,ruota)
	Dim k,e
	Dim sRecord
	Call EliminaFile(sFile)
	For k = EstrazioniArchivio - 220 To EstrazioniArchivio
		sRecord = IndiceAnnuale(k) & "," & DataEstrazione(k,,,"/") & ","
		For e = 1 To 5
			sRecord = sRecord & Format2(Estratto(k,ruota,e)) & ","
		Next
		Call ScriviFile(sFile,Left(sRecord,Len(sRecord) - 1))
	Next
End Sub
 
Ancora Grazie ci sono riuscito ma dopo lungo penare, infatti lanciavo lo script e mi dava il messaggio che c'erano righe vuote
non riuscivo a capire ma in coda metteva due righe vuote cancellate le quali è finalmente andato:D:D:D
 
Un ultima cosa , mi sembra di ricordare questi file di txt non debbano superare i 20 numeri o sbaglio?
Questo esempio si compone di 5 numeri ma volendo si possono fare esempi con 25 numeri come se fosse un unica grossa ruota?
e nell'ambito di questa grossa ruota ricercare i ritardi di estratti e di ambi?
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 13 febbraio 2026
    Bari
    71
    07
    88
    38
    26
    Cagliari
    08
    45
    59
    34
    70
    Firenze
    01
    70
    13
    39
    50
    Genova
    54
    26
    42
    41
    39
    Milano
    51
    58
    82
    10
    72
    Napoli
    57
    04
    49
    86
    54
    Palermo
    72
    03
    54
    83
    33
    Roma
    68
    44
    06
    22
    70
    Torino
    33
    37
    14
    25
    79
    Venezia
    16
    20
    40
    27
    37
    Nazionale
    88
    15
    53
    07
    80
    Estrazione Simbolotto
    Cagliari
    21
    42
    40
    09
    31

Ultimi Messaggi

Indietro
Alto