Cambiare in esecuzione la directory di lavoro di un processo Gambas con la funzione esterna chdir()

Da Gambas-it.org - Wikipedia.
Versione del 16 lug 2016 alle 09:13 di Vuott (Discussione | contributi) (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...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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
 
  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