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

Résolu
Signaler
Messages postés
193
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 juillet 2015
-
Messages postés
193
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 juillet 2015
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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)
Messages postés
193
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 juillet 2015

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/