comment retourner la valeur cancel d'un inpubox ? [vb6] - Programmation
Marsh Posté le 03-03-2002 à 19:12:11
Dim s As string
s = InputBox("Machin" )
If Trim(s) <> "" then
OK
Else
CANCEL
End If
Marsh Posté le 04-03-2002 à 06:50:26
Je C pas sous VB mais avec Delphi il existe fonction mieux que InputBox(qui existe aussi) qui est InputQuery et qui renvoit 1 Boolean(True si Ok False si Cancel)
Marsh Posté le 04-03-2002 à 13:14:07
Bendes a écrit a écrit : Dim s As string s = InputBox("Machin" ) If Trim(s) <> "" then OK Else CANCEL End If |
c koi Trim ?
en fat jai fait un input box pour un soft de tirage au sort ...
si jamais le gars clic sur ok et aue ce nest pas un nonbre ..il va generer un msg dderreur (msgbox) et va rappeler linpu box ...
probleme c ker si jamais le gars fait cancel ... et bha ca lui fait nobre invalide
je voudrai un truc pour pouvoir placer ds linputbox : if vbCancel then
exit sub
merci
Marsh Posté le 04-03-2002 à 13:48:29
fais quelques chose de simple, une fonction ou tu mets ton message d'erreur et le reste, cela t'évite d'avoir à remettre sans arrêt les même chose et pour les modifications c'est tout de même plus simple...
public function MESSAGE
dim a
RENVOI_1 :
a = inputbox ("bonour" )
if a = vbyes then
msgbox("vous avez fait uue erreur" ),vbcritical
goto] RENVOI_1 'ceci te permet de renvoyer au message
end if
if a = vbcancel then
msgbox("opération annulée" ),vbinformtation
exit function ' permet de sortir de la fonction
'tu peux aussi renvoyer vers des procédures ou un programme...
end if
end function [#000000]
[jfdsdjhfuetppo]--Message édité par macray--[/jfdsdjhfuetppo]
Marsh Posté le 05-03-2002 à 00:25:26
Je crois que c pas possible de récupérer le code retour d'un cancel sur une inputbox because il y a affectation d'une réponse dans une chaine de caractere "l'input" donc il n'y a pas de code de retour des boutons dans la variable ... En outre et contrairement a une msgbox il n'y a pas de possibilité d'intervenir sur les boutons dans la inputbox style vbokonly etc...
exemple:
Private Sub frmForm_Load()
Dim strTest, strTest2 As String
strTest = InputBox("entrer un chiffre de 0 à 9 ?", "Question" )
'strTest récup la valeur saisie par l'utilisateur et non un code ok/cancel
If strTest = "" Then
'contrairement a l'input,lamsgbox et "strTest2" récupere une réponse sous forme de code retour 1 pour ok 2 pour cancel ...
strTest2 = MsgBox("erreur de saisie",vbOKCancel, "Attention" )
End If
If strTest2 = 2 Then MsgBox "opération annulé"
'ou équivalent à
If strTest2 = vbCancel Then MsgBox "opération annulé"
End Sub
Marsh Posté le 05-03-2002 à 00:45:04
Mouarf j'avais pas tout lu le mieux c de tester si ta variable est bien un nombre c bcp plus rapide
If Not IsNumeric(strTest) Then
strTest2 = MsgBox("erreur de saisie",vbOKCancel, "Attention" )
End If
Marsh Posté le 03-03-2002 à 18:44:31
comment retourner la valeur cancel d'un inpubox ?
merci