Autore Topic: [RISOLTO] Esplorazione directory, come associarla?  (Letto 2137 volte)

vaillant86

  • Visitatore
[RISOLTO] Esplorazione directory, come associarla?
« il: 30 Settembre 2010, 22:57:16 »
Ciao a tutti. Volevo chiedervi come si fa ad assegnare una variabile ad una directory che viene selezionata tramite il "DirChooser".

In pratica dovrei:

1) selezionare una directory sfogliando il mio hdd
2) questa directory assume la variabile "x", tanto per dirne una
3) il pulsante start esegue alcuni comandi bash che contengono appunto la variabile $x

Non so se mi sono spiegato bene, eventualmente fatemelo sapere :)

Grazie per l'attenzione
« Ultima modifica: 01 Ottobre 2010, 15:43:51 da vaillant86 »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Esplorazione directory, come associarla?
« Risposta #1 il: 30 Settembre 2010, 23:06:00 »
Codice: [Seleziona]
DIM MyDir AS String
 
IF Dialog.SelectDirectory() THEN RETURN
 
    MyDir = Dialog.Path

per i comandi bash non ho capito cosa vuoi fare

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #2 il: 30 Settembre 2010, 23:12:49 »
Si tratta di un software di backup&restore (lo presenterò a breve nell'apposita sezione). Una volta che l'utente seleziona la directory con i dati da salvare (ad es. ~/Documenti), il pulsante lancia i comandi per il backup, tipo:
Codice: [Seleziona]
tar -cpzf <directory di destinazione>/backup.tar.gz <directory dei dati da salvare>
.


Questo codice
Codice: [Seleziona]
DIM MyDir AS String
 
IF Dialog.SelectDirectory() THEN RETURN
 
    MyDir = Dialog.Path
lo devo inserire all'interno della sezione
Codice: [Seleziona]
PUBLIC SUB DirChooser1_Activate()


END
??

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Esplorazione directory, come associarla?
« Risposta #3 il: 01 Ottobre 2010, 00:26:11 »
no il codice va inserito in un button

in alternativa potresti anche farlo partire in Form_Open(), ma il button è più comodo.

in PUBLIC SUB DirChooser1_Activate() non partirebbe in quanto  DirChooser1 dovrebbe prima essere attivata.

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #4 il: 01 Ottobre 2010, 00:40:36 »
Non è proprio quello che stavo cercando. In questo modo posso sfogliare il contenuto dell'hdd premendo un pulsante...
Posto uno screenshot del programma, spero di riuscire a spiegarmi meglio (sarà l'orario ;D)



Ciò che devo permettere è che quando qualcuno seleziona una directory dalla prima DirChooser, questa venga assegnata ad una determinata variabile. Dopo, quando si preme il pulsante in basso "avvia", venisse eseguito il comando (nel mio caso, tar) con quella variabile...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Esplorazione directory, come associarla?
« Risposta #5 il: 01 Ottobre 2010, 00:51:19 »
effettivamente state dicendo la stessa cosa. Come ti è stato suggerito, basta che nel momento in cui si preme il butto che avvia il backup, le variabili vengono assegnate come spiegato sopra...

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Esplorazione directory, come associarla?
« Risposta #6 il: 01 Ottobre 2010, 00:51:58 »
avevo capito male, pensavo che volessi semplicemente selezionare una dir.

per quello che devi fare prova

Codice: [Seleziona]
PUBLIC SUB DirChooser1_Change()
DIM MyDir AS String

  MyDir = DirChooser1.Value

END

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #7 il: 01 Ottobre 2010, 01:52:47 »
Ho fatto come suggerito
Codice: [Seleziona]
PUBLIC SUB DirChooser1_Change()

DIM MyDir AS String

MyDir = DirChooser1.Value

END

PUBLIC SUB ButtonStart_Click()

SHELL "nautilus $MyDir"

END
e nel pulsante ho assegnato, per prova, l'apertura della directory selezionata nel dirchooser. Solo che evidentemente la sintassi non è corretta...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Esplorazione directory, come associarla?
« Risposta #8 il: 01 Ottobre 2010, 02:06:05 »
Codice: gambas [Seleziona]
PUBLIC SUB ButtonStart_Click()

  DIM $MyDir as String

  $MyDir =  DirChooser1.Value
  SHELL "nautilus " & $MyDir

END


o ancora più sinteticamente

Codice: gambas [Seleziona]
PUBLIC SUB ButtonStart_Click()

   SHELL  "nautilus " & DirChooser1.ValueDirChooser1.Value

END

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #9 il: 01 Ottobre 2010, 09:29:34 »
AAhhh... :hard: scusami, che magra figura che ho fatto!!

Più tardi provo, grazie per adesso :2birre:

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #10 il: 01 Ottobre 2010, 14:15:46 »
Funziona!!! :D Grazie davvero.

Ovviamente per il secondo DirChooser seguo la stessa sintassi ma con un comando separato, tipo così

Codice: gambas [Seleziona]

PUBLIC SUB ButtonStart_Click()

  DIM $backupdir AS String
  DIM $backupdest AS String

  $backupdir = DirChooser1.Value
  $backupdest = DirChooser2.Value
 
  SHELL "nautilus " & $backupdir
  SHELL "nautilus " & $backupdest

giusto?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Esplorazione directory, come associarla?
« Risposta #11 il: 01 Ottobre 2010, 15:29:44 »
Dipende quello che vuoi fare...se vuoi due operazioni distinte allora può andar bene...

Se hai risolto edita il primo messaggio aggiungendo [RISOLTO]

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #12 il: 01 Ottobre 2010, 15:32:48 »
Ok. E se invece ho bisogno di un'operazione concatenando le due variabili?

In questo modo
Codice: gambas [Seleziona]
SHELL "nautilus " & $backupdir & $backupdest

non funziona...

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Esplorazione directory, come associarla?
« Risposta #13 il: 01 Ottobre 2010, 15:39:00 »
Ok. E se invece ho bisogno di un'operazione concatenando le due variabili?

In questo modo
Codice: gambas [Seleziona]
SHELL "nautilus " & $backupdir & $backupdest

non funziona...

Devi tenere presente che l'operatore & attacca due variabili di fila.....quindi se tu dai

"Ciao" & "Mondo"

Il terminale ti restituisce

CiaoMondo

Come vedi manca lo spazio tra le due parole. Il tuo comando non funziona perchè $backupdir e $backupdest vengono concatenate senza spazio...il comando giusto è:

Codice: gambas [Seleziona]
SHELL "nautilus " & $backupdir &  " " & $backupdest

vaillant86

  • Visitatore
Re: Esplorazione directory, come associarla?
« Risposta #14 il: 01 Ottobre 2010, 15:42:42 »
Grazie, soprattutto per la pazienza che hai :)

Ho capito adesso, posso dire di aver risolto il problema dubbio.

 :2birre: :2birre: