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 :

copie de form


Sujet :

Delphi

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    874
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 874
    Par défaut copie de form
    re bonjour,

    comment on fait pour dupliquer une form dans un meme project ?

    il faut se servir du repository ? comment ca marche ?

    merci

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Quel interet de dupliquer une form ....
    Si 2 forms on les meme proprietees, il suffit juste de declarer une 2e variable et de creer une nouvelle instance de la form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Var form1, form1bis : TForm1;
    et dans le source du projet (dpr)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Applciation.CreateForm(Tform1, Form1);
    Application.CreateForm(Tfomr1, Form1bis);
    Apres tu peux jouer avec le sender dans les evenements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    If sender = form1 Then ...
    If Sender = Form1bis Then ...
    et pour acceder au methodes de sender :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TForm1(Sender).Caption := ...
    et enfin avant d'utiliser des casts il est preferable de verifier la possibilité du cast :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Sender.inheritsFrom(TForm1) Then ....

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Par défaut
    Je crois que le besoin c'est de dupliquer puis faire quelque modif, si c'est réellement ça :
    Personnellement je crée la deuxième forme puis je fais un copie coller du code sources dans un note pad puis un ctr+h pour remplacer les mots form1 et unit1 par form2 et unit2 puis remplcer le contenue de l'unit2. Et pour les objets c'est un ctr+A & ctr+C de la form1 puis un ctr+V dans la form2


    Puis en procède à la personnalisation de la form2

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par sofiane1111
    Je crois que le besoin c'est de dupliquer puis faire quelque modif, si c'est réellement ça :
    Personnellement je crée la deuxième forme puis je fais un copie coller du code sources dans un note pad puis un ctr+h pour remplacer les mots form1 et unit1 par form2 et unit2 puis remplcer le contenue de l'unit2. Et pour les objets c'est un ctr+A & ctr+C de la form1 puis un ctr+V dans la form2


    Puis en procède à la personnalisation de la form2
    super compliquer ton truc.

    - Tu copies/colles le .pas et le dfm dans un autre répertoire.
    - Tu fais un clic droit sur le fichier que tu veux renommer depuis le gestionnaire de projet de delphi
    - Tu changes le nom (Name) de la form
    - Tu recopies le.pas et le .dfm dans le répertoire de l'application et tu l'ajoutes au projet.

    La c'est propre au moins
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Oauis ou alors un simple enregistrer sous suivi de la modification du nom de la form .... et penser bien sur a reimporter l'ancienne form ....

    Mais je pense que cela n'ets pas forcement une tres bonne soution ...
    On peu creer un Frame contenant le code commun et l'integrer dans les 2 forms.
    Ou alors jouer avec l'heritage de classes et creer 2 forms derivant d'une commune

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par Clorish
    Oauis ou alors un simple enregistrer sous suivi de la modification du nom de la form .... et penser bien sur a reimporter l'ancienne form ....
    Je crois que si tu tentes de reimporter l'ancienne form sasn avoir changer le nom de la nouvelle, y va y avoir un message d'erreur car il ne peut y avoir 2 forms avec le même nom (Je n'en suis pas sûr à 100% ca fait longtemps que je n'ai pas dupliquer une form )


    Citation Envoyé par Clorish
    Mais je pense que cela n'ets pas forcement une tres bonne soution ...
    On peu creer un Frame contenant le code commun et l'integrer dans les 2 forms.
    C'est parfois beaucoup plus long à mettre en place que de copier une simple form, car ca oblige à bien étudier les deux form et de trouver les points communs, etc ...
    J'utilise quand même beaucoup les frames dans des pagecontrol, c'est quand mêm bien pour la lisibilité du code

    Citation Envoyé par Clorish
    Ou alors jouer avec l'heritage de classes et creer 2 forms derivant d'une commune
    Même remarque que plus haut

    Après chacun ca méthode ^^ mais celle de sofianne est quand même très "sale"
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Citation Envoyé par Malatar
    Je crois que si tu tentes de reimporter l'ancienne form sasn avoir changer le nom de la nouvelle, y va y avoir un message d'erreur car il ne peut y avoir 2 forms avec le même nom (Je n'en suis pas sûr à 100% ca fait longtemps que je n'ai pas dupliquer une form )
    Bien sur que ca va hurler
    C'ets pour ca que j'ai preciser de renomer la fiche avant reimportation.
    Note : Le nom de la form est lié au nom de la classe.
    Changer de nom entraine un changement de nom de classe .... (sauf cas tres particuliers )



    Citation Envoyé par Malatar
    C'est parfois beaucoup plus long à mettre en place que de copier une simple form, car ca oblige à bien étudier les deux form et de trouver les points communs, etc ...
    J'utilise quand même beaucoup les frames dans des pagecontrol, c'est quand mêm bien pour la lisibilité du code
    C'est pas une question de rapidité mais de performance.
    Rassembler le code commun permet d'une part de gerer les choses proprement en d'accelerer le developpement des mises a jours en ne touchant qu'une fois au code commun.

    Citation Envoyé par Malatar
    Après chacun ca méthode ^^ mais celle de sofianne est quand même très "sale"
    Je ne dirais pas sale car une fois mené a therme le resultat est le meme.
    Par contre elle ouvre la porte a pas mal de bugs potentiels et petits ennuis .... qui peuvent etre evites.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Par défaut
    Sans entré dans le débat d'hériatge...

    - J'ouvre la form (ou frame) à dupliquer
    - je change le nom de la form
    - je fais "enregistrer sous" en mettant le nouveau nom de l'unit
    - je clique sur le bouton "+" de la barre d'outil (Ajouter un fichier au projet) et je recherche l'ancien fichier
    - je clique sur "tout enregistrer"

  9. #9
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Par défaut
    Pourtant à 20h30 je suis sensé être encore un peu réveillé...

    Autant pour moi

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    874
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 874
    Par défaut referentiel
    bonsoir,

    c'est bizarre ..personne ne parle du référentiel ou repository (en anglais)

    a mon avis ca sert à stoker des modeles de forme mais je n'ai pas trop compris comment ca fonctionne ?


    a+

Discussions similaires

  1. [2.x] Création par copy / FormEdit + Form add ?
    Par SgtBor dans le forum Symfony
    Réponses: 4
    Dernier message: 28/10/2014, 16h47
  2. Form - Copie de la valeur d'un champ ds un autre champ
    Par Papillon00 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/11/2007, 22h56
  3. Réponses: 1
    Dernier message: 11/04/2007, 17h58
  4. [forms 9i] COPY sur un tableau associatif
    Par Magnus dans le forum Forms
    Réponses: 2
    Dernier message: 21/09/2006, 12h11
  5. Manipulation d'objet MS-Access (Copie de table, états, form)
    Par Mustard007 dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/02/2006, 22h37

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