kingb330
Messages postés16Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention10 mai 2009
-
20 mars 2009 à 18:38
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
21 mars 2009 à 19:58
Bonjour à tout le monde,
Je suis un ptit nouveau sur le forum donc désoler si ce message a déjà été posté.
Ma question est que lors de l'exécution d'un programme (dans mon cas conversion Decimal-Hexadécimal-Binaire),
lorsque mon programme appel ma méthode validation et qu'il trouve une erreur, il vas dans une méthode qui affaiche mes message d'erreur.
Jusque là, tout marche. Mais, j'aimerais savoir comment faire quand , par exemple, le message d'erreur s'affiche que le traitement s'arrête au leiu de continuer et de faire plein d'erreur de calcul.
Exemple pour être plus clair....
private byte validation(string chaine)
{
int var = 0;
//si chaine est vide...
if (chaine == "")
{
return valid = 1;
}
...
}
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 20 mars 2009 à 18:55
Salut,
Je ne suis pas certains de comprendre où est le problème, mais à priori en "pseudo-code" ça donnerai quelquechose de ce genre (en partant du principe que un retour 0 de la part de la méthode validation signale une valeur valide) :
byte valid = validation(valeur);
// Si la valeur n'est pas
if ( valid != 0)
{
// Traitement des erreurs
affichage(...);
// ...
}
else
{
// Lancement des calculs
}
kingb330
Messages postés16Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention10 mai 2009 20 mars 2009 à 19:02
J'avoue que je me suis mal exprimer
Mon programme marche très bien, tout mes calculs de font aussi très bien...
Mon problème est que j'ai plusieurs méthode pour mes différents calcul.
Par exemple, une méthode pour la validation, une méthode pour les message d'erreur, une méthode pour
l'hexadécimal vers le binaire...etc. Quand j'appuie sur un bouton, par exemple pour convertir un binaire en hexa ,et bien
il entre dans ma fonction validation et ensuite dans ma fonction message. Le problême ces que même si je mets un break ou que le message s'affiche, il retourne dans la fonction de mon bouton et il continu le traitement, ce que je ne veux pas. j'aimerais que le traitement arrête lorsque les messages d'erreurs arrive.
kingb330
Messages postés16Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention10 mai 2009 20 mars 2009 à 19:27
J'aimerais bien que ce sois aussi facile, mais je ne peut faire ça. (prof borné...)
Il faut absolument passé comme je l'ai mentionné plus haut :(
merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 20 mars 2009 à 19:36
Ben là du coup j'ai peur de ne pas vraiment comprendre la structure du programme.
Tu peux la reproduire ici ? (épurée, le but est de comprendre le flux d'exécution)
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 21 mars 2009 à 09:00
Donc c'est la méthode "repetition" qui se charge de la validation et de l'affichage de message à l'utilisateur.
Si elle ne peut vraiment pas retourner de valeur permettant d'appliquer le schéma donné plus haut, tu n'as plus qu'à gérer une valeur booléenne que tu testeras avant de lancer les calculs.
Avec un retour, ça pourrait donner (tapé directement ici et donc à remanier avec gestion d'exception & co, c'est juste pour donner une idée) :
---------------------------------------------
private bool repetition()
{
chaine = txtValeur.Text;
chaine = chaine.ToUpper();
valid = validation(chaine);
affichage(valid);
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 21 mars 2009 à 09:02
Bon, la mise en gras ne se voit pas dans l'affichage, on recommence...
Avec un retour, ça pourrait donner (tapé directement ici et donc à remanier avec gestion d'exception & co, c'est juste pour donner une idée) :
---------------------------------------------
private bool repetition()
{
chaine = txtValeur.Text;
chaine = chaine.ToUpper();
valid = validation(chaine);
affichage(valid);