ho provato il codice che mi hai suggerito e l'ho corretto in alcune parti per farlo funzionare:
PUBLIC SUB Button2_Click()
DIM stringa AS String
DIM stringhe AS String[]
DIM stringa2 AS String
DIM i AS Short
stringa = File.Load("/home/berserker/prova_read.txt")
stringhe = Split(stringa, "\n")
FOR EACH stringhe ' questo passaggio in questo caso è inutile
' ma ti fa capire come ricostruire il file
stringa2 = stringa2 & stringhe & "\n" '
INC i '
NEXT
File.Save("/home/berserker/prova_write.txt", stringa2)
END
cmq grazie per il suggerimento perchè in questa maniera ottengo il risultato voluto.
Ho risolto pure col metodo che usavo io inserendo il parametro della lunghezza nella riga write:
PUBLIC SUB Button1_Click()
DIM a AS String
DIM hfile, hfile2 AS file
DIM h AS Short = 1
DIM $array AS NEW String[]
OPEN "/home/berserker/prova_read.txt" FOR READ AS #hfile
OPEN "/home/berserker/prova_write.txt" FOR WRITE CREATE AS #hfile2
WHILE NOT Eof(hfile)
LINE INPUT #hfile, a
WRITE #hfile2 "riga" & a & Chr$(10), Len("riga" & a) + 1
WEND
CLOSE #hfile
CLOSE #hfile2
END
Sul manuale di gambas dice che questo parametro è facoltativo e se non viene specificato, di default scrive la stringa per intero. solo che gli aggiunge quello spazio maledetto. mentre specificando la lunghezza funziona tutto.
Cmq bella sta cosa di poter fare la stessa cosa da diverse strade.
Ciao.