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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    866
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 866
    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

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, 15h47
  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, 21h56
  3. Réponses: 1
    Dernier message: 11/04/2007, 16h58
  4. [forms 9i] COPY sur un tableau associatif
    Par Magnus dans le forum Forms
    Réponses: 2
    Dernier message: 21/09/2006, 11h11
  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, 21h37

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