Gambas-it

Gambas3 => Programmazione => Topic aperto da: dex - 07 Aprile 2019, 19:54:44

Titolo: [Risolto] Tasto Blocco Maiuscole
Inserito da: dex - 07 Aprile 2019, 19:54:44
avete qualche idea come sapere se il Tasto Blocco Maiuscole è attivo?
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: Gianluigi - 07 Aprile 2019, 23:37:05
Prima di chiedere occorre fare una ricerca  :violent:

http://www.gambas-it.org/smf/index.php?topic=6419.msg44049#msg44049
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: dex - 08 Aprile 2019, 09:57:29
Sorry
avevo gia fatto la ricerca e non trovato nulla, evidentemente ho sbagliato le parole per la ricerca
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: cogier - 08 Aprile 2019, 15:39:30
Ho messo un esempio sulla 'Gambas Farm' oggi.
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: Gianluigi - 08 Aprile 2019, 15:49:49
Ho messo un esempio sulla 'Gambas Farm' oggi.

Usi lo stesso codice (SHELL "xset q | grep 'LED mask:'" TO sShellOutput) proposto da fsurfing 11 anni fa  :-\
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: Gianluigi - 08 Aprile 2019, 17:46:27
Se poi l'intento è quello di scrivere il codice più corto allora questo è più corto e usa meno funzioni:

Codice: [Seleziona]
Public Sub Form_Open()

  Dim sRes As String

  Try Shell "xset q" To sRes
  If Val(Scan(sRes, "*LED mask:  *\n*")[1]) = 1 Then Message.Warning("Attenzione il Bloc Maiusc è attivato")

End

Per il codice completo:

Codice: [Seleziona]
Public Sub Main()

  Dim sRes As String

  Try Shell "xset q" To sRes
  Select Val(Scan(sRes, "*LED mask:  *\n*")[1])
    Case 0
      Print "Nessun led acceso"
    Case 1
      Print "Bloc Maiusc Attivo"
    Case 2
      Print "Bloc Num Attivo"
    Case 3
      Print "Bloc Maiusc + Bloc Num Attivi"
  End Select

End
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: dex - 08 Aprile 2019, 20:53:28
Ragazzi dopo molto impegno e sudore ho Risolto!

ho copiato il codice di Gianluigi   :rotfl: :rotfl: :rotfl:

in form Open
Codice: [Seleziona]
VediTasti

Codice: [Seleziona]
Public Sub VediTasti()

  Dim sRes As String

  Try Shell "xset q" To sRes
  Select Val(Scan(sRes, "*LED mask:  *\n*")[1])
    Case 0
      Print "Nessun led acceso"
    Case 1
      Print "Bloc Maiusc Attivo"
    Case 2
      Print "Bloc Num Attivo"
    Case 3
      Print "Bloc Maiusc + Bloc Num Attivi"
  End Select

End

Codice: [Seleziona]
Public Sub Form_KeyRelease()
 
  VediTasti
 
End

ps. non ditelo a Gianluigi  ;D
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: vuott - 08 Aprile 2019, 20:58:25
Ragazzi dopo molto impegno e sudore ho Risolto!

...con Shell ?!


(https://ddeubel.edublogs.org/files/2016/05/dissapointment-1jtpu75.gif)
Titolo: Re:[Risolto] Tasto Blocco Maiuscole
Inserito da: dex - 08 Aprile 2019, 21:02:31
ecco mi ero dimenticato che non dovevate dirlo nemmeno a Vuott
Titolo: Re:[Risolto] Tasto Blocco Maiuscole
Inserito da: Gianluigi - 08 Aprile 2019, 22:43:29
ecco mi ero dimenticato che non dovevate dirlo nemmeno a Vuott

 :rotfl: :rotfl: :rotfl:
Titolo: Re:Tasto Blocco Maiuscole
Inserito da: Gianluigi - 09 Aprile 2019, 12:02:34
Ragazzi dopo molto impegno e sudore ho Risolto!
...

 :-[ Mi è sorto un dubbio, non sono sicuro di come il comando xset crea l'output.
E se può accadere che in qualche distro invece di due spazi dopo LED mask: la shell ne restituisca in numero diverso, pertanto visto che Val() non tiene conto ne degli spazi ne degli zero forse conviene variare il codice di Scan così:
Codice: [Seleziona]
Val(Scan(sRes, "*LED mask:*\n*")[1])

 :ciao:
Titolo: Re:[Risolto] Tasto Blocco Maiuscole
Inserito da: dex - 09 Aprile 2019, 12:34:42
provato su ubuntu 18 e linux mint 16 funziona