Differenze tra le versioni di "Cambiare in esecuzione la directory di lavoro di un processo Gambas con la funzione esterna chdir()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per cambiare in esecuzione la corrente directory di lavoro del processo di un'applicazione Gambas, è possibile utilizzare la funzione esterna ''chdir( )'', dichiarata nel fil...")
 
Riga 23: Riga 23:
 
   Dim s As String
 
   Dim s As String
 
    
 
    
 +
<FONT Color=gray>' ''Impostiamo la nuova directory di lavoro corrente:''</font>
 
   i = <FONT Color=#B22222>chdir</font>("/tmp")
 
   i = <FONT Color=#B22222>chdir</font>("/tmp")
 
   If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !")
 
   If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !")

Versione delle 09:14, 16 lug 2016

Per cambiare in esecuzione la corrente directory di lavoro del processo di un'applicazione Gambas, è possibile utilizzare la funzione esterna chdir( ), dichiarata nel file header /usr/include/unistd.h .

Questa funzione esterna produce effetti solo sulla directory di lavoro del processo corrente.

E' necessario richiamare in Gambas la libreria dinamica condivisa: "libc.so.6"


Mostriamo un semplice esempio:

Library "libc:6"

' int chdir (const char *__path)
' Change the process's working directory to PATH.
Private Extern chdir(__path As String) As Integer

' char *get_current_dir_name (void)
' Return a malloc'd string containing the current directory name.
Private Extern get_current_dir_name() As String


Public Sub Main()
 
 Dim i As Integer
 Dim s As String
 
' Impostiamo la nuova directory di lavoro corrente:
  i = chdir("/tmp")
  If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !")
   
  
' Effettuiamo la verifica:
  s = get_current_dir_name()
  Print "Nuova corrente directory di lavoro:  "; s
  
End



Riferimenti