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.
 
Riga 1: Riga 1:
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'' .
+
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.
 
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''"
+
E' necessario richiamare in Gambas la libreria condivisa: "''libc.so.6'' ".
 
 
  
 
Mostriamo un semplice esempio:
 
Mostriamo un semplice esempio:
Riga 23: Riga 22:
 
   Dim s As String
 
   Dim s As String
 
    
 
    
  <FONT Color=gray>' ''Impostiamo la nuova directory di lavoro corrente:''</font>
+
  <FONT Color=gray>' ''Imposta 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 !")
   
 
 
    
 
    
  <FONT Color=gray>' ''Effettuiamo la verifica:''</font>
+
  <FONT Color=gray>' ''Effettua la verifica:''</font>
  s = get_current_dir_name()
+
  s = get_current_dir_name()
  Print "Nuova corrente directory di lavoro:  "; s
+
  Print "Nuova corrente directory di lavoro:  "; s
 
    
 
    
 
  '''End'''
 
  '''End'''
 
  
  

Versione attuale delle 09:26, 26 dic 2021

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 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
 
' Imposta la nuova directory di lavoro corrente:
 i = chdir("/tmp")
 If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !")
  
' Effettua la verifica:
 s = get_current_dir_name()
 Print "Nuova corrente directory di lavoro:  "; s
  
End


Riferimenti