Differenze tra le versioni di "Scritta lampeggiante"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 5: Riga 5:
 
L'uso delle sole risorse di Gambas prevede l'utilizzo di un ''Timer''.
 
L'uso delle sole risorse di Gambas prevede l'utilizzo di un ''Timer''.
  
Mostriamo un esempio, nel quale si farà comparire la scritta all'interno di una ''TextLabel'':
+
Mostriamo un esempio, nel quale si farà comparire la scritta all'interno di una ''Label'':
  '''Public''' Sub Form_Open()
+
  Private Label1 As Label
 +
Private Timer1 As Timer
 
   
 
   
   With Timer1
+
 +
Public Sub _new()
 +
 +
   With Me
 +
    .W = 300
 +
    .H = 100
 +
    .Arrangement = Arrange.Fill
 +
  End With
 +
 +
  Label1 = New Label(Me)
 +
  Label1.Alignment = Align.Center
 +
 +
End
 +
 +
 +
Public Sub Form_Open()
 +
 +
  With Timer1 = New Timer As "Timer1"
 
     .Delay = 500
 
     .Delay = 500
 
     .Start
 
     .Start
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Timer1_Timer()
+
  Public Sub Timer1_Timer()
 
   
 
   
   If IsNull(TextLabel.Text) then
+
   If IsNull(Label1.Text) then
     TextLabel.Text = "Scritta lampeggiante"
+
     Label1.Text = "Scritta lampeggiante"
 
   Else
 
   Else
     TextLabel.Text = Null
+
     Label1.Text = Null
 
   Endif
 
   Endif
 
   
 
   
  '''End'''
+
  End
  
  

Versione attuale delle 08:25, 8 lug 2023

Per ottenere una scritta lampeggiante è possibile utilizzare almeno due modalità.


Uso delle sole risorse di Gambas

L'uso delle sole risorse di Gambas prevede l'utilizzo di un Timer.

Mostriamo un esempio, nel quale si farà comparire la scritta all'interno di una Label:

Private Label1 As Label
Private Timer1 As Timer


Public Sub _new()

 With Me
   .W = 300
   .H = 100
   .Arrangement = Arrange.Fill
 End With

 Label1 = New Label(Me)
 Label1.Alignment = Align.Center

End


Public Sub Form_Open()

 With Timer1 = New Timer As "Timer1"
   .Delay = 500
   .Start
 End With

End


Public Sub Timer1_Timer()

 If IsNull(Label1.Text) then
   Label1.Text = "Scritta lampeggiante"
 Else
   Label1.Text = Null
 Endif

End


Uso del codice javascript con l'oggetto WebView

Un'altra modalità per ottenere una scritta lampeggiante, anche - volendo - avente diversi colori, caratteristiche e dimensioni al proprio interno, prevede l'uso del codice javascript con l'oggetto WebView. Si dovrà attivare il componente gb.qt4.webkit.

Mostreremo, a mo' di esempio, il codice appresso indicato:

Public Sub Button1_Click()

 WebView1.HTML = "<HTML>" &
  "<div id=\"blink\" style=\"text-align:center;\">" &
  "<span style=\" color:#0000FF; font-size:18px;\">Questo è un testo </span>" &
  "<span style=\" color:#FFAA00; font-size:20px;\">a tre colori </span>" &
  "<span style=\"color:#FF0000; font-size:24px;\">che lampeggia !</span></a> </div>" &
  "<script language=\"JavaScript\">" &
  "function blink_one() {" &
  "document.getElementById('blink').style.visibility='visible';" &
  "/* Qui è indicato in millisecondi il tempo per il quale la scritta rimarrà visibile: */" &
  "setTimeout('blink_two()',500);" &
  "}" &
  "function blink_two() {" &
  "document.getElementById('blink').style.visibility='hidden';" &
  "/* Qui è indicato in millisecondi il tempo per il quale la scritta rimarrà invisibile: */" &
  "setTimeout('blink_one()',500);" &
  "}" &
  "blink_one();" &
  "</script>" &
  "</html>"

End

oppure quest'altro simile:

Public Sub Button1_Click()

  WebView1.HTML = "<HTML>" &
    "<script type=\"text/javascript\">" &
    "function blink() {" &
    "var blinks = document.getElementsByTagName('blink');" &
    "for (var i = blinks.length - 1; i >= 0; i--) {" &
    "var s = blinks[i];" &
    "s.style.visibility = (s.style.visibility === 'visible') ? 'hidden' : 'visible';" &
    "}" &
    "/* Qui è indicata in millisecondi la frequenza di lampeggiamento: */" &
    "window.setTimeout(blink, 500);" &
    "}" &
    "if (document.addEventListener) document.addEventListener(\"DOMContentLoaded\", blink, false);" &
    "else if (window.addEventListener) window.addEventListener(\"load\", blink, false);" &
    "else if (window.attachEvent) window.attachEvent(\"onload\", blink);" &
    "else window.onload = blink;" &
    "</script>" &
    "<blink><FONT color=red>Testo lampeggiante</blink>" &
    "</html>"

End