Novità

Funzione per leggere file di testo con Spaziometria

  • Creatore Discussione Creatore Discussione stef
  • Data di inizio Data di inizio

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:


 
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 "."
 
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?
 
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

:)
 
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...
 
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.

:)
 
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..
 
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.

:)
 
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
    venerdì 11 luglio 2025
    Bari
    39
    28
    27
    01
    80
    Cagliari
    54
    79
    69
    43
    61
    Firenze
    62
    60
    86
    80
    05
    Genova
    45
    10
    42
    79
    84
    Milano
    28
    59
    23
    46
    11
    Napoli
    01
    55
    52
    50
    39
    Palermo
    75
    17
    74
    82
    54
    Roma
    38
    13
    79
    25
    44
    Torino
    68
    29
    26
    40
    06
    Venezia
    46
    84
    64
    27
    67
    Nazionale
    72
    77
    46
    61
    23
    Estrazione Simbolotto
    Nazionale
    12
    34
    36
    10
    39
Indietro
Alto