OVH Cloud OVH Cloud

OK ou Cancel

5 réponses
Avatar
Jean-Philippe Bariteau
Bonjour, j'aimerais savoir comment différencier, lors d'une entrée dans un
input box, si l'utilisateur a entré une chaine vide et a pesé sur ok ou si
il a pesé sur cancel.

Merci

--

Jean-Philippe Bariteau
CRGL / Net Communications

5 réponses

Avatar
François Picalausa
Hello,

Tu peux essayer ceci:
Dim strValue As String

strValue = InputBox("Test")
If StrPtr(strValue) Then
MsgBox "Valeur entrée : " & strValue
Else
MsgBox "Annuler"
End If

Il s'agit d'un test pour savoir si la chaine ne pointe vers rien (= pas de
chaine = annuler) ou si elle pointe vers une valeur quelconque (la structure
BSTR contiendra alors la longueur des données).

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Jean-Philippe Bariteau" a écrit dans
le message de news:%
Bonjour, j'aimerais savoir comment différencier, lors d'une entrée
dans un input box, si l'utilisateur a entré une chaine vide et a pesé
sur ok ou si il a pesé sur cancel.

Merci


Avatar
le_troll
Bonjour, c'est un peu le problème des InputBox, on ne sait pas si on
abandonne ou si on valide une saisie vide, pour ma part, je considère que
tout ce qui est vide (chaîne réceptrice), on abandonne, et si il y a quelque
chose on texte on traite:
dir rep
rep=""
rep = InputBox("..")
if len(rep) < 1 then: exit sub

Ces boîtes sont rapides, mais l'idéal est de prendre une form réservée à
cet effet, c'est bien plus souple avec un TextBox et des CommandButton,et
plus agréable pour l'utilisateur, moins agressif
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------


"Jean-Philippe Bariteau" a écrit dans le
message de news: #
Bonjour, j'aimerais savoir comment différencier, lors d'une entrée dans un
input box, si l'utilisateur a entré une chaine vide et a pesé sur ok ou si
il a pesé sur cancel.

Merci

--

Jean-Philippe Bariteau
CRGL / Net Communications




Avatar
Jean-Philippe Bariteau
Désolé, j'ai oublié de le spécifier, je programme en .net, donc la fct
strptr n'existe pas!

Merci


"Jean-Philippe Bariteau" wrote in message
news:%
Bonjour, j'aimerais savoir comment différencier, lors d'une entrée dans un
input box, si l'utilisateur a entré une chaine vide et a pesé sur ok ou si
il a pesé sur cancel.

Merci

--

Jean-Philippe Bariteau
CRGL / Net Communications




Avatar
François Picalausa
Hello,

Dans ce cas:
<Mauvais groupe - réponse standard>
Ce groupe est dédier à VB6 et à ses versions antérieurs. Pour obtenir de
l'aide sur VB.NET ou tous autre produit .NET, pose tes questions dans
les groupes contenant le terme "dotnet" ou "vsnet", tel que :

microsoft.public.fr.dotnet.vb
</Mauvais groupe - réponse standard>

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Jean-Philippe Bariteau" a écrit dans
le message de news:
Désolé, j'ai oublié de le spécifier, je programme en .net, donc la fct
strptr n'existe pas!


Avatar
Pierre Alexis [MVP]
Salut Joe,

Tu as écrit :

Bonjour, c'est un peu le problème des InputBox, on ne sait pas si on
abandonne ou si on valide une saisie vide



Differentiating Between Cancel and OK/No Value in an InputBox
http://vbnet.mvps.org/index.html?code/helpers/inputbox.htm

Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ©1996-2004 VBnet, Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
' applications, but you may not reproduce
' or publish this code on any web site,
' online service, or distribute as source
' on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command1_Click()

Dim sInput As String

sInput = InputBox("Go ahead ... abuse me", _
"Dreaded InputBox Demo", _
"Some default text goes here")

If StrPtr(sInput) = 0 Then

MsgBox "Cancel was pressed"

Else

If Len(sInput) = 0 Then
MsgBox "OK pressed but nothing entered."
Else
MsgBox "OK pressed: value= " & sInput
End If 'Len(sInput)

End If 'StrPtr

End Sub

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/