Differenze tra le versioni di "Ottenere il percorso di un file trasportato e rilasciato con Drag&Drop"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Per ottenere il percorso, comprensivo del nome di un file, trascinato con la risorsa del ''Drag&Drop'' all'interno di un Controllo di testo, utilizza il Metodo ".Paste()" della Classe ''Drag''.
+
Per ottenere il percorso, comprensivo del nome di un file, trascinato con la risorsa del ''Drag&Drop'' all'interno di un Controllo di testo, utilizza il Metodo ".Paste()" della Classe ''Drag''. <SUP>&#091;[[#Note|<B>nota 1</b>]]&#093;</sup>
  
Mostriamo qualche semplice esempio, nel quale sarà possibile vedere in una ''ListBox'' il percorso e il nome di un file che sarà stato trascinato con la modalità del ''Drag&Drop''.
+
Mostriamo un semplice esempio, nel quale sarà possibile vedere in una ''ListBox'' il percorso e il nome di un file che sarà stato trascinato con la modalità del ''Drag&Drop''.
===Uso della funzione "FromUrl()"===
+
<BR>Il Metodo ".Paste()" della Classe ''Drag'' avrà come suo unico argomento il formato testuale "text/uri-list":
La funzione "FromUrl()" conterrà il Metodo ".Paste()" della Classe ''Drag'', che avrà come suo unico argomento il formato "text/uri-list":
 
 
  Public Sub Form_Open()
 
  Public Sub Form_Open()
 
   
 
   
Riga 13: Riga 12:
 
  Public Sub Listbox1_Drop()
 
  Public Sub Listbox1_Drop()
 
   
 
   
   ListBox1.Add(FromUrl(Drag.Paste("text/uri-list")[0]))
+
   ListBox1.Add(Drag.Paste("text/uri-list")[0])
 
   
 
   
 
  End
 
  End
  
  
===Uso del ".Paste()" della Classe ''Drag'' privo di argomento===
 
Se non si intende usare la funzione "FromUrl()", come sopra descritto, sarà opportuno lasciare vuoto il parametro previsto dal Metodo ".Paste()", giacché, se usassimo il formato "text/uri-list", eventuali file aventi nel nome caratteri particolari - come ad esempio il simbolo "+" o il simbolo "§" - questi sarebbero sostituiti nel risultato da uno spazio bianco.
 
<BR>Lasciando invece vuoto quel parametro, i simboli saranno salvaguardati, anche se, però, qualora il nome del file dovesse contenere uno spazio bianco, questo sarebbe riportato con il codice "%20" (sappiamo che il valore esadecimale &H20 corrisponde appunto nella tabella ASCII al carattere dello Spazio Bianco). Per ovviare a ciò useremo la funzione "Replace()".
 
<BR>Va sottolineato che la stringa del percorso, dopo il nome del file, prevede il carattere del "Nuova linea a capo" (&H10, gb.Newline) e del "Ritorno a capo" (&H0D, gb.Cr), seguito da alcuni valori numerici in ASCII.
 
Per eliminare il valore del &H0D, il codice prevederà l'uso della funzione [https://www.gambas-it.org/wiki/index.php/Scan Scan()].
 
  
Mostriamo un semplice esempio, nel quale sarà possibile vedere in una ''ListBox'' il percorso e il nome di un file che sarà stato trascinato con la modlità del ''Drag&Drop''.
+
=Nota=
Public Sub Form_Open()
+
[1] Vedere anche: [[Mostrare il contenuto di un file di testo con il solo drop del file in un oggetto di testo]]
 
  ListBox1.Drop = True
 
 
End
 
 
 
Public Sub Listbox1_Drop()
 
 
  ListBox1.Add(<FONT Color=orange>Replace</font>(<FONT Color=green>Scan</font>(<FONT Color=#B22222>Drag.Paste()</font>, "*//*\r*")[1], "%20", " "))
 
 
<FONT Color=gray>' ''oppure:'' '''ListBox1.Add(Scan(FromUrl(Drag.Paste()), "*//*\r*")[1])'''</font>
 
 
End
 

Versione delle 10:14, 19 nov 2023

Per ottenere il percorso, comprensivo del nome di un file, trascinato con la risorsa del Drag&Drop all'interno di un Controllo di testo, utilizza il Metodo ".Paste()" della Classe Drag. [nota 1]

Mostriamo un semplice esempio, nel quale sarà possibile vedere in una ListBox il percorso e il nome di un file che sarà stato trascinato con la modalità del Drag&Drop.
Il Metodo ".Paste()" della Classe Drag avrà come suo unico argomento il formato testuale "text/uri-list":

Public Sub Form_Open()

 ListBox1.Drop = True

End


Public Sub Listbox1_Drop()

 ListBox1.Add(Drag.Paste("text/uri-list")[0])

End


Nota

[1] Vedere anche: Mostrare il contenuto di un file di testo con il solo drop del file in un oggetto di testo