Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] SendKeys.Send non stampa le parentesi
Forum - C# / VB.NET - [VB.NET] SendKeys.Send non stampa le parentesi

Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Segnala al moderatore
Postato alle 15:45
Lunedì, 05/12/2011
salve a tutti, sto creando un piccolo tastierino per faccine con arduino e VB.NET e per simulare la pressione dei tasti uso SendKeys.Send, però quando vado a stampare le parentesi mi da un eccezione dicendomi che il carattere non è valido! ma perchè dico io? è solo una stringa normale come tutte le altre, non è un espressione e nemmeno un tasto come ALT o CTRL! come posso risolvere??


Non hai bisogno di vedere l’intera scalinata. Inizia semplicemente a salire il primo gradino. (Martin Luther King)
PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 15:52
Lunedì, 05/12/2011
hai già provato a sostituire la stringa "(" o ")" con la funzione chr e il numero ascii?

Codice sorgente - presumibilmente Plain Text

  1. Sendkeys.Send(chr(40)) 'Aperta tonda (
  2. Sendkeys.Send(chr(41)) 'Chiusa tonda )




Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM Quote
Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Segnala al moderatore
Postato alle 16:07
Lunedì, 05/12/2011
tranquillo ho risolto mettendo la parentesi tonda tra parentesi graffe come si fa per i tasti ALT o INVIO...anche se non mi spiego perchè prima mi desse errore


Non hai bisogno di vedere l’intera scalinata. Inizia semplicemente a salire il primo gradino. (Martin Luther King)
PM Quote
Avatar
VMikle (Ex-Member)
Rookie


Messaggi: 52
Iscritto: 14/09/2011

Segnala al moderatore
Postato alle 20:04
Lunedì, 05/12/2011
SendKeys.Send interpeta le parentesi ed i caratteri ~ ^ + % in modo particolare, per esempio:
Testo quotato

To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed, followed by C without SHIFT, use "+EC".



Perennemente svogliato :/
PM Quote
Avatar
Nullable (Normal User)
Expert


Messaggi: 217
Iscritto: 12/07/2011

Segnala al moderatore
Postato alle 22:15
Lunedì, 05/12/2011
Testo quotato

Postato originariamente da VMikle:

SendKeys.Send interpeta le parentesi ed i caratteri ~ ^ + % in modo particolare, per esempio:
Testo quotato

To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed, followed by C without SHIFT, use "+EC".




Esatto, quindi per stampare una parentesi ( generica ) aperta devi scrivere SendKeys.Send("{{}"), per quella chiusa invece SendKeys.Send("{}}")

Ultima modifica effettuata da Nullable il 05/12/2011 alle 22:17


Hai perso.
PM Quote