Differenze tra le versioni di "Mostrare il contenuto di un file di testo con il solo drop del file in un oggetto di testo"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
Il caso è quello in cui si intende far mostrare da un oggetto di testo il contenuto di un file di testo solo e semplicemente <SPAN Style="text-decoration:underline">trascinando tale file</span> con il mouse (tenendo premuto il suo tasto sinistro) all'interno dell'oggetto di testo predetto. Il file di testo può essere trascinato anche da una finestra esterna all'applicativo Gambas.
 
Il caso è quello in cui si intende far mostrare da un oggetto di testo il contenuto di un file di testo solo e semplicemente <SPAN Style="text-decoration:underline">trascinando tale file</span> con il mouse (tenendo premuto il suo tasto sinistro) all'interno dell'oggetto di testo predetto. Il file di testo può essere trascinato anche da una finestra esterna all'applicativo Gambas.
 
<BR>Precisiamo che con il mouse va trascinato il <SPAN Style="text-decoration:underline">file</span> di testo. Non va, dunque, trascinato il testo, anche se evidenziato, del file !
 
<BR>Precisiamo che con il mouse va trascinato il <SPAN Style="text-decoration:underline">file</span> di testo. Non va, dunque, trascinato il testo, anche se evidenziato, del file !
 
Va inoltre sottolineato che, qualora il nome del file di testo contenga uno o più spazi, poiché il metodo ''Drag.Paste( )'' ritorna la rappresentazione URI del pecorso del file di testo trascinato nell'oggetto di testo, tali spazi saranno riportati nella stringa di ritorno con i caratteri %20 (da notare che 20 è il valore ASCII in esadecimale appunto dello spazio). Ciò determinerà un errore, successivamente, nel metodo ''File.Load( )''. Dovrà dunque essere cura del programmatore risolvere tale problema mediante apposito codice.
 
  
  
Riga 29: Riga 27:
 
   percorso = Drag.Paste("text/uri-list")
 
   percorso = Drag.Paste("text/uri-list")
 
   
 
   
 +
<FONT color=gray>' ''Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file di testo trascinato nell'oggetto di testo,''
 +
' ''qualora il nome del file di testo contenga uno o più spazi, essi sarebbero riportati con i caratteri %20 (da notare che 20 è il valore ASCII in esadecimale appunto dello spazio)''.
 +
' ''Ciò determinerebbe un errore nel successivo metodo "File.Load()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":''</font>
 +
  percorso = FromUrl(percorso)
 +
 
 
   percorso = Scan(percorso, "file://*")[0]
 
   percorso = Scan(percorso, "file://*")[0]
 
   
 
   

Versione delle 18:23, 8 nov 2016

Il caso è quello in cui si intende far mostrare da un oggetto di testo il contenuto di un file di testo solo e semplicemente trascinando tale file con il mouse (tenendo premuto il suo tasto sinistro) all'interno dell'oggetto di testo predetto. Il file di testo può essere trascinato anche da una finestra esterna all'applicativo Gambas.
Precisiamo che con il mouse va trascinato il file di testo. Non va, dunque, trascinato il testo, anche se evidenziato, del file !


L'esempio pratico seguente prevede la presenza sul Form dell'applicativo Gambas di una TextArea e di una TextEdit. In tal modo si potrà fare l'esperimento trascinando e rilasciando, a piacimento, il file di testo sia all'interno della TextArea sia all'interno della TextEdit:

Public Sub Form_Open()
 
  With TextArea1
' Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"
    .Drop = True
    .Wrap = True
  End With
  
  With TextEdit1
' Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"
    .Drop = True
    .Wrap = True
  End With

End


Public Sub TextArea1_Drop()   ' Rilasciamo il file di testo nella "TextArea"
 
 Dim percorso As String
 
  percorso = Drag.Paste("text/uri-list")

' Poiché il metodo "Drag.Paste()" ritorna la rappresentazione URI del pecorso del file di testo trascinato nell'oggetto di testo,
' qualora il nome del file di testo contenga uno o più spazi, essi sarebbero riportati con i caratteri %20 (da notare che 20 è il valore ASCII in esadecimale appunto dello spazio).
' Ciò determinerebbe un errore nel successivo metodo "File.Load()". Applichiamo, pertanto, alla stringa ritornata dal metodo "Drag.Paste()" la funzione "FromUrl()":
  percorso = FromUrl(percorso)
  
  percorso = Scan(percorso, "file://*")[0]

  TextArea1.Text = File.Load(Trim(percorso))

End


Public Sub TextEdit1_Drop()   ' Rilasciamo il file di testo nell'oggetto "TextEdit"
 
 Dim percorso As String
  
  percorso = Drag.Paste("text/uri-list")

  percorso = Scan(percorso, "file://*")[0]

  TextEdit1.Text = File.Load(Trim(percorso))

End