re bonjour,
comment on fait pour dupliquer une form dans un meme project ?
il faut se servir du repository ? comment ca marche ?
merci
Version imprimable
re bonjour,
comment on fait pour dupliquer une form dans un meme project ?
il faut se servir du repository ? comment ca marche ?
merci
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.
et dans le source du projet (dpr)Code:
1
2Var form1, form1bis : TForm1;
Apres tu peux jouer avec le sender dans les evenements :Code:
1
2
3 Applciation.CreateForm(Tform1, Form1); Application.CreateForm(Tfomr1, Form1bis);
et pour acceder au methodes de sender :Code:
1
2
3 If sender = form1 Then ... If Sender = Form1bis Then ...
et enfin avant d'utiliser des casts il est preferable de verifier la possibilité du cast :Code:
1
2 TForm1(Sender).Caption := ...
Code:
1
2 If Sender.inheritsFrom(TForm1) Then ....
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.Citation:
Envoyé par sofiane1111
- 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 ;)
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 ;)
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 :P)Citation:
Envoyé par Clorish
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 ...Citation:
Envoyé par Clorish
J'utilise quand même beaucoup les frames dans des pagecontrol, c'est quand mêm bien pour la lisibilité du code ;)
Même remarque que plus haut ;)Citation:
Envoyé par Clorish
Après chacun ca méthode ^^ mais celle de sofianne est quand même très "sale"
Bien sur que ca va hurler :)Citation:
Envoyé par Malatar
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 ;))
C'est pas une question de rapidité mais de performance.Citation:
Envoyé par Malatar
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.
Je ne dirais pas sale car une fois mené a therme le resultat est le meme.Citation:
Envoyé par Malatar
Par contre elle ouvre la porte a pas mal de bugs potentiels et petits ennuis .... qui peuvent etre evites.
Sans entré dans le débat d'hériatge...:D
- 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"
Pourtant à 20h30 je suis sensé être encore un peu réveillé...:oops:
Autant pour moi :ave:
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+