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 55: | Riga 55: | ||
Dim b As Byte = 1 | Dim b As Byte = 1 | ||
+ | Dim n As Byte | ||
Dim s1, s2 As String | Dim s1, s2 As String | ||
Riga 63: | Riga 64: | ||
If s1 = "%" Then | If s1 = "%" Then | ||
− | s1 = | + | n = Val("&" & Mid(percorsoFile, b + 1, 2)) |
+ | s1 = Chr(n) | ||
b += 2 | b += 2 | ||
Endif | Endif |
Versione delle 14:35, 15 mar 2014
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, preso anche da una finestra esterna all'applicativo Gambas, e rilasciandolo all'interno dell'oggetto di testo medesimo.
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, percorso_controllato As String TextArea1.Text = Drag.Data percorso = Mid(Trim(Split(TextArea1.Text, "\n")[0]), 8) percorso_controllato = controllo(percorso) TextArea1.Text = File.Load(percorso_controllato) End Public Sub TextEdit1_Drop() ' Rilasciamo il file di testo nell'oggetto "TextEdit" Dim percorso, percorso_controllato As String TextEdit1.Text = Drag.Data percorso = Mid(Trim(Split(TextEdit1.Text, "\n")[0]), 8) percorso_controllato = controllo(percorso) TextEdit1.Text = File.Load(percorso_controllato) End Private Function controllo(percorsoFile As String) As String Dim b As Byte = 1 Dim n As Byte Dim s1, s2 As String While b < Len(percorsoFile) + 1 s1 = Mid(percorsoFile, b, 1) If s1 = "%" Then n = Val("&" & Mid(percorsoFile, b + 1, 2)) s1 = Chr(n) b += 2 Endif s2 &= s1 Inc b Wend Return s2 End