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

Langage Delphi Discussion :

Propriétés selon ini


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Consultant informatique
    Inscrit en
    Octobre 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 240
    Points : 103
    Points
    103
    Par défaut Propriétés selon ini
    Bonjour,
    Je souhaite selon un paramètre de l'ini rendre "enable" un item de menu et afficher un dbgrid plutot qu'un autre dans mon TForm?
    Comment puis-je appeler les propriétés de ces objets et les modifier dans ma procédure.

    merci de votre éclairage,

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Les propriétés Enabled et Visible que tu veux utiliser étant de type Boolean, tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMenu.Enabled := MonInifile.ReadBool('SECTION', 'Clé', True);
    et dans ta clé, tu mets =1 si tu veux activer, =0 dans le cas contraire.

  3. #3
    Membre régulier
    Consultant informatique
    Inscrit en
    Octobre 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 240
    Points : 103
    Points
    103
    Par défaut
    Bizarre
    Je n'ai pas d'erreur à la compilation et cela ne fonctionne pas.
    Les menus s'affichent sans tenir compte de l'ini.
    Sans doute quelque chose qui m'échappe.
    Merci

  4. #4
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    "ca fonctionne pas" n'aide pas beaucoup à trouver la solution
    Il faut cerner le problème, et vérifier dans l'ordre :
    1/ si ton programme passe bien par la ligne où tu appelles ReadBool,
    2/ si oui, si la valeur renvoyée par ReadBool est bien la bonne,
    Quand on en sera là, on se demandera pourquoi ton menu ne s'active pas.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Reprenons les bases...

    Bien sûr 'SECTION' correspond à la section de ton fichier ini et 'Clé' à la clé de cette section qui stocke l'état du menuitem !
    Ensuite la valeur 'True' donnée dans l'exemple est la valeur par défaut si cette clé n'existe pas dans ton ini donc d'abord tu vérifies que tu as bien la section et la clé dans ton fichier ini; tu peux la changer à False si tu préfères désactiver l'entrée du menu par défaut.
    Et bien sûr il faut que tu enregistres à un moment donnée la valeur de ta propriété dans ton fichier ini sinon au prochain lancement tu en seras au même point...

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 728
    Points : 5 379
    Points
    5 379
    Par défaut
    Contenu du fichier INI :
    [ACTIVER]
    Menu1=0
    Grid1=0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    F := TIniFile.Create('MonFichier.Ini');
    Puis pour le menu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiverMenu := F.ReadInteger('ACTIVER','Menu1',0);
    MonMenu.Enabled := (ActiverMenu = 1);
    Pour le grid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ActiverGrid1 := F.ReadInteger('ACTIVER','Grid1',0);
    MaGrid1.Visible := (ActiverGrid1 = 1);
    MaGrid2.Visible := (ActiverGrid1 = 0);
    A la Fin

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/06/2015, 13h53
  2. Récupération en Java des propriétés du config.ini
    Par Boojum42 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 24/09/2008, 20h43
  3. Propriétés d'une classe selon attribut
    Par Papy214 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/03/2008, 17h02
  4. Réponses: 75
    Dernier message: 22/08/2007, 09h18
  5. Réponses: 2
    Dernier message: 19/07/2007, 14h36

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