Retourner au début d'une fonction depuis cette même fonction

Résolu
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015 - 21 mai 2007 à 18:28
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 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/

2 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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)
3
cs_Tioneb Messages postés 193 Date d'inscription dimanche 16 décembre 2001 Statut Membre Dernière intervention 29 juillet 2015
21 mai 2007 à 18:45
Pas bête ton système! Des fois on se prend la tête sur des trucs et la solution est toute simple. En tout cas, merci, je prend....

--------------------------------------------------------------------------
Visitez mon site sur http://bp-software.ifrance.com/
0
Rejoignez-nous