K8055 touche clavier

Résolu
nicoyougy Messages postés 4 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 16 décembre 2008 - 27 nov. 2008 à 23:49
nicoyougy Messages postés 4 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 16 décembre 2008 - 16 déc. 2008 à 23:14
Bonjours ,
Je réalise un petit programme en m'inspirant de divers source de ce site pour piloter la carte K8055 de chez Velleman. Les boutons marche avec la souris, pour me permettre d'inhiber les sorties.

Voici l'exemple, si ça peux aider d'autre novices.

Private Sub descendre_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        SetDigitalChannel 1
        If descendre = True Then
    End If
End Sub

Private Sub descendre_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ClearDigitalChannel 1
    If descendre = True Then
    End If
End Sub

Je voudrai maintenant  faire évoluer le programme. Je voudrai  affecter la  touche flèche bas du clavier (commande en supplement), directement  pour la sortie1. Comment faire pour réaliser cette code?

A+

nicoyougy

5 réponses

nicoyougy Messages postés 4 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 16 décembre 2008
28 nov. 2008 à 15:08
Merci Casy de ton info

Maintenant je vais essayé de mette un code en face ou trouver des sources par rapport à ton explication.
nicoyougy Messages postés 4 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 16 décembre 2008
11 déc. 2008 à 22:14
J'ai enfin réussi à faire la recherche .

Le code que j'ai écrit est celui là.

Private Sub Form_KeyPress(KeyAscii As Integer)
'selectionne le deplacement  par le touche  descendre
    If KeyCode = 37 Then
    SetDigitalChannel 1
        If descendre = True Then
    End If
End Sub

J'ai bien mis KeyPreview de la form en True.

Mais l'ensemble ne marche pas.
Quel est la solution?

Nicoyougy
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 déc. 2008 à 22:41
(j'ai pas VB6 pour vérifier)





Soit tu utilise KeyPress, tu as donc l'argument KeyAscii qui te renvoie le code ascii du caractère tappé.

Soit tu utilise KeyUp ou KeyDown et tu as l'argument KeyCode qui te renvoie le code de la touche du clavier qui a été utilisée.

Ici tu utilise KeyPress mais tu fais le test sur l'argument keyCode. Ce n'est pas bon

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 nov. 2008 à 10:37
Le plus simple étant, je pense, d'utiliser l'évènement Keypress de ta form.

Dans cet évènement tu vérifiera que l'objet déclencheur est bien la touche Fleche bas et tu agira en conséquence.

Pense à activer la propriété KeyPreview de la form pour qu'elle intercepte les évènements clavier avant les autres controles.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicoyougy Messages postés 4 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 16 décembre 2008
16 déc. 2008 à 23:14
Voila le code mais, ça marche pas.

Private Sub droite_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyRight Then
 SetDigitalChannel 2
    End If
End Sub

Je pense qu'il  me manque certaine infos.
La sortie de K8055 ne s'active pas et lorsque d'appuis sur la flèche droite , la sélection tourne vers les différents touches qui est dans la form suivant le nombre de fois appuillé. Est qu'il faudrai pas verrouiller cette touche juste pour ce bouton?

A+

nicoyougy
Rejoignez-nous