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 ! | ||
− | |||
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'': | 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'': | ||
+ | Private TextArea1 As TextArea | ||
+ | Private TextEdit1 As TextEdit | ||
+ | |||
+ | |||
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
− | + | With Me | |
+ | .Center | ||
+ | .W = Screen.AvailableWidth * 0.75 | ||
+ | .H = Screen.AvailableHeight | ||
+ | End With | ||
+ | With TextArea1 = New TextArea(Me) As "TextArea1" | ||
+ | .X = 0 | ||
+ | .Y = 0 | ||
+ | .W = Me.W * 0.5 | ||
+ | .H = Me.H | ||
<FONT color=gray>' ''Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"''</font> | <FONT color=gray>' ''Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"''</font> | ||
− | + | .Drop = True | |
− | + | .Wrap = True | |
− | + | End With | |
− | + | With TextEdit1 = New TextEdit(Me) As "TextEdit1" | |
− | + | .X = TextArea1.W | |
+ | .Y = 0 | ||
+ | .W = Me.W * 0.5 | ||
+ | .H = Me.H | ||
+ | .Background = Color.SoftYellow | ||
<FONT color=gray>' ''Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"''</font> | <FONT color=gray>' ''Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop"''</font> | ||
− | + | .Drop = True | |
− | + | .Wrap = True | |
− | + | End With | |
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub TextArea1_Drop() <FONT color=gray>' ''Rilasciamo il file di testo nella "TextArea"''</font> | '''Public''' Sub TextArea1_Drop() <FONT color=gray>' ''Rilasciamo il file di testo nella "TextArea"''</font> | ||
Riga 25: | Riga 40: | ||
Dim percorso As String | Dim percorso As String | ||
− | + | 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,'' | <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)''. | ' ''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> | ' ''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] | |
− | + | TextArea1.Text = File.Load(Trim(percorso)) | |
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub TextEdit1_Drop() <FONT color=gray>' ''Rilasciamo il file di testo nell'oggetto "TextEdit"''</font> | '''Public''' Sub TextEdit1_Drop() <FONT color=gray>' ''Rilasciamo il file di testo nell'oggetto "TextEdit"''</font> | ||
Riga 43: | Riga 57: | ||
Dim percorso As String | Dim percorso As String | ||
− | + | 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,'' | <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)''. | ' ''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> | ' ''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] | |
− | + | TextEdit1.Text = File.Load(Trim(percorso)) | |
'''End''' | '''End''' |
Versione delle 18:14, 24 nov 2021
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:
Private TextArea1 As TextArea Private TextEdit1 As TextEdit Public Sub Form_Open() With Me .Center .W = Screen.AvailableWidth * 0.75 .H = Screen.AvailableHeight End With With TextArea1 = New TextArea(Me) As "TextArea1" .X = 0 .Y = 0 .W = Me.W * 0.5 .H = Me.H ' Impostiamo la proprietà ".Drop" a "vera" per consentire l'attivazione dell'evento del "Drop" .Drop = True .Wrap = True End With With TextEdit1 = New TextEdit(Me) As "TextEdit1" .X = TextArea1.W .Y = 0 .W = Me.W * 0.5 .H = Me.H .Background = Color.SoftYellow ' 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") ' 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] TextEdit1.Text = File.Load(Trim(percorso)) End