IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Construction de menu


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Janvier 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 8
    Par défaut Construction de menu
    Bonjour,

    J'ai une question à soumettre à la communauté et je vous remercie déjà de votre aide. Je poste ce message aprés avoir fait plusieurs recherches sur le forum, mais je n'ai trouvé que des petits éléments de réponses pour m'aider à résoudre mon problème.

    Tout d'abord, le contexte : je suis en train de développer une application VB 6 multilangue, dont la majorité du contenu (combobox, libellé des champs, ...) sont stockés dans une base de données MySQL. Et l'un des éléments stockés dans cette DB sont les libellés des menus, stockés dans toutes les langues gérées par l'application.

    Mon problème est que je dois créer les menus de l'application (ainsi que leur affectés l'action adéquate) de manière dynamique (fonction du contenu de la db), et pouvoir recréer ce menu lorsque l'on change la langue de l'application.

    Si quelqu'un pouvait m'aiguiller et me donner des propositions de solutions ou des pistes ça m'aiderait beaucoup. Je ne suis pas novice en programmation mais je ne développe pas souvent en VB.

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Je ne sais pas si cela répondra totalement à ta question, mais cela peut être une piste.

    J’ai eu à faire un menu pour des utilisateurs ayant un statut différent (7 au total) qui ne devaient pas avoir accès à la totalité des fonctionnalités du programme.
    J’ai donc construit le menu pour l’utilisateur ayant accès au total des fonctionnalités.
    Au moment du chargement de l’application, l’utilisateur devant ce loguer, j’en déduisais, via la lecture de son statut dans une base de données, les différents boutons du menu, sous menu à rendre visible ou non.

    Cela implique donc d’écrire pour chaque bouton, le code pour l’utilisateur ayant le statut d’accès total.
    Pour le statut ayant le moins d’accès aux fonctionnalités, toute une partie du code ne sert a rien, voila le défaut de cette façon de faire.
    Par contre rien n’empêche de modifier le Caption , le Enabled, le Checked, le Visible et Tag du/des boutons menu et sous menu, adapté pour toi a chaque langue du pays, via ta base de données.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 8
    Par défaut
    Ca pourra m'aider aussi parce qu'il y a également une notion de droit d'accés en fonction de groupe d'utilisateur connecté sur l'application.

    Aurais-tu un exemple de bout de codes car je ne maitrise pas trop VB dés qu'il faut chipoter aussi "loin". Merci

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Voila en gros comment je ferai
    Donc, il te faut récupèrer l’utilisateur du programme avec Environ("UserName"), avec sa, dans la BD, une table pouvant être nommée « StatutUtilisateur » avec un champs NameUser un autre DroitAcses et un autre Langue.
    dans ton programme, suite au logue de l'utilisateur si tu veux personnaliser au mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    TableOuverte.Open StatutUtilisateur Where NameUser = Environ("UserName") '…….
    Select Case TableOuverte!DroitAcses
     Case 1 to 3
       CmdMenu1.visible = True : CmdMenu2.visible = True ':……….
     Case 4
       CmdMenu4.visible = True : CmdMenu7.visible = True ':……….
     Case 5,7
      CmdMenu1.visible = True : CmdMenu2.visible = True :CmdMenu9.visible =  True
      CmdMenu3.visible = True :……….
    End Select 
     
    Dim LaLangue as String
    LaLangue = TableOuverte!Langue
    Close.TableOuverte
     
    'Dans une autre Table, « LangueUtilisateur », avec un champs Langue
    'et autant de champs  
    'que de bouton menu/sous menu Intituler1, Intituler2, . . . . . . . .  
     
    TableOuverte.Open LangueUtilisateur  Where Langue = LaLangue',…….
    If CmdMenu1.Visible = True Then CmdMenu1.Caption = TableOuverte!Intituler1
    If CmdMenu2.Visible = True Then CmdMenu2.Caption = TableOuverte!Intituler2
     . . . . . . . 
    If CmdMenu15.Visible = True Then CmdMenu15.Caption = TableOuverte!Intituler15
    Close.TableOuverte
    Ceci n’est qu’une idée, d’autres forumreurs vont sûrement t’en proposer d’autres, à toi de piocher pour adapter au mieux suivant ton besoin.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    moi j'utilise des labels pour les entêtes de menu, et je contruis un "popupmenu" dynamique en fonction de la langue courante.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] construction menu avec sous catégorie
    Par gtraxx dans le forum Langage
    Réponses: 2
    Dernier message: 16/02/2010, 16h23
  2. [MySQL] Construction menu dynamique avec titre
    Par gtraxx dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/04/2009, 15h55
  3. Réponses: 3
    Dernier message: 24/12/2008, 18h38
  4. Réponses: 2
    Dernier message: 22/08/2008, 12h37
  5. Construction menu dans un thread
    Par Malone dans le forum Delphi
    Réponses: 9
    Dernier message: 18/06/2007, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo