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 22: Riga 22:
 
  '''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>
 
    
 
    
   Dim percorso, percorso_controllato As String
+
   Dim percorso As String
 +
 
 +
  TextArea1.Text = Drag.Paste("text/uri-list")
 
   
 
   
 +
  percorso = Scan(percorso, "file://*")[0]
 
   
 
   
   TextArea1.Text = Drag.Data
+
   TextArea1.Text = File.Load(Trim(percorso))
 
  percorso = Mid(Trim(Split(TextArea1.Text, "\n")[0]), 8)
 
 
  percorso_controllato = controllo(percorso)
 
 
 
  TextArea1.Text = File.Load(percorso_controllato)
 
 
   
 
   
 
  '''End'''
 
  '''End'''
Riga 38: Riga 35:
 
  '''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>
 
    
 
    
   Dim percorso, percorso_controllato As String
+
   Dim percorso As String
 
+
 
+
   percorso = Drag.Paste("text/uri-list")
   TextEdit1.Text = Drag.Data
 
 
  percorso = Mid(Trim(Split(TextEdit1.Text, "\n")[0]), 8)
 
 
  percorso_controllato = controllo(percorso)
 
 
  TextEdit1.Text = File.Load(percorso_controllato)
 
 
'''End'''
 
 
   
 
   
 +
  percorso = Scan(percorso, "file://*")[0]
 
   
 
   
'''Private''' Function controllo(percorsoFile As String) As String
+
  TextEdit1.Text = File.Load(Trim(percorso))
 
   
 
   
  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'''
 
  '''End'''

Versione delle 08:48, 15 lug 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, 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 As String
 
  TextArea1.Text = Drag.Paste("text/uri-list")

  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