[ruby-it] Gestione testo con ruby e gtk

gabriele renzi surrender_it a yahoo.it
Lun 3 Dic 2007 20:13:36 CET


--- Daniele Volpe <voldaniele a gmail.com> wrote:

> Intanto grazie per la risposta, ho provato a fare
> come mi hai detto ma 
> ancora non mi funziona, mi da sempre lo stesso
> problema.

figurati, è un piacere essere utili.
Ma non credo ti dia lo stesso errore, perché ce n'è
uno nuovo ;)

Quando scrivi nel file non ci scrivi il contenuto del
buffer, ma l'oggetto buffer. 

La riga 
 database.write(testobuffer) 
è equivalente a
 database.write(testobuffer.to_s) 
invece dovrebbe essere
 database.write(testobuffer.text) 

Una volta che hai sistemato questo errore, c'è un
comportamento che non so se è voluto: quando effettui
la scrittura, sei già alla fine del file (perché lo
hai letto all'inizio, e sei arrivato fino alla fine),
quindi qualsiasi scrittura sarà un'aggiunta, e non una
modifica. Se vuoi sostituire il contenuto del vecchio
file con il nuovo buffer devi effettuare un
File#rewind() riportando il puntatore interno del file
all'inizio. 


Infine: non penso che questo faccia ciò che credi:
 if File.exist?("database.txt") == true               
               
   # qua apri in lettura (r) e scrittura (+)
   database = open("database.txt","r+")               
          
   puts "Apro il file"
 else                                                 
                             
   #qua apri in sola scrittura (w) 
   #creando il file se esiste (+)
   database = File.new("database.txt", "w+")          
         
end


File.new() non crea un nuovo file, crea un nuovo
oggetto file esattamente come open().

Per aprire un file in lettura/scrittura, e crearlo se
non esiste. basta che tu faccia

 file = open('database.txt', 'rw+')

> Sicuramente faccio qualche procedimento sbagliato,
> sto cercando di 
> imparare il più possibile.

beh, sei sulla buona strada, basta che fai un po' più
attenzione a cosa c'è effettivamente scritto quando
hai un errore ;) 

-- 
Goto 10: http://www.goto10.it
blog it: http://riffraff.blogsome.com
blog en: http://www.riffraff.info


      __________________________________________________________
Sent from Yahoo! - the World's favourite mail http://uk.mail.yahoo.com



Maggiori informazioni sulla lista Ml