Crer des objet à la volée

razord Messages postés 10 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 25 avril 2006 - 21 août 2005 à 18:54
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008 - 22 août 2005 à 19:09
Bonjour. est-il possible de créer des objet à la volée ?

Je fait un jeu, et j'ai besoin, par exemple, quand on change de niveau de crer par exemple

3 composants TImages. Est-ce possible ? Si oui comment ?

5 réponses

cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
21 août 2005 à 21:24
Oui c'est possible et c'est d'ailleurs là tout l'intêret de la programmation objet !
Donc pour ce faire tu déclares une liste d'objet :

Pour créer les objects TImage

var
ListeObjets : TObjectList;
NumImage : Integer;
begin
ListeObjets := TObjectList.Create; // Crée la liste d'objects
for NumImage : = 1 to 3 do // Pour créer 3 images
ListeObjets.Add(TImage.Create); // Crée un nouvel objet TImage dans le liste

Pour modifier les propriétés des images ou faire autres choses dessus :
TImage(ListeObjets.Items[2]).PIcture.LoadFromFile('Fichier.bmp'); // Ouvre l'image "Fichier.Bmp" dans l'image n°3 (2 + 1)

<HR>

Le plus dur dans un programme c'est de savoir pourquoi il marche !
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
22 août 2005 à 07:17
Il vaut mieu de modifier les propriétés de ton objet avant de le placer dans la liste question optimisation :


<HR>
var
im: TImage;
begin
// initialisation de ListObjets

im := TImage.Create();
//
// modif de im
//
ListObjets.Add(im);
end;


<HR>

neodelphi
0
razord Messages postés 10 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 25 avril 2006
22 août 2005 à 10:58
var
ListeObjets : TObjectList;

NumImage : Integer;

begin

ListeObjets := TObjectList.Create; // Crée la liste d'objects

for NumImage : = 1 to 3 do // Pour créer 3 images

ListeObjets.Add(TImage.Create);



Juste une question: (je sais je suis nul mais j'aissaie d'apprendre ) Comment je la remplis ma TObjectList ?
0
cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
22 août 2005 à 11:27
Avec cette ligne là :

ListeObjets.Add(TImage.Create);

Cett ligne permet d'ajoute un nouveau TImage dans la liste ListeObjets (ce TImage ce trouvera au dessus de la liste c'est à dire à la position ListeObjets.Count - 1 (on commence à partir de 0).



<HR>

Le plus dur dans un programme c'est de savoir pourquoi il marche !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
22 août 2005 à 19:09
"je sais je suis nul mais j'aissaie d'apprendre"
Lol, soit pas complexé, on à tous commencé par la !

neodelphi
0
Rejoignez-nous