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 :

Aide sur l'architecture d'un programme


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut Aide sur l'architecture d'un programme
    Bonjour à tous,

    Je prépare un projet qui teste différentes installations, commandes, etc. Il indique si elles sont installées ou pas. Si c'est le cas, il est possible de les désinstaller et sinon possible de les installer.

    Au final, je vais avoir une vingtaine de commandes, donc Timages clickables, 20 labels de commentaire, et 3 procédure pour chaqun (test, inst, et uninst).

    J'ai commencé et je ne m'y retrouve plus dans toutes les procédures que j'ai écrit. Je leur donne un nom, faut mettre en lien avec des condtions if then etc...

    Je me demande si il n'y avait pas moyen par exemple de numéroter mes items de 1 à 20, que ca me permette de renvoyer vers une procedure inst5 par exemple, uninst18, etc... et de changer le Timage 5 et 18?

    Je ne sais pas si j'ai été clair mais en gros je ne suis pas sur d'avoir bien architecturé mon programme. Et ça devient volumineux.

    Comment vous y prendriez vous?
    Merci pour toutes vos suggestions.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut
    J'ai pensé à une solution mais je ne sais pas si elle est réalisable.

    Je créer un fichier texte avec mes 20 items ainsi:

    numéro d'item
    Ligne descriptive pour le label associé au Timage
    trois blocks d'information par numéro (test, inst, uninst)
    Pour chaque block, si c'est une commande sur la base de registre, un appel du Regserv32, ou autre type d'exécution, etc...
    les paramètres à passer.

    Au démarrage du programme il lit le fichier texte et pour chaque numéro (le 1 par exemple), prend les paramètres du block test, vérifie si la clef de registre est la ou autre, et dans ce cas il modifie le Timage 1 en conséquence (vert ou rouge).

    Ensuite selon que l'utilisateur choisit d'installer ou pas, il relit le fichier texte, pour chaque numéro, choppe le bon block (install ou uninstall), prend les paramètres et exécute. Ensuite il madifie le Timage correspondant (image1).

    Ca suppose que que je puisse appeler les images en fonction du numéro de l'item. Ainsi que les labels descriptifs pour chaque item :

    'label'+Nbre.caption=LigneDescriptifLuDansFichierTexte
    'image'+Nbre.picture...

    Je ne sais pas si je peux appeler un élément par un nom en fabriquant ce nom avec des bout de données...

    Si je veux rajouter un jour des items, je devrai juste compléter mon fichier texte et rajouter dans ma fiche un Timage avec le numéro suivant et un label à coté avec ce numéro.


    Vous en pensez quoi?

  3. #3
    Aos
    Aos est déconnecté
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Par défaut
    J'ai franchement pas tout lu parce que ton texte est trop embrouillé.

    Par contre, j'ai compris vers la fin que tu cherchais a accéder a des elements en construisant leur nom.

    Je suis peut etre a coté de la plaque mais j'y vais quand meme.
    Si tu as 20 labels qui s'appelle "label1, label2, label3 ect...", tu peux effectivement faire une boucle pour accéder a tout ses éléments en construisant le nom de cette manière.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i:=1 to nombreDelements do
      begin
        monEdit:=TEdit(vrfrigo.FindComponent('edit'+inttostr(i)));
        if (monEdit<>nil) then
          // instructions
       end;
    Tu peux faire pareil avec les labels et tout autre éléments, tu remplaces juste dans le code TEdit() par TLabel ou TButton() ect...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Par défaut
    Merci beaucoup pour ton aide,

    C'est vraiment dans l'idée de ce qui me ferait automatiser le traitement.
    Est-il possible d'en fait de même avec des procedures?
    C'est à dire les appeler en composant leur nom?
    procedure 'Test'+inttostr(Nbre)...

    Je ne connaissais pas le Tedit.

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Par défaut
    Ca suppose que que je puisse appeler les images en fonction du numéro de l'item. Ainsi que les labels descriptifs pour chaque item :
    Est-ce qu'en utilisant le tag des composants, cela ne t'aiderait-il pas ?

  6. #6
    Aos
    Aos est déconnecté
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Par défaut
    Pour les procèdures, je n'en ai aucune idée.

    Disons que si t'as procedure (inst par exemple) fait 20x la même chose, autant la passé avec un parametre (ton item).

    Si c'est 20 procédures différentes mais propres a chaques items, essaye plutot de voir du coté des événements de tes items (onchange, onclick ect...).

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut;

    je trouve que le composant ActionManager est très pratique dans ton contexte alors que la plupart des développeurs l'ignorent. je te conseille vivement de voir cette possibilité.

    Bonne chance.

Discussions similaires

  1. Aide sur la définition d'un programme
    Par TeK55 dans le forum C#
    Réponses: 2
    Dernier message: 22/04/2009, 11h08
  2. Aide sur un projet en méthodes programmation systèmes
    Par citadine dans le forum Réseau
    Réponses: 6
    Dernier message: 17/01/2007, 11h40
  3. Aide sur choix de langage de programmation pour PC et Mac
    Par benouille69 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 11/11/2006, 18h30
  4. aide sur la compilation d'un programme console
    Par angelo2 dans le forum MFC
    Réponses: 6
    Dernier message: 18/10/2005, 07h44

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