Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: Gusions - 24 Settembre 2009, 16:16:03

Titolo: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 16:16:03
Salve,ho creato l'interfaccia grafica per aggiungere graficamente ppa a ubuntu nel file /etc/apt/sources.list

ho creato la textbox dove dovrei inserire i ppa e un bottone per aggiungere..

Come faccio a far si che quello che incollo venga aggiunto premendo il tasto?
e
come faccio a far andare a capo un testo nella textbox?

Saluti
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 24 Settembre 2009, 16:23:13
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

Codice: [Seleziona]
Ciao
Ciao


puoi fare

textarea1.text = "Ciao\nCiao"

oppure

Codice: [Seleziona]
textarea1.text = "Ciao" & gb.newline & "Ciao"


Poi mi spieghi meglio il tuo primo dubbio? Non ho capito. Grazie
Titolo: Re: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 17:16:50
questo è il concetto:

http://upload.centerzone.it/images/6fc01w4koqhu102m47oo.png
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 24 Settembre 2009, 17:22:44
Si va bene, bello il tema, bella la barra e bello tutto il resto ma non ho capito il tuo dubbio. Cosa richiedi in particolare? Come si aggiunge una riga di testo a un file? come si eseguono comandi alla pressione di un tasto? Come uccidere Neffa?

Sii più chiaro per favore...
Titolo: Re: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 17:26:06
vorrei che il testo digitato nella text area venga aggiunto al file di testo sources.list che si trova in /etc/apt/ al click del bottone.
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 24 Settembre 2009, 17:32:49
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:

Codice: [Seleziona]

'-- 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!
Titolo: Re: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 17:36:48
quindi questo và nel bottone ok grazie mille.
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 24 Settembre 2009, 17:39:14
Si...quello che ho scritto va nella routine del button in questione....Solo una domanda: ma il file che stai tentando di aprire non deve avere i privilegi di root in lettura/scrittura? Se così fosse il mio codice non funziona e dobbiamo passare per forza dalla shell....fammi sapere.
Titolo: Re: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 17:45:07
ero venuto a segnalare proprio questo, si richiede i privilegi di root
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 24 Settembre 2009, 17:52:09
Ok...ora devo andare..quando torno stasera ti posto il codice.
Titolo: Re: Text box e ppa
Inserito da: Gusions - 24 Settembre 2009, 17:54:54
ok, grazie mille.
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 25 Settembre 2009, 02:33:24
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:

Codice: [Seleziona]
'-- 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
Titolo: Re: Text box e ppa
Inserito da: fsurfing - 25 Settembre 2009, 12:30:52
secondo me cambiare i permessi al file di sistema non è molto "pulito"

io svilupperei l' applicazione normalmente poi la lancerei tramite terminale con gksudo, se non erro sarà una piccola applicazione di sistema che dovrà fare solo questa operazione, percui potrai realizzare un lanciatore che effettuerà il comando


gksudo miaapplicazione
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 25 Settembre 2009, 14:51:47
Io l'ho detto che non era il meglio che c'era e per di più non so neanche se funziona...
Titolo: Re: Text box e ppa
Inserito da: Gusions - 27 Settembre 2009, 16:16:40
ok allora il comando è potenzialmente dannoso però ho risolto.
Non si può elaborare qualcosa con sudo > > / etc / apt / sources.list?
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 27 Settembre 2009, 17:34:22
Come hai risolto? Posta la soluzione perchè potrebbe interessare ad altri.
Titolo: Re: Text box e ppa
Inserito da: Gusions - 27 Settembre 2009, 17:48:32
ho risolto il casino che avevo fatto precedentemente.

MI servirebbe sapere come fare con il comando che ti ho postato su
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 27 Settembre 2009, 18:07:33
risolto

Codice: [Seleziona]
SHELL "gksudo echo quello_che_devi_scrivere\n >> etc/file"
Titolo: Re: Text box e ppa
Inserito da: Gusions - 27 Settembre 2009, 22:01:11
ciao, dovrebbe scrivere quello della textarea3
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 28 Settembre 2009, 01:17:20
:eh:  

Che vuol dire? Per favore scrivi delle frasi abbastanza lunghe e con la giusta punteggiatura così da poter essere capito. Essere criptici in queste situazioni non aiuta.

:-?
Titolo: Re: Text box e ppa
Inserito da: Gusions - 28 Settembre 2009, 13:36:09
Ciao, allora il comando "sudo echo >>" dovrebbe aggiungere il contenuto della textarea3 al file /etc/apt/sources.list ok?

Compreso?
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 28 Settembre 2009, 13:51:36
Si...stavamo parlando di quello....

In questo caso ti consiglio di non usare una textarea ma una textbox poichè se gestisci male una textarea ti ritrovi un file sources.list incomprensibile per il sistema.
Titolo: Re: Text box e ppa
Inserito da: Gusions - 28 Settembre 2009, 16:56:16
[/quote]
Codice: [Seleziona]
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?
Titolo: Re: Text box e ppa
Inserito da: Ceskho - 28 Settembre 2009, 17:04:37
è questo il comando giusto:

Codice: [Seleziona]
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.