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.
3
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
3
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
3
cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
0

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
0