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

Delphi Discussion :

VCL ou SDI ?


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut VCL ou SDI ?
    Bonjour,
    Après de nombreuses recherches je n'ai pas trouvé de réponse à ma question.
    Je me demande quand et pourquoi débuter un projet SDI plutôt que VCL.
    La fenêtre standard a bien quelques options en plus mais je ne vois pas où sont les autres différences.
    Pour développer une application "standard" avec une seule fenêtre et simplement l'option imprimer, quel choix est préfèrable ?
    Merci de m'éclairer.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Bonjour


    Je me demande quand et pourquoi débuter un projet SDI plutôt que VCL.
    Attention à ne pas confondre les termes employés.
    VCL fait référence à la bibliotheque de composants visuels.

    Maintenant le choix entre une application SDI ou MDI.

    Si l'on est amené à manipule de nombreux documents de mêmes types, il serait préférable de s'orienter vers un projet MDI. Un exemple typique est excel.


    En espérant avoir éclairé ta lanterne.

    @+

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Merci d'avoir répondu.
    En revanche ça reste assez flou.
    J'ai le choix entre VCL et SDI (ou MDI) entre autres.
    Quand doit-on ouvrir directement un projet SDI (ou MDI) ?
    Autrement dit :
    Quand un "simple" projet VCL est-il insuffisant ?
    A terme je souhaite créer une petite appli qui s'ouvrirait dans une seule fenêtre avec comme seule option la possibilité d'imprimer cette fenêtre sous forme de document (et aussi la possibilité de sauvegarder).

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Gloups !
    Désolé j'ai cliqué deux fois sur "envoyer la réponse".

  5. #5
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Salut.

    C'est peut être MDI vs SDI.

    Mais dans ton cas, un SDI fera l'affaire.

    A+

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Points : 754
    Points
    754
    Par défaut
    Un projet MDI est utile pour le cas où l'on souhaite avoir une fenêtre principale faisant office de conteneur pour des fenêtres enfants.

    BDS te propose 2 modèles d'interface utilisateur d'application :
    MDI (interface de document multiple) et SDI (interface de document unique).

    Tu peux partir cependant d'une fiche neutre en choisisant une application fiche VCL.
    Tu sera libre alors de faire de ton application, à la base de cette fiche, une appli MDI ou SDI.


    Bref choisis 'application fiche VCL'.(cas classique)

  7. #7
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Merci !
    J'y vois beaucoup plus clair.
    En fait je pars d'une fiche VCL. Ensuite selon les "ajouts" ça deviendra un SDI ou un MDI. Dans mon cas ce sera un SDI.
    Si j'ai tout compris, une application SDI est en fait une fiche VCL avec quelques composants en plus.

  8. #8
    Membre confirmé

    Homme Profil pro
    Chef de Projet ATIC
    Inscrit en
    Novembre 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de Projet ATIC
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 274
    Points : 508
    Points
    508
    Par défaut
    Citation Envoyé par jerome71300
    Si j'ai tout compris, une application SDI est en fait une fiche VCL avec quelques composants en plus.
    SDI = Une ou plusieurs fiches VCL mais qui ne sont pas contenues les unes dans les autres
    MDI = Au moins une fiche VCL qui contient d'autres fiches VCL (avec ou sans autres fiches VCL, peut importe).

  9. #9
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Bonjour jerome71300,
    voilà, je me permet d'intervenir pour mettre un peu d'ordre dans les idées (enfin je l'espère).

    VCL : Visual Component Library = Librairie de composants visuelle de delphi. Tous les programmes à bases de fenetre, boutons, et autres composants est à base de VCL.(Je sais que certains puristes vont raler ... mais pour éviter toutes confusions chez les débutants, évitons pour une fois de parler de possibiliter d'avoir des appli non vcl en delphi ou utilisant des lib exotique genre Metaframe ou les api de win directement)...


    SDI: Single Document Interface
    MDI: Multiple Document Interface
    SDI et MDI sont des modeles d'applications, c'est à dire des "manières" d'écrire une application.
    Je m'explique:
    Disons par exemple que je suis entrain d'écrire une application de gestion de facturation pour un cabinet de comptable. Mon application sera écrite en Delphi et utilisera des fenetre et autres composants fourni dans la palette Delphi. Ce sera une application VCL. C'est à dire une application utilisant des composant de la Visual Component Library de Delphi.
    Imaginons que mon application va permettre de créer un dossier pour chaque client du cabinet.
    Alors là j'ai deux choix (deux manières de faire) possibles:
    Si je décide que le compatable qui utilisera mon application aura la possibililité de N'ouvrir qu'UN SEUL dossier à la fois. C'est à dire ouvrir le dossier du client Michel. Pour aller vers le dossier du client Pascal le client DEVRA FERMER le DOSSIER COURANT et OUVRIR le du second client (Pascal). On dit que le client ne peux MANIPULER qu'UN SEUL DOCUMENT à la fois. Donc c'est une application SDI (SINGLE document Interface).

    Si par contre je décide de donner la possibilité à l'utilisateur d'OUVRIR PLUSIEURS DOSSIERS A LA FOIS (donc celui de michel dans une fenetre, celui de pascal dans une fenetre et ainsi de suite ...) on dit que l'application est MDI (Multiple Document Interface). Elle permet de manipuler PLUSIEUR (MULTIPLE) document à la fois.

    Dans ce meme ordre d'idée, on peut voir que Notepad de windows ne permet d'ouvrir qu'un seul fichier à la fois et nous oblige à le fermer pour ouvrir un autre document. donc Notepad est une application SDI. de meme pour wordpad et msPaint (paint fourni avec windows).
    Photoshop permet d'ouvrir plusieur images à la fois. Photoshop est une application MDI.
    Les application MDI ont eu la particularité qu'elle se présente sous forme d"une fenetre principale de l'application appelée Fenetre Mère ou principale (main window), et les fenetre des documents flottent à l'intérieur de la fenetre mère. les fenetres des documents sont appelée fenetre fille (Child window).

    Donc en conclusion:
    VCL est une notion liée à l'utilisation de composant manipulable dans l'environnement de développement de delphi par la souris et l'inspecteur de proriété de delphi.
    MDI et SDI sont des philosophie ou manière d'écriture complètement indépendantes de Delphi. On peut faire du MDI ou SDI dans d'autre langages que Delphi.

    Il est à noter que microsoft pousse tout le monde à abandonner le medele MDI qui est jugé contre-productif maintenant. La preuve en ait est que Word crée maintenant une fenetre nouvelle dans la barre des tache pour chaque nouveau document. Les applications devant continuer à utiliser du MDI comme par exemple les éditeur de code source (comme l'éditeur de Delphi par exemple) utilisents plutot des onglet pour afficher différent document plutot que des fenetre filles, c'est le cas de IE7. IE6 été une application SDI, et IE7 est une application MDI utilisant des Onglet au lieu de fentre filles.

    Voilà voilou ... j'espère avoir été claire et ne pas avoir semer plus de confusion. Bonne chance et bon courage.

    Octal

  10. #10
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Super !
    J'ai tout compris grâce à ces explications détaillées.
    Merci à tous.

  11. #11
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par octal Voir le message
    Bonjour jerome71300,
    voilà, je me permet d'intervenir pour mettre un peu d'ordre dans les idées (enfin je l'espère).

    VCL : Visual Component Library = Librairie de composants visuelle de delphi. Tous les programmes à bases de fenetre, boutons, et autres composants est à base de VCL.(Je sais que certains puristes vont raler ... mais pour éviter toutes confusions chez les débutants, évitons pour une fois de parler de possibiliter d'avoir des appli non vcl en delphi ou utilisant des lib exotique genre Metaframe ou les api de win directement)...


    SDI: Single Document Interface
    MDI: Multiple Document Interface
    SDI et MDI sont des modeles d'applications, c'est à dire des "manières" d'écrire une application.
    Je m'explique:
    Disons par exemple que je suis entrain d'écrire une application de gestion de facturation pour un cabinet de comptable. Mon application sera écrite en Delphi et utilisera des fenetre et autres composants fourni dans la palette Delphi. Ce sera une application VCL. C'est à dire une application utilisant des composant de la Visual Component Library de Delphi.
    Imaginons que mon application va permettre de créer un dossier pour chaque client du cabinet.
    Alors là j'ai deux choix (deux manières de faire) possibles:
    Si je décide que le compatable qui utilisera mon application aura la possibililité de N'ouvrir qu'UN SEUL dossier à la fois. C'est à dire ouvrir le dossier du client Michel. Pour aller vers le dossier du client Pascal le client DEVRA FERMER le DOSSIER COURANT et OUVRIR le du second client (Pascal). On dit que le client ne peux MANIPULER qu'UN SEUL DOCUMENT à la fois. Donc c'est une application SDI (SINGLE document Interface).

    Si par contre je décide de donner la possibilité à l'utilisateur d'OUVRIR PLUSIEURS DOSSIERS A LA FOIS (donc celui de michel dans une fenetre, celui de pascal dans une fenetre et ainsi de suite ...) on dit que l'application est MDI (Multiple Document Interface). Elle permet de manipuler PLUSIEUR (MULTIPLE) document à la fois.

    Dans ce meme ordre d'idée, on peut voir que Notepad de windows ne permet d'ouvrir qu'un seul fichier à la fois et nous oblige à le fermer pour ouvrir un autre document. donc Notepad est une application SDI. de meme pour wordpad et msPaint (paint fourni avec windows).
    Photoshop permet d'ouvrir plusieur images à la fois. Photoshop est une application MDI.
    Les application MDI ont eu la particularité qu'elle se présente sous forme d"une fenetre principale de l'application appelée Fenetre Mère ou principale (main window), et les fenetre des documents flottent à l'intérieur de la fenetre mère. les fenetres des documents sont appelée fenetre fille (Child window).

    Donc en conclusion:
    VCL est une notion liée à l'utilisation de composant manipulable dans l'environnement de développement de delphi par la souris et l'inspecteur de proriété de delphi.
    MDI et SDI sont des philosophie ou manière d'écriture complètement indépendantes de Delphi. On peut faire du MDI ou SDI dans d'autre langages que Delphi.

    Il est à noter que microsoft pousse tout le monde à abandonner le medele MDI qui est jugé contre-productif maintenant. La preuve en ait est que Word crée maintenant une fenetre nouvelle dans la barre des tache pour chaque nouveau document. Les applications devant continuer à utiliser du MDI comme par exemple les éditeur de code source (comme l'éditeur de Delphi par exemple) utilisents plutot des onglet pour afficher différent document plutot que des fenetre filles, c'est le cas de IE7. IE6 été une application SDI, et IE7 est une application MDI utilisant des Onglet au lieu de fentre filles.

    Voilà voilou ... j'espère avoir été claire et ne pas avoir semer plus de confusion. Bonne chance et bon courage.

    Octal
    ++++++

    2017-01-06

    Merci pour avoir clarifié la différence entre SDI et MDI.

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

Discussions similaires

  1. [VCL][TListView]Montrer une ligne à l'écran
    Par ptitbob dans le forum Delphi
    Réponses: 4
    Dernier message: 23/07/2007, 16h35
  2. Réponses: 4
    Dernier message: 14/06/2004, 09h29
  3. Insertion dialog box dans feuille SDI
    Par Tom Joad dans le forum MFC
    Réponses: 3
    Dernier message: 12/04/2004, 00h04
  4. VCL de Crystal Report pour utilisation dans C++Builder
    Par dibak dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/02/2004, 17h04
  5. Réponses: 2
    Dernier message: 12/01/2004, 12h52

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