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 | + | 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 | + | 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>' '' | + | <FONT Color=gray>' ''Imposta la nuova directory di lavoro corrente:''</font> |
− | + | i = <FONT Color=#B22222>chdir</font>("/tmp") | |
− | + | If i < 0 Then Error.Raise("Impossibile cambiare la directory di lavoro !") | |
− | |||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Effettua la verifica:''</font> |
− | + | s = get_current_dir_name() | |
− | + | 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