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
    giovedì 03 luglio 2025
    Bari
    33
    40
    47
    65
    61
    Cagliari
    78
    19
    74
    44
    05
    Firenze
    46
    50
    38
    79
    19
    Genova
    72
    48
    47
    66
    34
    Milano
    11
    19
    37
    61
    16
    Napoli
    66
    85
    20
    29
    74
    Palermo
    46
    10
    66
    76
    35
    Roma
    34
    66
    75
    79
    74
    Torino
    27
    33
    40
    59
    10
    Venezia
    50
    26
    68
    07
    30
    Nazionale
    04
    17
    74
    46
    41
    Estrazione Simbolotto
    Nazionale
    34
    03
    11
    07
    32

Ultimi Messaggi

Indietro
Alto