Newsgroup: it.comp.lang.visual-basic
Titolo: Rinominare campo in file TXT

Salve ragazzi. Sto cercando di individuare la migliore soluzione per
ciclare un file .txt del tipo indicato, affinchè possa rinominare un 
determinato
campo al verificarsi di una determinata condizione.
Mi occorrerebbe che:
se il valore del "campo3" è "3" allora
rinomino "campo2"  in  "campo0" .
esmpio file .txt -->
campo1       allineamento
campo2        00.00
campo3       3
===========================
campo1       allinemento
campo2        00.00
campo3       1
===========================
campo1       allineamento
campo2        00.00
campo3       2
===========================
Vi ringrazio per l'aiuto e ben rientrati per chi, come me, le ferie le ha 
già terminate.
Ciao
Angelo

 rinomino "campo2"  in  "campo0" .
Mi sembra abbastanza semplice:
1) Carichi l'intero file di testo in una variabile
2) Con la funzione Split, ti generi un array (aRighe) che corrisponde a 
tutte le righe del file
3) fai un ciclo sull'array e se all'indice X trovi Campo3=3, modifichi X-1 
con Replace(aRighe(X-1),"Campo2","Campo0")
4) Con la funzione Join ricrei la variabile iniziale
5) Salvi su disco
Ciao
-- 
Gianluca Cannalire
Microsoft MVP/MCP - Visual Basic
http://www.visual-basic.it
http://community.visual-basic.it/gianluca

 ha scritto nel messaggio 
news:G6_Ke.49970$2U1.2...@news3.tin.it...
  Dim pippo As String, pluto As String, paperino As String
    Dim f As Long, f1 As Long
    Dim stemp As String
    Dim i As Integer
    f = FreeFile
    Open "c:\testo.txt" For Input As #f
    f1 = FreeFile
    Open "c:\testo1.txt" For Output As #f1
    Do While Not EOF(f)
        stemp = ""
        For i = 1 To 4
            Line Input #f, stemp$
            If InStr(1, stemp, "Paperino") > 0 Then
                paperino = stemp
            ElseIf InStr(1, stemp, "Pluto") > 0 Then
                pluto = stemp
            ElseIf InStr(1, stemp, "Pippo") > 0 Then
                pippo = stemp
            End If
        Next i
        If Right$(pippo, 1) = "2" And Right$(pluto, 1) = "3" Then
            paperino = "Paperino = 0"
        End If
        Print #f1, paperino
        Print #f1, pippo
        Print #f1, pluto
        Print #f1, "=========="
    Loop
    Close #f
    Close #f1
    Kill "c:\testo.txt"
    Name "c:\testo1.txt" As "c:\testo.txt"
Nota metti sempre il delimitatore alla fine di ogni blocco ex. 

 ha scritto nel messaggio 
news:EciQe.111468$fm.73...@news4.tin.it...


 inutilmente da lui ripreso.
Non ho capito bene:  guardiamo i fatti:
- tu ripeti le tue domande nell'arco di 15 giorni (non dirmi che non sono 
uguali perchè .... dalle mie parti direbbero: ti vol contarme che Nostro 
Signore xe morto de fredo)
- la risposta di Gianluca è del tutto analoga a quelle che avevi già 
ottenuto 15 giorni fa
- se non l'hai notato una delle due risposte del 12 era la mia
- non dici cosa andava male sulle risposte precedenti
- anche a noi, come a Gianluca avevi espresso dei ringraziamenti ("GRAZIE A 
TUTTI E DUE ...PROVERO' A BREVE LE VOSTRE SOLUZIONI")
I casi sono due o era espressa male la domanda di 15 giorni fa e nessuno ti 
ha capito o è espressa male questa perchè "tu" dici che è diversa da quella 
del 12 agosto mentre a me sembra del tutto analoga se non uguale.
Il mio intento non era di riprenderti, non è mio compito farlo, ci 
mancherebbe!, ma semplicemente di "non far perdere del tempo" a Gianluca che 
conosco, apprezzo e stimo (tra l'altro era rivolto a lui e non a te il mio 
messaggio).
-- 
-----------------------------------------------------------------
Bastianello Luciano
Software Consultant - Apprentice Sorcerer
MBS CP Development
MSN: 
cte...@hotmail.com
 - ICQ: 209754422
http://community.visual-basic.it/LucianoB/
----------------------------------------------------------------- 

 a rispondere unicamente se ne è capace e se ne ha voglia a chi
ooooohhh... che spocchia! :)
Ciao

 ha scritto nel messaggio 
news:T0lQe.111975$fm.74...@news4.tin.it...


Scusa ma devo proprio dire:
- a qualsiasi programmatore, anche scarso di tecnica e teoria sarebbero 
bastate le risposte del 12
- hai bisogno di imparare "come si scrive una risposta" (quoting).

 ha scritto nel messaggio 
news:dHlQe.89896$2U1.4...@news3.tin.it...


 TACI  per nobiltà.
Luciano "CTENIZA" dice bene, dovresti imparare a quotare: è molto più 
semplice che imparare a programmare.
-- 
Emanuele Torrenti

 farci sapere l'esito delle prove che aveva promesso di fare.
:)


 affatto uguale a quello ha inutilmente da lui ripreso.
Ciao Angelo,
e' senz'altro vero, però, che le informazioni che ti erano state fornite 
il 12 (sono andato a rileggere il thread) erano perfettamente adattabili 
all'attuale quesito.
Pertanto, la "palese disattenzione" a quanto ti era già stato indicato da 
Cteniza e Umberto è solo tua.
Colgo l'occasione per precisare che qui nessuno è "depositario del verbo" 
ma che alcuni comportamenti (come il tuo), nonchè il mancato rispetto di 
un corretto quoting, possono far girare le scatole...
Tienilo a mente ;)
Ciao!


 Ciao!
Ciao Gianluca,
non è nel mio stile alimentare discussioni che esulano dal fine del NG.
Non si può al contempo accettare di leggere una risposta ad un thread che, 
in primo luogo
 non aiuta chi la posta (che evidentemente necessita di indicazioni) e 
perdippiù
assume toni a dir poco provocatori per chi legge.
Tra l'altro, non tutti hanno la stessa preparazione teorico-pratica sugli 
argomenti.
C'è poi chi, come me, non essendo un programmatore professionista, trae 
preziosi
consigli da chi ha la bontà di prestare la propia opera nel rispondere "a 
modo" alle
richieste formulate. Non mi risulta che si è obbligati a farlo!
Trovo di pessimo gusto invitare "gli amici" del forum a non collaborare,
come, nel caso specifico, quando, ad onor del vero, avevi già risposto.
Francamente non si comprende perchè tutto questo accanimento e a dirla tutta
nemmeno questa solidarietà nei confronti di chi la polemica l'ha generata.
Ti ringrazio ugualmente
Ciao Angelo

 di chi la polemica l'ha generata.
Io e Luciano, come tanti altri qui nel ng, siamo liberi professionisti, 
impiegati o magari semplici appassionati che impiegano parte del loro 
tempo libero (che, alla fin fine, ha un "costo") per condividere la 
propria conoscenza (anche questa ha un "costo") con altri.
Lo facciamo perchè ci piace farlo (alcuni mi dicono anche che sono uno 
studipo a farlo, e forse hanno ragione).
Questo però non vuol dire che dobbiame essere presi per i fondelli.
L'intento di Luciano (che apprezzo) era quello di evitare di sprecare 
ulteriore tempo (il mio) visto che già lui (e non solo) aveva fornito 
soluzione al problema giorni prima.
Tutto qui.
Ciao


 "costo") con altri.
cut
In altre parole in questo momento Gianluca c'ha tempo da perdere!
;-)
Siccome io ne ho meno....ci vuol tanto a mandarlo a cagare???!
Le risposte le ha avute...da allora in poi è soltanto trolleggiare!
E come troll si becca il canonico e meritato vaffanculo
e PLONK!
p.s.
Angeluzzo cerca su google
"Troll"
"Lamer"
"PLONK"
non è roba inventata da me...
è tutta roba che esiste da quando usenet è nata!
p.p.s
Questo è un Newsgroup NON UN FORUM....cerca la differenza!
ecchecavolo !

 che qualcosa cambia. Se non te ne accorgi ... RILEGGI!
Va beh essere permaloso, ma arrivare anche a prendere per il culo...
Orsù, due pilloline di umiltà, down the crest, e pedalare.
Alberto
-- 
Autore di
"Petting for Dummies"