Bonjour, comme tu me la demandé voici commet tu peut mettre en place le changement d'utilisateurs sans avoir a quitter l'application
Tout d'abord, il faut dans les paramètres du groupware utilisateur coché la case lancement manuel, sinon les codes d'ouverture de la fenêtre de login ne sont pas pris en compte
ensuite
Cas 1 tu désir que la fenêtre de login se lance avant l'application
dans le code d'initialisation du projet tu met :
- Code: Tout sélectionner
ouverture est un entier=gpwouvre()
si ouverture <> gpwok alors
selon ouverture
cas gpwerreur : erreur("Erreur a l'initialisation du groupware ")
cas gpwutilisateurinconnu : erreur("L'utilisateur est inconu") ////// Personnellement les deux dernières fonction
cas gpwmotpassinvalide : erreur("Mot de pass invalide") ////// je ne les utilisent pas trop
//////d'information pour accéder au logiciel
fin
finprogramme()
fin
// le code suivant tu met la création des menus en fonction de l'utilisateur oou du groupe
Cas 2 tu veut que l'application s'ouvre d'abord dans ce cas tu met le même code mais dans la section initialisation de ta fenêtre principale
ensuite pour que les utilisateurs change sans quitter l'application, tu créer un bouton ou un champ image clicable puis tu met exactement le code vue plus haut
je te conseil avant l'appelle de l'ouverture de la fenêtre de login de mettre tous tes menus a l'état grisé car si un utilisateur clic sur annuler il peut retourner avec les menus de l'ancien utilisateur sinon tu met une procédure de contrôle
après l'ouverture de ta fenêtre de login tu peut initialisé tes menus en fonction du groupe ou de l'utilisateur connecter.
Ex: clic sur le bouton deconnecter
- Code: Tout sélectionner
// on met les menus à grisé
_monmenu..etat=grisé /// attention ceci est un exemple
// on ouvre maintenant la fenêtre de login pour l'utilisateur suivant
ouverture est un entier=gpwouvre()
si ouverture <> gpwok alors
selon ouverture
cas gpwerreur : erreur("Erreur a l'initialisation du groupware ")
cas gpwutilisateurinconnu : erreur("L'utilisateur est inconu")
cas gpwmotpassinvalide : erreur("Mot de pass invalide")
fin
finprogramme()
fin
// on recupere maintenant le groupe dans lequel l'utilisateur est referencé
le_groupe_utilisateur est une chaine=gpwrecupinfoutilisateur(gpwinfogroupe)
// on lance la procédure de création des menus
Création_menus(le_groupe_utilisateur)
Procédure :
- Code: Tout sélectionner
Création_menus(le_groupe)
selon le_groupe
cas "Comptabilité"
_menu.ouvrir..état=actif
mon_bouton..visible=vrai
....... etc.
cas "Direction"
// exemple tous les menus actifs
autre cas
fin
bon j'espère que je n'ai pas fait d'erreur dans le code car je le tape de mémoire mais sinon tu as les fonctions principales regarde dans l'aide si j'ai fait une erreur.
Cordialement
Patrice
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !