(vb6) tutorial n1 (débutant) keycode + 2 ou trois astuces

Soyez le premier à donner votre avis sur cette source.

Vue 16 300 fois - Téléchargée 1 510 fois

Description

Ceci est un code pour les très debutants qui souhaite en savoir un peu plus sur l'évenement déclenché lors d'une touche pressée.

Donc si vous venez d'avoir VB et que vous ne savez pas trop l'utiliser, voici de quoi vous permettre de coder un minimum.

C'est Le tutorial 1. J'ai décidé de découper en partie selon les thèmes.

J'ai fournit avec un mini programme en VB (mais sans les sources) pour connaitre le Code Ascii d'une touche pressée. Ce programme est completement debutant mais c'est utile. Si vous souhaites les sources de ce petit prog, demandez-moiet je les posterais.

Mais bon, vous avez ce mini tutorial avec un .exe et bien evidement les sources ;)

Avis aux non debutants: Je sais qu'il y a deja pas mal de tuto mais ça pas pas tuer le site. Et en plus ça peut aider ;)

Conclusion :


Pas de bugs Connus enfin c'est normal c'est pas très compliqué ;)

P.S:Pour l'exe du deuxième programme qui permet de savoir quelle touche est tapée, je suis désolé si lors de l'upload, le .exe a été effacé, je posterais alors les sources (pas très compliqué comme code, juste 1 ligne ^^ :p)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011

Non, non, je viens de me rendre compte que en postant cette source, grace à toi, j'ai appris pas mal de choses. Et puis vu la longueur du texte tu à pris pas mal de temps à expliquer.



Encore merci Jack :p
cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Oui Romit.
Tu as deux solutions :
- Soit dimensionner ta variable en Static : Elle ne sera connue que de ta procédure et ne perdra pas sa valeur entre deux scrutations.
- Soit déclarer ta variable en Private dans la partie déclaration de ton code : La variable sera visible de toutes les procédures de ce module ou forme : Intérêt limité dans ton cas, mais c'est la solution standard et moins complexe pour le compilateur. Là, on se fiche un peu de l'espace mémoire occupé par l'EXE.

"Option Explicit" est juste une déclaration en tête de chaque page de code (insérable automatiquement à la création : Outils, Option, onglet Edition, case à cocher "Déclaration des variables obligatoires") qui t'oblige à déclarer chaque variable utilisée.
C'est chiant au début et on se dit que ce n'est pas utile, mais ça a l'avantage de t'obliger à réflechir à l'étendue d'application de ta variable :
- Vivante unqiuement dans la procédure : un Dim dans la procédure
- Doit conserver des données entre les procédures d'une même page de code : un Private dans la partie déclaration de la page de code
- Doit conserver des données entre les procédures de tout le projet : un Public dans la partie déclaration d'un Module (uniquement)
Pour compléter, on peut aussi déclarer une variable en Public dans une forme. Elle sera visible de tout le projet en l'appellant sous cette forme "laForme.laVariable", mais à condition que la forme soit chargée (pas forcément affichée), ce qui n'est pas toujours le cas dans un projet à plusieurs forme = Utilisation dans des cas très particuliers.

Dans de gros projets, il est hyper important de bien gérer ça.
La solution de facilité consiste à tout mettre en Public, mais ça finit par devenir une vraie jungle de variables. De plus, ça aidera le compilateur à gérer l'attribution de mémoire à l'EXE, il faut penser qu'il n'y a pas que cet EXE qui run dans le système !

Je suis content que tu es considéré mes remarques comme constructives, j'avais peur que tu les prennent comme une critique ;-)
romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011

OUPS !!!!

J'ai fait ça vite et j'ai fait une petite erreur. J'ai déclaré lastkey dans la procédure, j'aurais du la déclarer dans Option Explicit. Car à chaque fois elle sera remise à zero.

Donc pou corriger:
Effacer "Dim lastkey as string"
Et rajouter "Dim lastkey as string" dans les Option Explicit.

Ou bien (je ne connait pas bien la fonction mais bon) rajouter apres "dim lastkey as string"
Ceci:
"static lastkey"

^^ static c'est une fonction de Qbasic, je ne sais pas si elle marche encore mais elle permet à une variable déclarée dans une procédure de garder sa valeur ^^ :p
romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011

Je n'ai pas bien compris ton:
"Dans Form3 toujours : Tu ne gères pas les vbBackSpace
Tu peux donc entasser le chiffre 8 parmi les valeurs --> Test ne sera jamais bon"

Peut-etre veux-tu dire ceci:

Si par exemple je tape "eto" j'appuie sur backspace pour corriger mais le programme ne le prned pas en compte... oui mais je ne trouve pas ça tellement utile.

je pourrais faire cela pour la gestion du dernier caractère:
dim lastkey as string
if KeyCode=8 then
touche = Left(touche,Len(touche)-Len(lastkey))
'Je vide LastKey pour eviter un bug si je fait deux fois de suite BackSpace
lastkey = ""
else
touche = touche & CStr(KeyCode)
lastkey = CStr(KeyCode)
end if
If Instr(touche,"LECODE") then
'Je vide touche
touche = ""
'Action
End if

Enfin je viens detaper ça vite fait sans le tester mais ça ne prendrais en compte que le dernier caractère tapé.

Mais je ne pense pas vraiment que ça soit très utile, enfin ce mini script aura pour but d'aider un peu plus les lecteurs ^^ :p
romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011

lol :( Ok ben je prend tous ça en compte pour une révision ^^ :p

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.