cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015
-
21 mai 2007 à 18:28
cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015
-
21 mai 2007 à 18:45
Salut tout le monde,
Alors déjà, j'ai eu du mal à trouver un titre explicite à ma question. Donc voici ce que je voudrais faire. Dans mon appli, qui est une sorte de messagerie LAN avec plus de possibilités, à chaque fois qu'un utilisateur veut (par exemple) envoyer un message à un autre utilisateur, il ouvre la fenêtre adéquate, fait son truc et valide. A ce moment, la fonction vérifie que le serveur est allumé (il s'agit d'un serveur NAS, en fait un disque dur réseau) avec un ping. S'il est allumé tout va bien; par contre s'il est éteint ou si quelqu'un d'autre est en train d'utiliser la "base de donnée" sur le serveur (en fait ce n'est qu'un fichier excel donc une personne à la fois peut l'utiliser (je débute dans les BDD et les autres type sont trop difficiles à comprendre, pour le moment)) ça plante. Le développement n'est pas terminé alors la gestion d'erreur n'est pas encore faite. Donc là je suis en train de voir pour faire que si le serveur est éteint ou si quelqu'un utilise le fichier, le prog attend un peu (3 secondes) puis recommence la fonction du début et par conséquent re-test le serveur, etc.
Mais je ne vois pas trop comment faire pour retourner au début de la fonction. J'ai pensé à "GoTo" mais je n'est pas envie d'utiliser plein de label (je parle ici de label de goto), je trouve ça vieillot et j'ai plusieurs fonctions, sur plusieurs forms qui doivent vérifier la disponibilité du fichier. Alors ma question est la suivante:
Y a-t-il une commande spéciale pour retourner au debut d'une fonction? Si non, est-ce que je peux utiliser le même nom de label dans toutes mes fonctions, ou ça va interférer? Ou, est-il possible d'utiliser tout simplement un truc du genre "GoTo 0"?
Merci d'avance
--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 mai 2007 à 18:39
Salut,
Vois les choses autrement !
Si tu as vraiment fait une fonction (pas une procédure), elle te retourne une valeur...
Utilise cette valeur (qui peux par exemple être une booléenne) dans une boucle while d'appel de ta fonction (à rappeler tant que la valeur retournée n'est pas celle attendue).
Il te faudra bien évidemment prévoir la possibilité d'arrêter cette boucle si l'utilisateur le souhaite.
Ceci est parfaitement réalisable avec une autre booléenne dont la valeur est modifiée par le bouton d'arrêt (on reparlera de ce 2ème aspect au besoin, quand tu auras réglé le 1er)