Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Sostituire file
Forum - Visual Basic 6 - Sostituire file

Avatar
matto00 (Normal User)
Rookie


Messaggi: 41
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 15:06
Sabato, 18/04/2009
Io ho la necessita di confrontare le 80 righe di un file .txt con una variabile e quando corrispondono sostituirla con un altra senza cambiare il resto come posso fare ?

Ultima modifica effettuata da matto00 il 18/04/2009 alle 15:07
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:47
Sabato, 18/04/2009
80 righe di lunghezza fissa?

E devi cambiarle con altre della stessa lunghezza?

Senza altre informazioni, l'unica cosa che posso dirti e' di leggere il file originale, confrontare le linee che ti interessano e se le devi cambiare, scrivere un secondo file con le nuove righe.

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 16:31
Sabato, 18/04/2009
dovresti cercare di essere più preciso nella spiegazione :yup:

PM Quote
Avatar
matto00 (Normal User)
Rookie


Messaggi: 41
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 16:45
Sabato, 18/04/2009
ok forse sono stato veloce provo a spiegare meglio

Io ho un file di testo con 80 righe fisse ora devo fare che per ogni riga del file la confronti tutta con una seconda stringa e se sono uguali sostituisce tutta la riga del file con una 3° variabile

cmq le stringhe non sono a lunghezza fissa ognuna ha una lunghezza diversa

Ultima modifica effettuata da matto00 il 18/04/2009 alle 16:46
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 22:35
Sabato, 18/04/2009
Codice sorgente - presumibilmente VB.NET

  1. 'prelevi le righe del file
  2. dim righe(1 to 80) as string, x as integer, str as string
  3. str = "pippo"
  4. open "C:\tuofile.txt" for input as #1
  5. do
  6. x = x + 1
  7. line input #1, righe(x)
  8. if righe(x) = str then
  9. righe(x) = "3° stringa"
  10. end if
  11. loop until eof(1) = true
  12. close #1
  13. 'poi con un ciclo sovrascrivi il file con le righe memorizzate nell'array righe



è solo uno skizzo, te lo devi adattare...

Ultima modifica effettuata da GrG il 18/04/2009 alle 22:36
PM Quote
Avatar
matto00 (Normal User)
Rookie


Messaggi: 41
Iscritto: 10/12/2008

Segnala al moderatore
Postato alle 22:40
Sabato, 18/04/2009
forse non mi sono spiegato troppo bene il codice che mi hai postato è per trovare la riga uguale e mettere la nuova riga ma cosi la metto solo nell'array righe() il mio problema invece e doverlo poi sovrascrivere nel file


niente ho riletto un pò di vorte il tuo post e praticamente ho scoperto quello che mi mancava ho capito come si fa, ho solo una domanda se potresti essere cosi gentile da chiarirmi la parte until eof(1) = true non capisco eof cosa sia e cosa indica il suo parametro

Ultima modifica effettuata da matto00 il 18/04/2009 alle 22:42
PM Quote
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Segnala al moderatore
Postato alle 12:31
Domenica, 19/04/2009
Testo quotato

Postato originariamente da matto00:
ho solo una domanda se potresti essere cosi gentile da chiarirmi la parte until eof(1) = true non capisco eof cosa sia e cosa indica il suo parametro



EOF sta per EndOfFile
1 è il numero di file aperto
quindi l'istruzione
Codice sorgente - presumibilmente Visual Basic 6

  1. until eof(1) = true


significa:
esegui il ciclo fino a che non ha raggiunto la fine del file #1


PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:08
Domenica, 19/04/2009
come ha detto gibra eof è una specie di segnale per far capire a vb che il file è finito...

PM Quote