juvamine
Messages postés468Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention30 août 2007
-
4 août 2004 à 11:41
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 2009
-
8 janv. 2006 à 20:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 8 janv. 2006 à 20:29
sinon tu as toujours la vieille méthode de la détection d'erreur
sur le on text change
on error goto Erreur
dim temp as double
temp = sender.text
sender.backcolor = color.white
exit sub
erreur:
sender.backcolor = color.red
msgbox("Le texteBox " & sender.name & " doit contenir que des chiffres doubles")
je sais , j'ai mixer un peu de .net et vb6.0, je suis plus habitué à Vb6.0. et avoir été en .Net, il y aurait eu des façons d'qavoir un résultat beaucoup plus puissant, surytout mixer avec l'orienté objet
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 30 mai 2005 à 09:32
Comme je l'ai indiqué :
Le presse papier est une faille ici.... libre a vous d'implémenter ca comme bon vous semblera......
il sufit en fait de se greffer sur l'evenement KeyDown, de tester l'action Coller, de verifier le contenu du clipboard et d'empecher si besoin est le collage dans le textbox
quelques lignes de code suffisent pour cela...
papi jim
Messages postés42Date d'inscriptionvendredi 27 mai 2005StatutMembreDernière intervention31 décembre 2005 27 mai 2005 à 15:50
Salut tout le monde,
j'ai une petite question a propos des ctrl + (X,C,V)
avec le code que vous donnez, on peu copier du texte la ou on n'en veut pas... :s
Comment faire pour controle la copie...?
merci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 mars 2005 à 14:59
j'ai même pas essayé le bout de code envoyé !!
j'ai juste repris le code envoyé au dessus, et dont l'algo me semblait étrange.... (Then Vide Else...)
cs_Pitchou13
Messages postés12Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 8 mars 2005 8 mars 2005 à 12:17
Lol la mienne ne va pas non plus...
C'est zarb... En plus je me suis royalement planté ds les signes >,<!
Sa source est bcp plus simple pour les claviers numériques ...
Toi tu as mis que si le keycode est compris entre 97 et 103 allors sa anule l'action ...
cs_Pitchou13
Messages postés12Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 8 mars 2005 8 mars 2005 à 12:07
Alors la c'est du n'importe quoi ! essaie ta source Renfield !
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 mars 2005 à 11:20
...
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
if keyCode > 96 Or keyCode < 105 then
keyCode = 0
end if
End sub
cs_Pitchou13
Messages postés12Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 8 mars 2005 7 mars 2005 à 18:31
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
if keyCode =< 96 and keyCode =>105 then
else
keyCode = 0
end if
End sub
( Mais c'est vrai qu'il ne va accepter les chifres avec MAJ )
Ni les ctrlC,V,X
Si on veut résoudre ses problèmmes on aurra une source beaucoup plus complexe que la tienne...
Donc je retire se que j'ai dis dsl
8/10
@+
cs_derick
Messages postés41Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention25 août 2007 7 mars 2005 à 09:01
Slt Pitchou13 !
Tu veux bien préciser ta pensée ? Et après avoir testé le bout de code proposé, si possible.
cs_Pitchou13
Messages postés12Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 8 mars 2005 6 mars 2005 à 23:39
ya plus simple ! avec le keyAscii ?! no ?
cs_derick
Messages postés41Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention25 août 2007 21 déc. 2004 à 10:50
Warf ! Comme quoi on doit tjrs se relire : ctrl + X fonctionne aussi : on arrive à couper le contenu de la textbox pour le mettre ailleurs. Seul le ctrk + C ne fonctionne pas chez moi, avec l'instruction proposée juste avant.
cs_derick
Messages postés41Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention25 août 2007 21 déc. 2004 à 10:46
eh ! je ne connaissais pas le truc - mais *seul* le chr(22) fonctionne, pour le ctrl+v : on arrive donc à coller dans la textbox qqch venant du presse-papiers.
J'ai utilité l'instruction :
If InStr("1234567890.," & Chr(8) & Chr(22) & Chr(23) & Chr(24), Chr(KeyAscii)) = 0 Then
KeyAscii = 0 'annule l'action de la touche
End If
Qu'est ce que tu en penses, Renfield ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 déc. 2004 à 09:25
on pourrais ajouter les codes ASCII 22 à 24 qui, de mémoire autorisent Ctrl X / V / C
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 19 déc. 2004 à 11:56
merci de m'avoir corriger, d'autant plus que j'utilise souvent cette fonction aussi complète que tu l'as mise. J'ai encore voulu allez trop vite :-) allez bonne prog
cs_derick
Messages postés41Date d'inscriptionmardi 20 mai 2003StatutMembreDernière intervention25 août 2007 19 déc. 2004 à 10:13
Salut !
Je passais par là et j'ai vu que l'instruction de la méthode classique proposée par Tmcuh est incomplète : il faut lire
If InStr("1234567890.," & Chr(8), Chr(KeyAscii)) = 0 Then
KeyAscii = 0 'annule l'action de la touche
End If
>> le chr(keyascii) pour la conversion
>> un p'tit backspace, pour permettre la correction
>> le . et la , pour la saisie de la décimale & séparateur des milliers.
Derick
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 août 2004 à 11:30
Tu as toujours la propriété MaxLength....
au pire, un SendMessage avec EM_SETLIMITTEXT...
juvamine
Messages postés468Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention30 août 20072 25 août 2004 à 11:15
Renfield : j'ai cherché un peu sur le site mais j'ai pas trouvé des masses. En faite je voudrais savoir si AVEC TA METHODE (c'est a dire ajouter une valeur a Style) on pouvais limiter le nombre de caractère du textbox :)
sinon je sais qu'il y a la méthode classique, mais je voulais savoir si c'était possible via cette méthode que je trouve vraiment simple à utiliser et très rapide !
Merci de me répondre
Cordialement
juva
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 4 août 2004 à 18:44
pas mal en effet, bonne recherche en tt cas... y'a un seul problème c'est que le ² est compris comme chiffre, pas cool quoi...
sinon pour rappeler les méthodes classiques:
If InStr("1234567890", keyascii) = 0 Then
keyascii = 0 'annule l'action de la touche
End If
sinon dommage qu'elle est pas adaptable à vb.net car y'a plus de hwnd ...mais sinon 9/10
juvamine
Messages postés468Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention30 août 20072 4 août 2004 à 11:41
c interessant !!! et point très postif ca ne rame pas !! contrairement a certaine source ki verifie chak lettre tapée
8 janv. 2006 à 20:29
sur le on text change
on error goto Erreur
dim temp as double
temp = sender.text
sender.backcolor = color.white
exit sub
erreur:
sender.backcolor = color.red
msgbox("Le texteBox " & sender.name & " doit contenir que des chiffres doubles")
je sais , j'ai mixer un peu de .net et vb6.0, je suis plus habitué à Vb6.0. et avoir été en .Net, il y aurait eu des façons d'qavoir un résultat beaucoup plus puissant, surytout mixer avec l'orienté objet
30 mai 2005 à 09:32
Le presse papier est une faille ici.... libre a vous d'implémenter ca comme bon vous semblera......
il sufit en fait de se greffer sur l'evenement KeyDown, de tester l'action Coller, de verifier le contenu du clipboard et d'empecher si besoin est le collage dans le textbox
quelques lignes de code suffisent pour cela...
27 mai 2005 à 15:50
j'ai une petite question a propos des ctrl + (X,C,V)
avec le code que vous donnez, on peu copier du texte la ou on n'en veut pas... :s
Comment faire pour controle la copie...?
merci
8 mars 2005 à 14:59
j'ai juste repris le code envoyé au dessus, et dont l'algo me semblait étrange.... (Then Vide Else...)
8 mars 2005 à 12:17
C'est zarb... En plus je me suis royalement planté ds les signes >,<!
Sa source est bcp plus simple pour les claviers numériques ...
Toi tu as mis que si le keycode est compris entre 97 et 103 allors sa anule l'action ...
8 mars 2005 à 12:07
8 mars 2005 à 11:20
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
if keyCode > 96 Or keyCode < 105 then
keyCode = 0
end if
End sub
7 mars 2005 à 18:31
if keyCode =< 96 and keyCode =>105 then
else
keyCode = 0
end if
End sub
( Mais c'est vrai qu'il ne va accepter les chifres avec MAJ )
Ni les ctrlC,V,X
Si on veut résoudre ses problèmmes on aurra une source beaucoup plus complexe que la tienne...
Donc je retire se que j'ai dis dsl
8/10
@+
7 mars 2005 à 09:01
Tu veux bien préciser ta pensée ? Et après avoir testé le bout de code proposé, si possible.
6 mars 2005 à 23:39
21 déc. 2004 à 10:50
21 déc. 2004 à 10:46
J'ai utilité l'instruction :
If InStr("1234567890.," & Chr(8) & Chr(22) & Chr(23) & Chr(24), Chr(KeyAscii)) = 0 Then
KeyAscii = 0 'annule l'action de la touche
End If
Qu'est ce que tu en penses, Renfield ?
20 déc. 2004 à 09:25
19 déc. 2004 à 11:56
19 déc. 2004 à 10:13
Je passais par là et j'ai vu que l'instruction de la méthode classique proposée par Tmcuh est incomplète : il faut lire
If InStr("1234567890.," & Chr(8), Chr(KeyAscii)) = 0 Then
KeyAscii = 0 'annule l'action de la touche
End If
>> le chr(keyascii) pour la conversion
>> un p'tit backspace, pour permettre la correction
>> le . et la , pour la saisie de la décimale & séparateur des milliers.
Derick
25 août 2004 à 11:30
au pire, un SendMessage avec EM_SETLIMITTEXT...
25 août 2004 à 11:15
sinon je sais qu'il y a la méthode classique, mais je voulais savoir si c'était possible via cette méthode que je trouve vraiment simple à utiliser et très rapide !
Merci de me répondre
Cordialement
juva
4 août 2004 à 18:44
sinon pour rappeler les méthodes classiques:
If InStr("1234567890", keyascii) = 0 Then
keyascii = 0 'annule l'action de la touche
End If
sinon dommage qu'elle est pas adaptable à vb.net car y'a plus de hwnd ...mais sinon 9/10
4 août 2004 à 11:41
merci pr cette source
++
juva