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
    sabato 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20

Ultimi Messaggi

Indietro
Alto