Newsgroup: it.comp.appl.access
Titolo: Modificare un file TXT

Ciao a tutto il Ng
ho A2000 e Win XPH prima di tutto.....
apro un file con questa routine:
Public Function ApriEtichetta()
    On Error Resume Next
        Open "c:\XTrove\ETI.TXT" For Append As #1
        Print #1, "1"
        Close #1
    Exit Function
 End Function
Il problema e' che quel  "1" che vado a scrivere lo inserisce alla fine del 
file, io dovrei scriverlo nel punto in cui trovo la dicitura "Fres=3".
Come si puo' fare??
Grazie
Ciao 

 Ciao
Rinomini il file, lo apri in lettura, lo leggi e riscrivi tutto pari pari
in un file che avrai aperto in scrittura col nome dell'originale, fino ad
arrivare al punto che ti interessa.
Poi ci inserisci il testo da aggiungere e infine ci scrivi tutto il resto
del file originale.
In alternativa, se il file è piccolo: copi tutto il file in una variabile
stringa, sostituisci/aggiungi quel che ti serve con le funzioni per la
manipolazione delle stringhe (left, right, mid, len) e riscrivi la
variabile sul file originale.
Ciao.
-Marco-
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:ejaaac$5re$1...@news.newsland.it...

Grazie Marco, il file non e' grandissimo, quindi potrei copiarlo in una 
variabile, e sostituire come dici tu, il problema e' la sintassi.......
Help
Ciao

 Ciao
Apri il file con Open (vedi help), leggi una riga alla volta fino alla
fine del file e la accodi alla variabile.
numfile=freefile()
open "nome file" for input as #numfile
stringa=""
while not EOF(numfile)
  line input #numfile, riga
  stringa = stringa & riga
wend
close #numfile
Poi fai le modifiche, riapri il file in scrittura e scrivi la nuova
variabile. Non dimenticarti di chiudere il file alla fine.



in aggiunta o in alternativa a quanto suggerito da Marco Pizzamiglio 
potresti mettere tutto il contenuto del file in una stringa, cercare la 
posizione di 'Fres=3' e sostituire il 3 col nuovo valore.
io la cercherei e sostituirei cosě, avendo messo il contenuto in 
:strIlMioFile (variabile stringa)
-----------------------------------------------------------
Sub LeggiEsostituisci()
Dim intVal As Integer, strSostituto As String, strIlMioFile As String
Dim ilGruppo As String, lngNumfile As Long, strRiga As String
'-- prima di tutto leggiamo il file e mettiamo
'-- il contenuto in una variabile, riga per riga
lngNumfile = FreeFile()
Open "nome file" For Input As #lngNumfile
strIlMioFile = ""
While Not EOF(lngNumfile)
  Line Input #lngNumfile, strRiga
  strIlMioFile = strIlMioFile & strRiga
Wend
Close #lngNumfile
'----------------
intVal = 1 'questo valore lo passerai alla
            'procedura come parametro ...
'----------------
'--preparo il gruppo finale
strSostituto = "Fres=" & CInt(intVal)
'-- cerco il gruppo attuale
ilGruppo = Mid(strIlMioFile, InStr(strIlMioFile, "Fres="), 6)
'--sostituisco ..
strIlMioFile = Replace(strIlMioFile, ilGruppo, strSostituto, , 1)
End Sub
------------------------------
questo č valido nel caso che tu debba assegnare solo UN carattere dopo Fres=
Se invece fossero numeri di varie lunghezze, dovrai fare un test per 
cercare, dopo l'uguale (=),  il primo spazio vuoto o un ritorno a capo.
IvanDabologna