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 :

Procédure pour créer et afficher une form


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2013
    Messages : 75
    Par défaut Procédure pour créer et afficher une form
    Salut,

    J'ai deux boutons :
    bouton1 : pour créer et afficher la form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Application.CreateForm(TForm1, Form1);
    Form1.show;
    end;
    bouton2 : pour créer et afficher la form2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    Application.CreateForm(TForm2, Form2);
    Form2.show;
    end;
    Je veux créer une procédure, par exemple nommée ouvrireform, et appeler la procédure comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ouvrireform(form1);
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    ouvrireform(form2);
    end;
    Comment programmer la procédure ouvrireform ?
    Merci !

  2. #2
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure OpenForm(Fc: TFormClass; F: TForm);
    begin
      F := Fc.Create(nil);
      F.Show;
    end;
     
    procedure TForm3.Button1Click(Sender: TObject);
    begin
      OpenForm(TForm4, Form4);
    end;

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2013
    Messages : 75
    Par défaut
    merci Elle a bien travaillé

  4. #4
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 522
    Par défaut
    Bonjour Unja2010,

    comme le paramètre de Create est Nil, je pense qu'il ne faudra pas oublier de la libérer par Free.
    A+
    Charly

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure OpenForm(Fc: TFormClass; var F: TForm);

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    pourquoi var ? C'est un objet, ça n'a jamais été nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm3.Button1Click(Sender: TObject);
    begin
      OpenForm(TForm4, Form4);
     
      ShowMessage(BoolToStr(Assigned(Form4), True));
     
      Form4.Free;
    end;
    Nom : 2018-08-12_221643.png
Affichages : 1494
Taille : 6,0 Ko

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

Discussions similaires

  1. [VB.NET] Clic sur un bouton pour afficher une form existante
    Par beegees dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2006, 10h31
  2. [VB.Net] Afficher une form dans un SplitterPanel
    Par nico-pyright(c) dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2006, 20h45
  3. [C#]Afficher une forme sans qu'elle se ferme
    Par gilles641 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/03/2006, 12h25
  4. Afficher une form ou un cadre dans un panel
    Par miniil dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2005, 00h54
  5. [VC++ 6] Boutons permettant d'afficher une form
    Par cooladn dans le forum MFC
    Réponses: 3
    Dernier message: 09/12/2004, 16h17

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