DETECTER CANCEL SUR L'INPUTBOX

cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008 - 10 mai 2005 à 17:36
sehfat Messages postés 3 Date d'inscription dimanche 9 novembre 2003 Statut Membre Dernière intervention 7 mars 2013 - 7 mars 2013 à 10:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31308-detecter-cancel-sur-l-inputbox

sehfat Messages postés 3 Date d'inscription dimanche 9 novembre 2003 Statut Membre Dernière intervention 7 mars 2013
7 mars 2013 à 10:10
ca marche bien
merci
cs_hippo92210b Messages postés 59 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 9 décembre 2009
21 mai 2008 à 19:54
Génial! C'est vraie que c'érait plutôt nul cet faille mais elle est comblé !

10/10
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
7 avril 2008 à 09:39
Vi c'est vrai, je n'avais pas vraiment compris le but du code (sauf après avoir relu 2 fois).
Mais j'ai quels moyens pour détecter s'il sagit d'un "Cancel" ou d'un "ok" en vb2005?
Merci.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
5 avril 2008 à 12:56
petiote> Tu ne détectes donc pas l'appui sur Cancel ;op
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
5 avril 2008 à 10:32
Bonjour,

Visiblement, Petiote, tu n'as pas compris la subtilité du code... Après, vérification avec VB2005, "sTemp.length" a exactement le comportement de "Len(sTemp)". Donc, ce que tu proposes fonctionne si du texte est présent, mais si le champ est vide, comme demande Econs, ton code ne peut pas détecter le OK...

Amicalement,
Us.
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
4 avril 2008 à 15:37
Salut,

ça affiche la messagebox que tu annules ou valides un champs vide.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
4 avril 2008 à 15:34
Et si tu ne tapes aucune valeur, et que tu cliques sur le bouton OK ?
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
4 avril 2008 à 14:24
Re,
Oups, à la place de mon "ajoutenqteannee" il faut bien sûr mettre "sTemp".
@pluche
cs_Petiote Messages postés 14 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 8 février 2010
4 avril 2008 à 14:22
kikoo all,

Pour ma part je suis en vb.net sous VS 2005 et aucune de vos méthodes n'a fonctionnée alors j'ai bidouillée moi aussi

If (ajoutenqteannee.Length) = 0 Then
MsgBox "Vous avez appuyé sur Cancel."
End If

Voilou ;)
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
21 janv. 2008 à 21:38
Bonsoir à tous,

Yoman64 a parfaitement répondu. Une autre lien se trouve tout en haut de cette page à droite, en gris clair "Snippets"... Moi, je verrai bien ces astuces sur Codyx, mais je laisserai Econs en décider... Une adaptation ? oui, mais bien pensé aussi...

Quant à LenB, je crois Explorer qu'on ne puisse pas faire exactement la même chose...

Amicalement,
Us.
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
21 janv. 2008 à 12:10
C'est un lieu pour les snippets (bout de code) de tout les langages :)

http://codyx.org/
mitsh666 Messages postés 46 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 13 juin 2008 1
21 janv. 2008 à 09:46
Salut Us_30,

merci pour le 10/10, mais ce n'est que de l'adaptation ;) Le but est d'avoir un peut tout ensemble.

Pour codyx, c'est quoi? :|

A+

Mitsh
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 janv. 2008 à 20:42
Salut,

On peut aussi utliser : LenB

Mais je pense que j'arrive aprés la guerre..lol...

A+
Exploreur
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 juil. 2007 à 13:32
Un 10/10 aussi pour Mitsh666 ! -;):

Une p'tite suggestion... Ces petites astuces auraient-elles pas une place sur codyx ?

Amicalement,
Us.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
27 juil. 2007 à 09:32
Effectivement, tu n'auras pas StrPtr en VBS, mais en VB6.
Drôlement pratique le isEmpty, un peu comme le isset de PHP
mitsh666 Messages postés 46 Date d'inscription dimanche 10 octobre 2004 Statut Membre Dernière intervention 13 juin 2008 1
27 juil. 2007 à 09:22
Hello,

top ton code. Cela dis, j'ai du le modifié un peu pour l'utilisé sur vbscript. Voici ce que ça done :

Dim stemp

sTemp = inputbox("tapez votre nom","Identité")
If isEmpty(sTemp) Then
MsgBox "Vous avez appuyé sur Cancel."
else
MsgBox "Vous avez appuyé sur Ok"
End If


A+ et merci encore pour avoir poster ton génie ;-)
okonkole Messages postés 5 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 19 septembre 2006
23 mai 2007 à 10:12
Depuis le temps que je me demandais comment faire...
Merci
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 déc. 2006 à 09:52
Y'a toutes les chances que StrPtr n'existe plus en VB.NET.
Elle doit être remplacée par autre chose.
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
10 déc. 2006 à 22:06
Salut,

D'autre pourront confirmer mes propos, je pense, mais en VB.NET et autre version, il convient de vérifier si StrPtr() est une fonction encore présente... Sur certaines versions récentes en VB, cette fonction a été supprimée... ce qui explique le message d'erreur de Mathben...

Amicalement,
Us.
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 décembre 2006
10 déc. 2006 à 18:30
QUand j'utilise la fonction StrPtr(), vb.net ne veut pas le détecter?
il dit que je n'ai pas déclarer ma variable.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
10 déc. 2006 à 18:27
Non, voici les cas d'usages :

If sTemp = "" And StrPtr(sTemp) <> 0 Then
' L'utilisateur n'a rien entré.
Else
If sTemp "" And StrPtr(sTemp) 0 Then
' L'utilisateur a cliqué sur Annuler
Else
' L'utilisateur a entré quelque chose.
End If
End If

Tout est pourtant écris dans la description.
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 décembre 2006
9 déc. 2006 à 20:07
Désolé, je n'avais pas vue la définition de StrPtr!
donc, si la personne marque rien dans la barre, je veux être capable de lui dire qu'il a rien écrit et qu'il doit recommencer.
Si la personne fait cancel, je dois être capable de le déterminer.

Seule la fonction StrPtr(), qui renvoie un pointeur sur chaine permet de savoir ce qui a réellement été renvoyé.
Pour une chaine vide, StrPtr(chaine)<>0
alors que si on appuie sur Cancel, on renvoie un pointeur nul.

Si la personne marque rien, le pointeur va être nul?
Pareille que si il appuie sur cancel?

Est-ce que j'ai raison? Merci
cs_mathben Messages postés 30 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 10 décembre 2006
9 déc. 2006 à 20:03
Ouais, j'essaie d'appliquer ton code.
C'est quoi StrPtr ?
aussi, si la personne écrit 0 dans la barre d'écriture, il va avoir un erreur?
moi je veux que le monde rentre des notes d'examens, si ils font un erreur, je veux leur avertir et si ils font cancel car ils doivent recommencer, je dois le savoir!
merci
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
30 oct. 2006 à 12:46
Yop, je prend ;)
@+
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
21 août 2005 à 00:43
Impeccable ! 10/10 ! Vraiment bien penser.

Us.
kronemburg Messages postés 15 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 3 décembre 2005
10 août 2005 à 13:06
Génial
Monitech Messages postés 1 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 15 mai 2005
15 mai 2005 à 22:58
bravo , bien penser
cs_the mentor Messages postés 22 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 27 janvier 2007
13 mai 2005 à 04:43
Nice :D
10/10 bien penser
jrbleboss Messages postés 480 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 3 septembre 2007 1
11 mai 2005 à 20:38
Oui c'est simple mais pas con.
cs_Pingouin Messages postés 262 Date d'inscription lundi 26 août 2002 Statut Membre Dernière intervention 24 août 2005
10 mai 2005 à 22:00
Ouep bien vu ! Je n'aurais jms pensé a ca comme quoi il y en a toujours plus dans 430 015 têtes de membres CodeS SourceS que dans une ;-)

@+

Pingouin
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
10 mai 2005 à 19:24
nice,vraiment ;)
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
10 mai 2005 à 17:36
Plutot bien ... je vais me coucher moin niaiseux ce soir :P
Rejoignez-nous