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 :

Créer des Tform en liste chainée


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Par défaut Créer des Tform en liste chainée
    Bonjour.

    Ma question est dans le titre : Est t il possible de creer un liste de Tform declaree comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MaForm : class(Tform)
    i : integer;
    MonBouton: Tbuton;
    MonLabel: Tlabel
    Merci

  2. #2
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    Ton code ne signifie absolument rien. Impossible d'en déduire quoi que ce soit.

    Si j'en juge par le titre, tu voudrais avoir une liste de plusieurs forms identiques. Si c'est le cas, utilise TComponentList.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Par défaut
    Je me doutais que klk1 tilsterai sur le integer.

    Mon but etait de donner un numero aux Tform. Dans ce cas si d'incrementer un nombre...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 147
    Par défaut toujours pas tres clair
    Créer une liste de form ??
    tu veux les indexer ?
    style ChildMdi ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Par défaut
    Je viens de chercher de la doc sur le net concernant les TCompenentList et y'a l'air que c'est ce qu'il me faudrait mais je ne sais pas comment les utiliser!!

    J'ai trouvé egalement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    TComponentList = class(TList)
    public
      destructor Destroy; override;  
      function Add();                
      function Extract();            
      function Remove();            
      function IndexOf();            
      function First;             
      function Last;              
      procedure Insert();         
      property Items: TComponent; default; [rw]  
    end;
    Je l'ajoute a la declaration des type tel quel ou quoi??

  6. #6
    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
    Bonjour,

    est-ce que cet exemple répond à ta question ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
        MyList : TComponentList;
     
    begin
      MyList := TComponentList.Create;
      MyList.Add(Form2);
      MyList.Add(Form3);
      Showmessage('affichage form2');
      TForm(MyList.Items[0]).Showmodal;
      Showmessage('affichage form3');
      TForm(MyList.Items[1]).Showmodal;
      Mylist.Destroy;
    end;

  7. #7
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Citation Envoyé par melles
    Je me doutais que klk1 tilsterai sur le integer.

    Mon but etait de donner un numero aux Tform. Dans ce cas si d'incrementer un nombre...
    normalement windows se charge de sa, voir handle

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 187
    Par défaut
    Merci Flode, tu m'as bien aide a avancer un peu

    En fait! Je dois creer dynamiquement des fenetres et recuperer la pposition a laquelle se trouve chacunes d'elles.
    voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.Button1Click(Sender: TObject);
     var a:integer;
        MyList : TComponentList;
    begin
      MyList := TComponentList.Create;
      form2:= Tform.create(application);
      MyList.Add(Form2);
      TForm(MyList.Items[0]).Showmodal;
      a:= indexof(form2);
      showmessage(inttostr(a));
      Mylist.Destroy;
    end;
    Cela me donne une erreur comme quoi "indexOf" n'est pas declare!
    Quelle serait la bonne syntaxe?
    Thxs in advance

  9. #9
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Bonjour,

    Citation Envoyé par melles
    Merci Flode, tu m'as bien aide a avancer un peu

    En fait! Je dois creer dynamiquement des fenetres et recuperer la pposition a laquelle se trouve chacunes d'elles.
    voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.Button1Click(Sender: TObject);
     var a:integer;
        MyList : TComponentList;
    begin
      MyList := TComponentList.Create;
      form2:= Tform.create(application);
      MyList.Add(Form2);
      TForm(MyList.Items[0]).Showmodal;
      a:= MyList.indexof(form2);
      showmessage(inttostr(a));
      Mylist.Destroy;
    end;
    Cela me donne une erreur comme quoi "indexOf" n'est pas declare!
    Quelle serait la bonne syntaxe?
    Thxs in advance
    Correction faîte, celà devrait aller mieux...
    Cordialement,
    Hauwke

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/06/2008, 21h14
  2. Recherche des exercices pour les listes chainée
    Par dot-_-net dans le forum C
    Réponses: 1
    Dernier message: 15/12/2007, 18h14
  3. Réponses: 4
    Dernier message: 11/07/2007, 19h28
  4. des questions sur les listes chainées
    Par hunter99 dans le forum C
    Réponses: 13
    Dernier message: 05/12/2006, 22h51
  5. Réponses: 7
    Dernier message: 27/10/2005, 19h23

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