Novità

Funzione per leggere file di testo con Spaziometria

stef

Member
Esiste una funzione per leggere file di testo con script di spaziometria?
Ho provato con la funzione ApriBaseDatiFT, ma il formato deve rispettare delle regole diverse da quelle del mio file che ha questa formattazione:


 

lotto_tom75

Advanced Premium Member
Esiste una funzione per leggere file di testo con script di spaziometria?
Ho provato con la funzione ApriBaseDatiFT, ma il formato deve rispettare delle regole diverse da quelle del mio file che ha questa formattazione:



Ciao, non so se ti riferisci a questo...

Codice:
dim sfiletxtgrupponumerico, sfile

sfiletxtgrupponumerico=".\sfiletxtgrupponumerico.txt"

sfile = sfiletxtgrupponumerico

Call Messaggio("Lettura file di testo")

      ReDim aRighe(0)

      Call LeggiRigheFileDiTesto(sfile,aRighe)
     
      For y = 0 To UBound(aRighe)

      If aRighe(y) <> "" Then
   

     Call SplitByChar(aRighe(y),".",aNum)

scrivi stringanumeri(aNum)

if scriptinterrotto then exit for
  next

In questo esempio ti legge un file .txt in cui ci sono righe con numeri intervallati da carattere punto "."
 

stef

Member
Ciao lotto_tom, lo script che mi hai indicato è ok per la lettura di un file di testo.
Ora vorrei caricare in un array ogni singolo carattere presente nel file.

Hai qualche suggerimento da darmi?
 

lotto_tom75

Advanced Premium Member
Ciao lotto_tom, lo script che mi hai indicato è ok per la lettura di un file di testo.
Ora vorrei caricare in un array ogni singolo carattere presente nel file.

Hai qualche suggerimento da darmi?

in realtà l'array ce lo hai già caricato nel precedente script...
il relativo contenuto lo vedi con un opportuno for...


Codice:
Option Explicit
Sub Main
   Dim anum
   Dim y
   Dim c
   Dim sfiletxtgrupponumerico,sfile
   sfiletxtgrupponumerico = ".\sfiletxtgrupponumerico.txt"
   sfile = sfiletxtgrupponumerico
   Call Messaggio("Lettura file di testo")
   ReDim aRighe(0)
   Call LeggiRigheFileDiTesto(sfile,aRighe)
   For y = 0 To UBound(aRighe)
      If aRighe(y) <> "" Then
         Call SplitByChar(aRighe(y),".",anum)
         Scrivi StringaNumeri(anum)
         If ScriptInterrotto Then Exit For
      End If
      Scrivi
      Scrivi "contenuto array "
      Scrivi
      For c = 0 To UBound(anum)
         Scrivi anum(c)
         If ScriptInterrotto Then Exit For
      Next
End Sub

:)
 

lotto_tom75

Advanced Premium Member
ma a te funziona?

A me da questo errore:


Si a me con questo code (copialo e incollalo identico... da qui sotto... 👇) che ti ho postato sopra e che ti rimetto qui sotto...


Codice:
Option Explicit
Sub Main
   Dim anum
   Dim y
   Dim c
   Dim sfiletxtgrupponumerico,sfile
   sfiletxtgrupponumerico = ".\sfiletxtgrupponumerico.txt"
   sfile = sfiletxtgrupponumerico
   Call Messaggio("Lettura file di testo")
   ReDim aRighe(0)
   Call LeggiRigheFileDiTesto(sfile,aRighe)
   For y = 0 To UBound(aRighe)
      If aRighe(y) <> "" Then
         Call SplitByChar(aRighe(y),".",anum)
         Scrivi StringaNumeri(anum)
         If ScriptInterrotto Then Exit For
      End If
      Scrivi
      Scrivi "contenuto array "
      Scrivi
      For c = 0 To UBound(anum)
         Scrivi anum(c) 
  
         If ScriptInterrotto Then Exit For
      Next
  
        If ScriptInterrotto Then Exit For
      Next
  
End Sub

se carico il file txt, che deve essere posto nella stessa cartella dove risiede lo script e nominato sfiletxtgrupponumerico.txt, contenente questa riga di es. 1.2.3.4.5.6.7.8.9.10

mi da correttamente questo output a video...

1.2.3.4.5.6.7.8.9.10

contenuto array

1
2
3
4
5
6
7
8
9
10

Io per adesso ho attiva la versione 1.6.34 di spaziometria ma non dovrebbe essere determinante...

riprova...
 

joe

Advanced Member >PLATINUM PLUS<
Secondo me...

devi solo cambiare il separatore dei caratteri.

Se nel file c'è il punto e virgola non puoi splittare usando il punto.

Perché i valori non si separano e non c'è nulla da esporre.

:)
 

lotto_tom75

Advanced Premium Member
Secondo me...

devi solo cambiare il separatore dei caratteri.

Se nel file c'è il punto e virgola non puoi splittare usando il punto.

Perché i valori non si separano e non c'è nulla da esporre.

:)

Ciao joe, nell'es. gli ho spiegato di separare i valori numerici con il carattere punto..
 

joe

Advanced Member >PLATINUM PLUS<
Tu si ...

... ma se lui ha già i numeri archiviati ha su disco ?

Secondo me è più facile cambiare un carattere nello script

piuttosto che tutti i separatori nel file archiviato

Ma è una mia opinione.

:)
 

lotto_tom75

Advanced Premium Member
Tu si ...

... ma se lui lo ha su disco ?

Secondo me è più facile cambiare un carattere nello script

piuttosto che tutti i separatori nel file archiviato

Ma è una mia opinione.

:)

Hai ragione joe non avevo fatto caso al contenuto del suo txt...

x stef: se nel tuo txt hai i caratteri separati da punto e virgola fai come consigliato da joe

in altre parole... copia e incolla il codice sottostante 👇 e vedrai che ti funziona ;)

Codice:
Option Explicit
Sub Main
   Dim anum
   Dim y
   Dim c
   Dim sfiletxtgrupponumerico,sfile
   sfiletxtgrupponumerico = ".\sfiletxtgrupponumerico.txt"
   sfile = sfiletxtgrupponumerico
   Call Messaggio("Lettura file di testo")
   ReDim aRighe(0)
   Call LeggiRigheFileDiTesto(sfile,aRighe)
   For y = 0 To UBound(aRighe)
      If aRighe(y) <> "" Then
         Call SplitByChar(aRighe(y),";",anum)
         Scrivi StringaNumeri(anum)
         If ScriptInterrotto Then Exit For
      End If
      Scrivi
      Scrivi "contenuto array "
      Scrivi
      For c = 0 To UBound(anum)
         Scrivi anum(c)
 
         If ScriptInterrotto Then Exit For
      Next
 
        If ScriptInterrotto Then Exit For
      Next
 
End Sub

Se poi vorrai analizzare righe con caratteri separatori diversi tutto quello che dovrai fare sarà soltanto cambiare questa riga

Codice:
 Call SplitByChar(aRighe(y),";",anum)

mettendo al posto del ; il carattere separatore che avrai deciso di utilizzare...
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 21 maggio 2024
    Bari
    54
    50
    84
    64
    62
    Cagliari
    53
    65
    02
    72
    32
    Firenze
    40
    80
    14
    19
    13
    Genova
    05
    82
    07
    61
    47
    Milano
    86
    37
    62
    02
    55
    Napoli
    86
    23
    73
    74
    31
    Palermo
    78
    01
    57
    33
    47
    Roma
    40
    66
    27
    45
    64
    Torino
    76
    29
    05
    49
    64
    Venezia
    44
    07
    66
    68
    87
    Nazionale
    28
    88
    09
    77
    72
    Estrazione Simbolotto
    Milano
    31
    39
    13
    17
    35

Ultimi Messaggi

Alto