Timer generer automatiquement

mars527 Messages postés 2 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 4 juin 2007 - 4 juin 2007 à 10:32
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 4 juin 2007 à 13:32
Bonjour a tous

voila je vous expose mon probleme:
je dois rendre un projet d'informatique la semaine prochaine, projet qui doit simuler un carrefour.
la gestion des feu etant terminée je me suis attaquer au voiture qui doivent y circuler.
je les simule par des TImages que je genere automatiquement grace a

TImage *haut[100] = {0};

void gen_haut(void)
{
haut[i] = new TImage (*haut);
haut[i]->Parent=Form1;
haut[i]->Top=30;
haut[i]->Left=200;
haut[i]->Visible=true;
haut[i]->AutoSize=false;
haut[i]->AutoSize=false;
haut[i]->Height=57;
haut[i]->Width=33;
haut[i]->Proportional=true;
haut[i]->Picture->LoadFromFile("b1.jpg");
haut[i]->Align=alNone;
haut[i]->Center=false;
i++;

}

Au depart, pour les deplacer je voulais utiliser un seul timer pour toutes les voitures mais je me suis rendu compte que cela n'etait pas possible.
Je crois(dites moi si je me trompes) que je dois utiliser un timer pour chaque voiture créée.
Donc a chaque création de voiture un timer serais generer automatiquement et serais associer a cette voiture.
au moment ou je supprime mon objet je supprime egalement mon timer.
Pour créer mon timer automatiquement je m'y suis pris comme ceci:

TTimer *avhaut[100] ={0} ;

void generation (void)
{
avhaut[i]= new TTimer (*avhaut);
avhaut[i]->Interval=5000;
avhaut[i]->Enabled=true;
avhaut[i]->OnTimer; <------------ c'est la mon probleme

}

Mon probleme est que je n'arrive pas trouver comment executer mon code qui dois s'executer dans le timer????

j'ai essayer en inserant un timer classique appeler timer1 qui serait appeler par les timer generer:

et je mettais

avhaut[i]->OnTimer(timer1);

mais le programme plante lors de l'execution.

avhaut[i]->Assign(timer1);

me fait la meme chose

Voila si quelqu'un aurais la bonté de m'aiguiller ce serait tres sympa

j'espere avoir ete claire dans mon explication
merci a tous

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
4 juin 2007 à 12:52
Salut,

Je pense qu'il serait préférable de n'utiliser qu'un timer pour toutes tes voitures.

Dans le code de ton timer, tu parcours tes voitures et tu les mets à jour une par une.

Pour tes voitures, j'aurais fait un tableau ou une liste de classes ou de structs contenant chacune une TImage (+ des infos concernant la direction, la vitesse ou autre...)
0
mars527 Messages postés 2 Date d'inscription lundi 26 mars 2007 Statut Membre Dernière intervention 4 juin 2007
4 juin 2007 à 13:20
salut
merci pour cette reponse,
j'ai essayer avec un seul timer j'y mets une boucle qui va de la premiere voiture a la derniere generee, et manipule mes voitures mais helas le programme se fige, on dirai que la boucle tourne indefiniment....
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
4 juin 2007 à 13:32
Je crois que personne ne peut t'aider sans le code de la boucle...
0