Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [debutant] Probleme de Pointer... ou pas ??? [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (damanix)

dimanche 8 septembre 2002 à 21:52:09 | [debutant] Probleme de Pointer... ou pas ???

damanix

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.

lundi 9 septembre 2002 à 12:01:39 | Re : [debutant] Probleme de Pointer... ou pas ???

Bruto

bin le principe est de disposer d'un tableau qui mémorise les adresses de chaque variable créée.

Je n'ai pas encore manipulé les pointeurs depuis que je programme en Delphi ( 3 sem ) mais je pense que cela devrait ressembler à ceci :

var
tab: array of ^Integer; // tab pointe sur un tableau d'Integer

Tableau[index] := @(tonpere.poids);

maintenant pour modifier la valeur stockée dans tonpere.poids tu dois faire une chose comme

Tableau[index]^ := 50;

je n'ai pas testé mais normalement le principe est là :
stocké l'adresse de la variable à atteindre à partir de tableau
puis chaque modification du contenu de la variable via le tableau ou l'objet TPersonne se répercute sur l'autre puisque tu ne travailles pas avec une copie mais avec l'original.

Bruto

-------------------------------
Réponse au message :
-------------------------------

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.

lundi 9 septembre 2002 à 21:15:07 | Re : [debutant] Probleme de Pointer... ou pas ???

Nono40

Tu n'arriveras pas à grand chose avec un tableau de pointeurs sur des entiers ( autant utiliser un tableau d'entiers ! ). La solution à été évoquée par DelphiProg : le collections. Elles permettent de définir des ensmbles d'objets facilement et de façon dynamique. Je ferais une réponse plus précise dans la soirée...

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

bin le principe est de disposer d'un tableau qui mémorise les adresses de chaque variable créée.

Je n'ai pas encore manipulé les pointeurs depuis que je programme en Delphi ( 3 sem ) mais je pense que cela devrait ressembler à ceci :

var
tab: array of ^Integer; // tab pointe sur un tableau d'Integer

Tableau[index] := @(tonpere.poids);

maintenant pour modifier la valeur stockée dans tonpere.poids tu dois faire une chose comme

Tableau[index]^ := 50;

je n'ai pas testé mais normalement le principe est là :
stocké l'adresse de la variable à atteindre à partir de tableau
puis chaque modification du contenu de la variable via le tableau ou l'objet TPersonne se répercute sur l'autre puisque tu ne travailles pas avec une copie mais avec l'original.

Bruto

-------------------------------
Réponse au message :
-------------------------------

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.


lundi 9 septembre 2002 à 21:27:26 | Re : [debutant] Probleme de Pointer... ou pas ???

Bruto

j'attends ta suggestion mais comme il ne veut pas une copie de l'objet, mais bien atteindre directement la valeur via son tableau. Je ne vois pas une autre façon que par un tableau de pointeurs.
J'ai développé en C++ il y a qq années et c'était ce principe qui primait. Même qu'il fallait ajouter le décalage entre l'objet et sa variable.

Ma foi j'attends avec impatience ta réponse

Bruto

-------------------------------
Réponse au message :
-------------------------------

Tu n'arriveras pas à grand chose avec un tableau de pointeurs sur des entiers ( autant utiliser un tableau d'entiers ! ). La solution à été évoquée par DelphiProg : le collections. Elles permettent de définir des ensmbles d'objets facilement et de façon dynamique. Je ferais une réponse plus précise dans la soirée...

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

bin le principe est de disposer d'un tableau qui mémorise les adresses de chaque variable créée.

Je n'ai pas encore manipulé les pointeurs depuis que je programme en Delphi ( 3 sem ) mais je pense que cela devrait ressembler à ceci :

var
tab: array of ^Integer; // tab pointe sur un tableau d'Integer

Tableau[index] := @(tonpere.poids);

maintenant pour modifier la valeur stockée dans tonpere.poids tu dois faire une chose comme

Tableau[index]^ := 50;

je n'ai pas testé mais normalement le principe est là :
stocké l'adresse de la variable à atteindre à partir de tableau
puis chaque modification du contenu de la variable via le tableau ou l'objet TPersonne se répercute sur l'autre puisque tu ne travailles pas avec une copie mais avec l'original.

Bruto

-------------------------------
Réponse au message :
-------------------------------

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.



mardi 10 septembre 2002 à 00:26:38 | Re : [debutant] Probleme de Pointer... ou pas ???

Nono40

En fait en regardant de plus près le problème de base, Il semble que le Tlist soit plus adapté. Il rejoint alors un peu ta solution. Je viens de placer un source sur l'utilisation d'un TList.

Pour suivre exactement la demande il faudrait séparer le tableau qui contient les poids, mais ça complique beaucoup : pour chaque poids il faudrait avec un nombre de référence pour le supprimer du tableau quand aucun membre de la famille n'est plus de ce poids et de plus si on modifie MonPer.Poids, alors tous les membres de la famille avec le même poids seraient modifiés ce qui ne doit pas être le résultat recherché ( du moins à mon avis... )

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

j'attends ta suggestion mais comme il ne veut pas une copie de l'objet, mais bien atteindre directement la valeur via son tableau. Je ne vois pas une autre façon que par un tableau de pointeurs.
J'ai développé en C++ il y a qq années et c'était ce principe qui primait. Même qu'il fallait ajouter le décalage entre l'objet et sa variable.

Ma foi j'attends avec impatience ta réponse

Bruto

-------------------------------
Réponse au message :
-------------------------------

Tu n'arriveras pas à grand chose avec un tableau de pointeurs sur des entiers ( autant utiliser un tableau d'entiers ! ). La solution à été évoquée par DelphiProg : le collections. Elles permettent de définir des ensmbles d'objets facilement et de façon dynamique. Je ferais une réponse plus précise dans la soirée...

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

bin le principe est de disposer d'un tableau qui mémorise les adresses de chaque variable créée.

Je n'ai pas encore manipulé les pointeurs depuis que je programme en Delphi ( 3 sem ) mais je pense que cela devrait ressembler à ceci :

var
tab: array of ^Integer; // tab pointe sur un tableau d'Integer

Tableau[index] := @(tonpere.poids);

maintenant pour modifier la valeur stockée dans tonpere.poids tu dois faire une chose comme

Tableau[index]^ := 50;

je n'ai pas testé mais normalement le principe est là :
stocké l'adresse de la variable à atteindre à partir de tableau
puis chaque modification du contenu de la variable via le tableau ou l'objet TPersonne se répercute sur l'autre puisque tu ne travailles pas avec une copie mais avec l'original.

Bruto

-------------------------------
Réponse au message :
-------------------------------

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.




mardi 10 septembre 2002 à 01:54:01 | Re : [debutant] Probleme de Pointer... ou pas ???

damanix

Wa !!!!!!!!

En tout cas bravo pour la réactivité !!!
Je viens de télécharger le tutorial et je vais m'y mettre tout de suite !!!

Merci * tooBigInt
Dx.


-------------------------------
Réponse au message :
-------------------------------

En fait en regardant de plus près le problème de base, Il semble que le Tlist soit plus adapté. Il rejoint alors un peu ta solution. Je viens de placer un source sur l'utilisation d'un TList.

Pour suivre exactement la demande il faudrait séparer le tableau qui contient les poids, mais ça complique beaucoup : pour chaque poids il faudrait avec un nombre de référence pour le supprimer du tableau quand aucun membre de la famille n'est plus de ce poids et de plus si on modifie MonPer.Poids, alors tous les membres de la famille avec le même poids seraient modifiés ce qui ne doit pas être le résultat recherché ( du moins à mon avis... )

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

j'attends ta suggestion mais comme il ne veut pas une copie de l'objet, mais bien atteindre directement la valeur via son tableau. Je ne vois pas une autre façon que par un tableau de pointeurs.
J'ai développé en C++ il y a qq années et c'était ce principe qui primait. Même qu'il fallait ajouter le décalage entre l'objet et sa variable.

Ma foi j'attends avec impatience ta réponse

Bruto

-------------------------------
Réponse au message :
-------------------------------

Tu n'arriveras pas à grand chose avec un tableau de pointeurs sur des entiers ( autant utiliser un tableau d'entiers ! ). La solution à été évoquée par DelphiProg : le collections. Elles permettent de définir des ensmbles d'objets facilement et de façon dynamique. Je ferais une réponse plus précise dans la soirée...

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

bin le principe est de disposer d'un tableau qui mémorise les adresses de chaque variable créée.

Je n'ai pas encore manipulé les pointeurs depuis que je programme en Delphi ( 3 sem ) mais je pense que cela devrait ressembler à ceci :

var
tab: array of ^Integer; // tab pointe sur un tableau d'Integer

Tableau[index] := @(tonpere.poids);

maintenant pour modifier la valeur stockée dans tonpere.poids tu dois faire une chose comme

Tableau[index]^ := 50;

je n'ai pas testé mais normalement le principe est là :
stocké l'adresse de la variable à atteindre à partir de tableau
puis chaque modification du contenu de la variable via le tableau ou l'objet TPersonne se répercute sur l'autre puisque tu ne travailles pas avec une copie mais avec l'original.

Bruto

-------------------------------
Réponse au message :
-------------------------------

Alors Voila, mettons que j'ai un type

type
TPersonne= class(TObject)
nom: String;
taille: Integer;
poids: Integer;
end;

que j'ai un array dynamique (autrement dit qui change souvent ;) d'enfants de cette classe avec (par exemple) à l'index
0 : enfant( nom:'tonpere'; taille:120; poids:40 )
1 : enfant( nom:'tamere'; taille:160; poids:160 )

Est ce qu'il y a un moyen de stocker par exemple dans un tableau tous les poids ( [40,160] ) et de retrouver l'instance proprietaire correspondante ( tonpere ) si je choisi l'index 0 ( 40 ) ???
Il me faut une association directe, pas une simple copie de la valeur de sorte que si tonpere.poids change la valeur stockée dans le tableau reflete le changement, et il faut bien sur que je puisse faire des ops sur le tableau des poids ( comme sort par ex... )


Argh. Si qqun comprends qqchose c cool. ( Nono du moulin va t'il me sauver la vie pour la 3e fois ??? )

Merci pour toute réponse
Dx.







Cette discussion est classé dans : taille, tableau, debutant, poids, tonpere


Répondre à ce message

Sujets en rapport avec ce message

Tableau dynamique et fonction [ par slachz ] voilà, j'ai une fontion qui récolte les images d'un dossier et les stockent dans un tableau dynamique (la taille changeant en fonction du nombre d'ima Modification de la taille d'un tableau dynamique pré-déclaré dans une classe [ par olemtiri ] Slt à vous, j'ai un petit problème en ce qui concerne la modification de la taille d'un tableau(pas n'importe quel tableau dynamique mais un tableau d chronometre avec PIC 16F877 [ par pwal42 ] Bonjour, je voudrais bien savoir comment réaliser un chronomètre allant de  0 à 2min59 avec un PIC 16F877avec :-les 6 bits de poids faible indiquant l Tableau à deux dimensions dans Delphi [ par NasVrick ] Bonjour.J'aimerais savoir comme gérer de la façon la plus simple possible, sous Delphi, des listes des valeurs à trois dimensions ayant des valeurs va RAVE REPORT [ par DOMLEC ] Bonjour,voilà mes soucis : je suis débutant avec RAVE et je voudrais imprimer un tableau dans un Report préparé avec le Designer de RAVE, et ensuite i Connaitre la taille de l'écran [ par PHIL63 ] Bonjour à tous,J'ai une petite question :Est-il possible de connaitre la taille de l'écran ( 15", 17" etc) et/ou son rapport 16/10 ou 4/3 avec des API DBchart avec tableau qui change de colonne [ par benltoufa ] besoin d'aide urgent S.V.P. mon problème est comme suit :      j'ai table qui change de colonne selon les voies que je possède de l'unité d'acquisitio Taille de TIcon [ par sisi231 ] Voilà j'ai Delphi 6 et je voudrais savoir la taille d'un Ticon. Seulement si je prends simplement ic.width et ic.height (si ic est un TIcon donné) sur Grand Tableau [ par sebcbien_bzh ] Bonjour,J'ai besoin afin de me faciliter et rendre rapide de tableaux de grande taille,, j'entend par la plusieurs Mo, En effet je dois lire plusieurs Grand debutant ; Paquet requis 'nmfast' non trouvé [ par nememoris ] bonjourj ai telechargé une source que j essaie d executer mais le message d erreur suivant apparait:[Erreur fatale] Paquet requis 'nmfast' non trouvéj


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.