Newsgroup: it.comp.lang.visual-basic
Titolo: Maschere per intercettare i pulsanti.

Ciao, in cosa consiste usare le 'maschere' per intercettare i pulsanti del
mouse o della tastiera?
Perchè devo sempre usare sempre l'operatore AND e due costanti?
La prima è di confronto, mentre l'altra è da confrontare, ok, ma se io
invece di usare roba del tipo
if shift AND vbAltMask then....
uso:
 if keycode=vbAltMask then...dell'evento Keydown
perchè non funziona?
Grazie a tutti.


se fai domande del genere č perchč usi poco il debug...
Un metodo semplicissimo (uno dei tanti)č quello di inserire un'istruzione
stop prima dell'if e controllare i valori.Un'altra possibile č semplicemente
un debug.print .Insomma controllare sto benedetto valore delle variabili e
fatto questo ti accorgerai che le variabili sono diverse e ,come dice il
nome,vbAltMask č una maschera che puoi usare con l'istruzione and.
ciao
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------

 ciao
Ok, grazie...in effetti sto all'inizio e non č che usi molto il
debug...insomma per due righe di codice :)
Ciao.

 debug...insomma per due righe di codice :)
Che non vanno :P
Non è un'offesa, capita anche a me.
Il debug di VB è il migliore tra quelli di tutti gli ambienti, impariamo a
usarlo, è utilissimo quanto l'F1.
Ciao


Questa è una profonda verità.
Con tutti i suoi difetti, Vb ha veramente un debug ottimo.
ciao
ugo

 ha scritto nel messaggio
news:9nbh3r$3d4$2...@lacerta.tiscalinet.it...

Vabbè regà....io ho appena ri-cominciato dopo tre anni....
Lasciateme sta, no!? :D


non esageriamo...
non dimenticare che è pur semrpe un linguaggio interpretato (almeno come
prima istanza) e che di debug c'è poco.Poi se pensi che non gestisce per
nulla i thread.
mah....
--


 nulla i thread.
che risposta è?
non vedo perché il debugger di VB debba gestire i threads visto che lo
stesso linguaggio non permette di usarli (timer e ax non c'entrano nulla).
Il debug di VB è eccellente, tra i migliori mai provati anzi forse il
migliore.
--
Fibia "meglio senza sign" FBI


????
ciao
ugo

 migliore.
beh se non guardi piů in la del tuo naso ...
essendo un linguaggio interpretato non ci vuoel molto ad inserire
un'istruzione che faccia quello che vuoi....
poi datti una calmata che gli atteggiamenti come i tuoi non mi piacciono
....
con questo ho finito...


con questo ho finito...
speremmu ben !
ciao, hal

 speremmu ben !
qui č meglio non darti una risposta ..bye



Beccati questa, Hal, così impari a cercare di mediare le cose...    :-P
Io taglio qui... non ho nessuna voglia di ributtarmi in discussioni prive di
significato...    :-(
A Fibia, se ne ha voglia e tempo, il compito di spiegare...   :-(
ciao
ugo

 A Fibia, se ne ha voglia e tempo, il compito di spiegare...   :-(
questa stupidata che significato ha ? :))))))))
ahhahahha


dovresti leggere meglio dietro le righe :))
Le interpretazioni sono soggettive per definizione.
I problemi vanno risolti analizzando le cose con imparzialita'.
Ergo, mi limito a leggere le righe e basta.
Ricordati, che si vedono negli altri i propri difetti.
ciao, hal

 con questo ho finito...
sarebbe l'ora
(*) meglio non chiedere miracoli
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #26 delle Mitiche Brigate Takahashi sezione Sud

 ahhahahha
come volevasi dimostrare
(*) il termine gente è volutamente ironico e non pertinente al soggetto in
esame.
--
Fibia "alle terme di Caracalla... " FBI



se guardi i miei post noterai sicuramente che esprimo sempre e solo il mio
pensiero senza darmi ragione a priori .
Sicuramente si nota ,in quel post di fibia, un voler prevalere su un
argomento senza neppure tener conto della possibilità di aver torto (sto
analizzando solo il messaggio senza tener conto  del dietro el quinte
:)) ).Io e te ci siamo confrontati un paio di volte e sicuramente non ci
siamo dati ragione prima di aver espresso un proprio pensiero.Poi ho notato
questo vostro darvi ragione a vicenda senza neppure prendere in
considerazione il thread(va bene l'essere amici ma come dici tu
l'imparzialità mi semrba fondamentale).Cmq per chiudere la questione thread
se si è praticato un po di C++ sotto windows si capsice quanto sia più
semplice un debug con un linguaggio interpretato.
Ma nesusno di voi ha mai avuto problemi di debug con il subclassing vb ?
Si capisce subito che appensa si esce dal "puro vb" il debug è
inutilizzabile e questo non avviene con altri.Poi come si dice se piace a te
tienitelo :))Spero di essrmi spiegato ma quanta pazienza.....
 ciaoo


 della tua testa siano state prodotte frasi come la suddetta.
beh con questo post ti sei insultato da solo ...
passo e chiudo

 un'istruzione che faccia quello che vuoi....
[snip]
Rimanendo in ambito tecnico e non personale ricordo che:
(1) Con le api teoricamente si possono usare.
Ma con VB6 non funzionano (guarda caso è stato verificato proprio da Fibia
che con VB5 funzionano e con VB6 no, quindi questo è stato proprio un colpo
sfortunato).
(2) VB dal 5 in poi non è più necessariamente interpretato.
Solo il prog. eseguiti nell'IDE sono interpretati.
Per fortuna, aggiungo io, così è possibile avere il fantastico debugger di
coi dispone VB.
Impensabile con un programma compilato.
Ora una sola nota in ambito personale (assolutamente senza ironia):
Riguardo al tuo presunto spalleggiamento da parte dei frequentatori del NG.
Potrebbe anche essere vero, ma è normale che chi si conosce tende a formare
gruppo, ma solo perchè si è uniformato alle regole del gruppo stesso.
Personalmente tendo a difendere i nuovi (anche se a volte non sembra), ma
soprattutto difendo chi si attiene alle regole del convivere civile.
Sarà una mia impressione ma mi sembri molto maleducato e prepotente (faccio
notare: nessuna parolaccia offensiva).
Per questo anche altri tendono a darti contro.
Se uno nuovo entra e inizia a offendere... beh si aspetti solo di essere
preso a calci nelle gengive.
Un mio amico quando qualcuno gli chiede "vieni un attimo che ho bisogno"
risponde "sei tu che hai bisogno, muoviti tu!".
L'ultimo arrivato e chi ha bisogno, deve necessariamente stare un po'
"schiacciato" all'inizio se vuole entrare nel gruppo.
Non è questione di NG, è la natura umana.
(accidenti, alla faccia della noticina)
Ciao

 Non è questione di NG, è la natura umana.
io considero il newsgroup pubblico e di entrare nel tuo gruppo ti assicuro
che non mi interessa assolutamente e in futuro vi sarei grato se tu e i tuoi
amichetti evitaste di leggere i miei post grazie (naturalmente io farò
altrettanto)
Prima di fare affermazioni gratuite dovresti portare qualche
fatto,soprattuto questa è educazione.

Spero di essrmi spiegato ma quanta pazienza.....
Un po' di pazienza nel rapportarsi con gli altri non guasta mai :-)
Immagino che tu sia ben piu' giovane di me e, a causa di cio',
piu' impulsivo.
Col tempo, con l' esercizio, e un po' di autostima, si impara.
ciao, hal

 Immagino che tu sia ben piu' giovane di me e, a causa di cio',
se si č tirata fuori un thread di parole incivili e prive di ragionamento
,chiaramente non partite da un'unica persona (non voglia mica tirarmi
indietro chiaramente ci ho messo anche dal mio)e con questo parlo ovviamente
di fibia (il suo post č illeggile da quanto puzzava :))) e di zanna che ha
usato parole false e senza fatti .Cmq meglio chiudere qui con 2 parole ci
siamo intesi benissimo(non sono mica cosě giovane , se il 61 č il tuo anno
il mio č il 70 fai un po te :)) )e abbiamo dato risalto alle evidenti
mancanza di sto "debug vb" il che si č dimostrato ,in via di fatto, non cosě
tanto un gioiellino.
Forse non mi sbagliavo poi cosě tanto ? :)))))
Se dessimo meno fiato all'ego e prima ragionassimo la cosa si risolverebbe
sicuramente prima e in maniera civile :))
va beh spero di essermi spiegato almeno con te, comincia a diventare lunga
sta cosa .Quando discutiamo io e te ci diamo una fine ,beh a te l'ultima
risposta, se ne hai voglia ,cosě con tutto questo speriamo sia veramente
finita. :))))))))))

gestisce per nulla i thread.
E invece, pensa, se usi i thread o le callback il debugger ti becca 
comunque i breakpoint, e spesso non crasha nemmeno!

 if shift AND vbAltMask then....
ci siamo persi un po' per strada con questa discussione... Allora. Devi 
sapere che certi tasti (normalmente Shift, Control, Alt) non generano, 
normalmente, eventi tastiera, ma modificano eventi in corso. Mettiamo 
che io prema il tasto A, se non sbaglio ASCII 65, al programma arriva 
una cosa del genere (in binario)
00000000 01000001
che è 65, in base 2 e usando 16 bit. Perchè 16 bit, se usiamo caratteri 
ANSI a 8 bit? gli 8 bit superiori sono riservati ai "meta key", i 
"modificatori" di cui sopra (Shift, Control e Alt). Ora non so di 
preciso quali bit attivino, ma mettiamo che lo Shift attivi il bit 
numero 9, se tieni premuto Shift e premi A, al tuo programma arriverà 
questo:
00000001 01000001
Vediamo, come fare a controllare se Shift era premuto durante l'evento? 
Facciamo un passo all'indietro. Che significato hanno "Falso" e "Vero" 
in VB? Falso equivale a zero, specificamente 00000000 00000000. Tutto il 
resto è vero, anche se la costante True equivale a 11111111 11111111, 
ossia "Not False", l'esatta negazione di False, che VB mostra come -1 
perchè usa unicamente i numeri con segno. Ma rischiamo di divagare. 
Praticamente, dobbiamo trovare un valore che combinato con l'evento ci 
dia 00000000 00000000 se il bit numero 9 è uguale a zero. Questo numero, 
non potrebbe essere più semplice di così, è
00000001 00000000
Che combinato (con un AND) con il primo evento da' questo risultato:
00000000 01000001 AND
00000001 00000000
_____________________
00000000 00000000
Falso! perchè Shift non era premuto. Il secondo evento, invece:
00000001 01000001 AND
00000001 00000000
_____________________
00000001 00000000
Non-falso, quindi vero, e infatti Shift qui era premuto. Se ti stessi 
chiedendo per caso come funziona AND, ecco la sua "tabella di verità":
   |   |
AND| 0 | 1
---+---+---
 0 | 0 | 0
---+---+---
 1 | 0 | 1
   |   |
Cioè AND da' 1 se e solo se tutt'e due gli operandi sono uguali a 1, in 
pratica se i bit veri nel secondo operando sono tutti veri nel primo, 
che è quello che ci interessa.
Abbastanza chiaro?


Infatti, il debugger di Vb -NON E' FATTO PER QUESTO-, e' tutta qui la
questione.
Il cui debugger di Vb, PER GLI SCOPI PER CUI E' STATO CREATO, è veramente
ottimo.
O preferisci cominciare il solito thread su:
"Cavolo, con Vb non si può scrivere un Sistema Operativo... che schifo..."
Senza intenzioni di ulteriore polemica, dato che mi sembri comunque una
persona civile (a differenza di quella moltitudine di troll che stanno
comparendo nel Ng in questi giorni)...
ciao
ugo

 persona civile (a differenza di quella moltitudine di troll che stanno
meno male che questo si sia capito :))
visto che si parla civilmente le colpe credo siano un po di tutti e si è
trasceso in insulti che forse ci "potevamo" risparmiare e alla luce dei
fatti credo sia colpa un po di tutti (anche la mi aovviamente)....
ciao
--
