Allora, specifichiamo subito: la textbox è creata per avere testi monoriga, cioè che si sviluppano sullo stesso rigo. Se vuoi avere un testo su più righe devi usare una textarea. Per andare a capo hai due metodi o usi il carattere speciale di escape "\n" oppure usi la costante di gambas gb.newline
ti faccio un esempio per entrambe le cose. Se vuoi scrivere in una textarea
puoi fare
textarea1.text = "Ciao\nCiao"
oppure
textarea1.text = "Ciao" & gb.newline & "Ciao"
Poi mi spieghi meglio il tuo primo dubbio? Non ho capito. Grazie
Ok...perfetto..ora va bene...;-)
Devi fare in modo che il file di testo (nel tuo caso sources.list) venga aperto in modalità append (ovvero "appendi" cioè aggiungi quello che scrivo senza cancellare ciò che già c'è).
Nella sub del button devi scrivere:
'-- dichiara il file
DIM hfile as file
'-- apre il file in modalità append
hfile = OPEN "/etc/apt/sources.list" FOR APPEND
'-- scrive "appendendo" i dati nel file dei dati
PRINT #hFile, texarea.text
'-- chiudo il file e lo lascio in pace
CLOSE #hfile
Ovviamente questo è un codice scarno perchè non fa i dovuti controlli. Quel compito lo lascio a te!
Dunque...scusa l'ora tarda ma stavo facendo un'altra cosa è sono stato impegnato.
Premetto che lavoro su un Ubuntu Intrepid con gnome con gambas 2.15 e pertanto se qualcosa non va potrebbe esser anche quello.
Per fare ciò che vuoi devi fare in questo modo:
'-- dichiara il file
DIM hfile as file
'-- diamo il permesso di lettura e modifca del file a tutti
SHELL "gksudo chmod 666 /etc/apt/sources.list" WAIT
'-- apre il file in modalità append
hfile = OPEN "/etc/apt/sources.list" FOR APPEND
'-- scrive "appendendo" i dati nel file dei dati
PRINT #hFile, texarea.text
'-- chiudo il file e lo lascio in pace
CLOSE #hfile
'-- reimpostaimo i vecchi permessi al file
SHELL "gksudo chmod 600 /etc/apt/sources.list" WAIT
Inoltre voglio dirti altre cose: innanzitutto questa è la prima soluzione che mi è venuta in mente ma non è di certo la più adatta poichè cambiare i permessi ad un file è sempre pericoloso. Non ho testato il codice e perciò non so se funziona o come funziona. Se vuoi maggiori info sull'uso di gksudo ti rimando all'articolo che scrissi sul mio post perchè non mi va di riscrivere da capo: http://soluzionisoftware.blogspot.com/2009/09/password-di-root-nei-propri-programmi.html
risolto
SHELL "gksudo echo quello_che_devi_scrivere\n >> etc/file"
[/quote]DIM hfile AS file hfile = OPEN "/etc/apt/sources.list" FOR APPEND SHELL " gksudo echo --|sudo tee -a /etc/apt/sources.list " WAIT PRINT #hFile, TextBox1.text END
come mai non va con hfile?
Devo usare qualcos'altro?
è questo il comando giusto:
SHELL "gksudo echo " & textarea3.text & " >> /etc/apt/sources.list"
Se devi edite il file direttamente da terminale non c'è bisogno di passare per hFile. Il codice che ti ho scritto aggiunge automaticamente la riga scritta in textarea3 al file sources.list.