Re: Re :Arreter puis relancer l'appli??? Un bout de code !Merci bcp.

Posté par R&B le 8/3/2005 15:56:48
Voici une info trouvée sur la ML et tiré d'une réponse su ST ! Je l'ai conservé pour l'occasion... mais surtout pour mes travaux sur le groupware. Je n'ai pas encore testé !


Groupware utilisateur : Comment changer d'utilisateur pendant l'exécution d'une application (sans devoir relancer l'application ) ?

Nous vous conseillons d'étudier la solution suivante :
1 - Soit un groupware utilisateur en lancement "non automatique"
2 - Soit une fenêtre "LanceGroupware" définie en première fenetre du projet
3 - Cette fenêtre contient les champs suivants :
- ComboLogin (combo mémoire)
- MotPasse (champ de saisie de type texte)
- Un bouton Ok de type "Validation"
4 - Code source de cette fenêtre :
** Code de déclaration des variables globales de LanceGroupware :
gsNomProjet est une chaine = <Saisissez ici le nom de l'application>
gsNomFenêtrePrincipale est une chaîne = <Saisissez ici le nom de la fenêtre
principale du projet>


** Code diInitialisation de LanceGroupware
sRépertoireFichierDroits est une chaîne =
ComplèteRep(fRepEnCours())+"GPW_"+gsNomProjet +"\"
sRépertoireFichierUtilisateurs est une chaîne =
ComplèteRep(fRepEnCours())+"GPW_"+gsNomProjet +"\"
//Ouvreture du groupware
SI gpwOuvre(sRépertoireFichierDroits,sRépertoireFichierUtilisateurs ) =
gpwOk ALORS
//Déclaration du fichier GPWUTILISATEUR
GPWUTILISATEUR est une Source de Données
SI
HDéclareExterne(sRépertoireFichierUtilisateurs+"GPWUTILISATEUR.FIC","GPWUTIL
ISATEUR","PCSGPW2001") = Oui ALORS
POUR TOUT GPWUTILISATEUR
ListeAjoute(ComboLogin,GPWUTILISATEUR.login)
FIN
SINON
FinProgramme("Erreur lors de l'initialisation du groupware
utilisateur.",HErreurInfo())
FIN
Ouvre(gsNomFenêtrePrincipale )
FIN



** Code clic du bouton "Ok" :
//Vérification du Login
nRes est un entier= GPWLogin(ComboLogin..ValeurAffichée,MotPasse)
//Si le login a échoué ou ferme l'application
SI nRes<>gpwOk ALORS
SELON nRes
CAS gpwErreur : FinProgramme("Erreur à l'initialisation du groupware.")
CAS gpwUtilisateurInconnu : FinProgramme("Utilisateur inconnu.")
CAS gpwMotPasseInvalide : FinProgramme("Mot de passe invalide.")
FIN
FIN
//Récupération du prénom de l'utilisateur pour un message de bienvenue
sPrénom est une chaîne = gpwRecupInfoUtilisateur(ComboLogin..ValeurAffichée)
Info("Bienvenue " + sPrénom)
//Ouverture de la fenêtre principale de l'application
Ouvre(gsNomFenêtrePrincipale)




Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=1960&post_id=8181