Gambas France BETA


Pas de compte ? Incription

Arrêter une fonction

Ce sujet est résolu.

1
AuteurMessages
lapenduledargent#1 Posté le 18/4/2012 à 21:54:10
Bonsoir,

Dans un formulaire, je voudrais savoir comment vérifier que mes champs sont bien complétés :

1
2
3
IF NOT IsNull(HauteurDent) THEN

Message.Warning("Vous devez indiquer la hauteur de la dent")


Ok mais quelle instruction utiliser pour interrompre la suite de la fonction.
Break ne fonctionne pas.

Bonne soirée

Pierre
Fly06#2 Posté le 18/4/2012 à 22:03:41
Perso, j'utilise simplement RETURN pour sortir prématurément de la fonction...

Eventuellement RETURN FALSE si je dois effectuer un traitement en fonction du code de retour (true/false) dans le code appelant.
jeanyvon#3 Posté le 19/4/2012 à 07:17:43
Gambas? Ma! Et gustoSalut tous!
@pierre: Tu as certainement plusieurs points à vérifier. Donc :

1
2
3
4
5
6
7
8
9
10
IF NOT IsNull(HauteurDent) THEN

Message.Warning("Vous devez indiquer la hauteur de la dent")
moncompteur =1
ELSE
moncompteur =0

' traitement complet de toutes variables

IF moncompteur <> 0 THEN

Bonne journée
JY
Vieillir? On peut retarder mais pas y échapper!
lapenduledargent#4 Posté le 19/4/2012 à 08:16:16
Bonjour les amis,

Merci, je regarde ça ce soir.

Bonne journée

Pierre
spheris#5 Posté le 19/4/2012 à 23:17:54
1
2
3
4
IF NOT IsNull(HauteurDent) THEN
Message.Warning("Vous devez indiquer la hauteur de la dent")
ELSE
END IF


rien entre else et endif
tout simplement !
;)
lapenduledargent#6 Posté le 20/4/2012 à 07:19:54
Merci, ce sera pour le weekend.

A bientôt

Pierre
Prokopy#7 Posté le 20/4/2012 à 14:17:45
Kinder PinguiSalut pierre,

Je rebondis sur ce qu'a dit jeanyvon, si tu as plusieurs champs à vérifier il est plus agréable pour l'utilisateur d'avoir la liste de ce qui ne va pas.
Petit exemple à ma sauce :

[cod]
Dim erreurs As New String[]

'Vérification de toutes les variables :
If IsNull(hauteurDent) Then erreurs.Add("Vous devez indiquer la hauteur de la dent")
If nombreDent < 1 Then erreurs.Add("Il faut au minimum 1 dent")

If erreurs.Count > 0 Then 'Si on a rencontré des erreurs

'On affiche un message d'erreur sous forme de liste
Message.Error("Veuillez vérifier les points suivants : <ul><li>" & messages.Join(";</li><li>") & "</li></ul>")

Return 'On arrête la fonction

Endif

[/code]

Voilà. :)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
jeanyvon#8 Posté le 20/4/2012 à 15:35:18
Gambas? Ma! Et gustoBonjour!
Je sais pas si ça servira à Pierre mais pour ma part je trouve ton code génial!
Merci!
JY
Vieillir? On peut retarder mais pas y échapper!
lapenduledargent#9 Posté le 23/4/2012 à 19:53:31
Bonsoir,

Finalement, j'ai utilisé les deux solutions :

1
2
3
4
5
6
7
PUBLIC SUB VerificationChamps()

IF ValueBox6.Value < 0.1 THEN
Message.Error("Vous devez indiquer la hauteur des dents")
Verification = 0
RETURN 'On arrête la fonction
ENDIF


et la variable Verification me sert dans une autre fonction :

1
2
3
4
5
6
7
PUBLIC SUB Button19_Click() 'bouton enregistrer

IF VerificationGcode = 0 THEN
Message.Error("Vous devez cliquer sur le bouton pour générer un Gcode"
Verification = 1
RETURN 'On arrête la fonction
ENDIF


Merci et bonne soirée

Pierre
1