Differenze tra le versioni di "Link()"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
La funzione della libreria di C
+
La funzione '''link()''', dichiarata nel file header "''/usr/include/unistd.h''":
  ''int link(const char *oldpath, const char *newpath)''
+
  int link (const char *__from, const char *__to)
crea un nuovo collegamento ad un file conservando anche quello iniziale. Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.
+
crea un nuovo collegamento ad un file conservando anche quello iniziale. Quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
<BR>Questa funzione quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
+
<BR>Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.
  
  
 
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
 
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
  Private <FONT color=#B22222>Extern link</font>(oldpath As String, newpath As String) As Integer In "<FONT color=#B22222>libc:6</font>"
+
  Private Extern <FONT color=#B22222>link</font>(''int link (__form As String, __to As String) As Integer In "<FONT color=#B22222>libc:6</font>"
 
 
 
 
  
 
Semplice esempio di uso in Gambas:
 
Semplice esempio di uso in Gambas:
  <FONT color=Gray>' ''int link(const char *oldpath, const char *newpath)''</font>
+
Library "libc:6"
  '''Private''' <FONT color=#B22222>Extern link</font>(vecchiopercorso As String, nuovopercorso As String) As Integer In "<FONT color=#B22222>libc:6</font>"
+
 +
 +
  <FONT Color=gray>' ''int link (const char *__from, const char *__to)''
 +
' ''Make a link to FROM named TO.''</font>
 +
  Private <FONT color=#B22222>Extern link</font>(vecchiopercorso As String, nuovopercorso As String) As Integer
 +
 
   
 
   
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
Riga 18: Riga 21:
 
   Dim i As Integer
 
   Dim i As Integer
 
    
 
    
   i = link("''/percorso/del/vecchio/collegamento/al/file''", "''/percorso/del/nuovo/collegamento/al/file''")
+
   i = link("<FONT Color=gray>''/percorso/del/vecchio/nome/del/file''</font>", "<FONT Color=gray>''/percorso/del/nuovo/nome/del/file''</font>")
 
   If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")
 
   If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")
 
   
 
   

Versione delle 17:31, 22 giu 2017

La funzione link(), dichiarata nel file header "/usr/include/unistd.h":

int link (const char *__from, const char *__to)

crea un nuovo collegamento ad un file conservando anche quello iniziale. Quindi sostanzialmente questa funzione copia un collegamento ad un file assegnandogli, a seconda dei casi, un nuovo nome e/o un nuovo percorso. Il collegamento precedente al file è conservato.
Il nuovo collegamento deve assumere diverso nome, se viene creato nel medesimo percorso di quello iniziale; e può assumere identico nome a quello iniziale, se viene creato in un percorso differente.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern link(int link (__form As String, __to As String) As Integer In "libc:6"

Semplice esempio di uso in Gambas:

Library "libc:6"


' int link (const char *__from, const char *__to)
' Make a link to FROM named TO.
Private Extern link(vecchiopercorso As String, nuovopercorso As String) As Integer


Public Sub Main()

 Dim i As Integer
 
  i = link("/percorso/del/vecchio/nome/del/file", "/percorso/del/nuovo/nome/del/file")
  If i = -1 Then Error.Raise("Impossibile creare un nuovo collegamento al file !")

End


Vedi anche la funzione esterna unlink() .