

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
8 messages in org.openoffice.fr.progRe: [prog] création dynamique de nom ...| From | Sent On | Attachments |
|---|---|---|
| Agnès Simonet | Feb 17, 2005 6:37 am | |
| Laurent Godard | Feb 17, 2005 8:08 am | |
| Agnès Simonet | Feb 17, 2005 10:43 pm | |
| Laurent Godard | Feb 17, 2005 10:54 pm | |
| Bernard Marcelly | Feb 18, 2005 5:00 am | |
| Agnès Simonet | Feb 18, 2005 10:06 pm | |
| Bernard Marcelly | Feb 19, 2005 3:33 am | |
| Agnès Simonet | Feb 19, 2005 9:40 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] création dynamique de nom de variables ? | Actions... |
|---|---|---|
| From: | Agnès Simonet (agne...@laposte.net) | |
| Date: | Feb 18, 2005 10:06:24 pm | |
| List: | org.openoffice.fr.prog | |
Bonjour Bernard et Laurent,
Bernard Marcelly a écrit :
Je sais que je pourrais stocker les formes dans un tableau d'objets MesFormes() à x éléments, que je redimensionnerai avec préservation, le moment voulu. Je pourrai alors récupérer la forme n°x par MesFormes(x) mais ça ne fait que déplacer le problème. J'ai besoin d'une variable objet par forme créée. Je ne les veux pas dans un tableau.
J'ai la même position que Laurent. Je ne vois pas de situation où il serait nécessaire de nommer chaque variable. Pourrais-tu nous expliquer pourquoi ?
Bernard
Je crois que j'ai la réponse à ma question. Je suis dans le cas typique où il faut une indexation et donc l'utilisation d'un tableau s'impose. Je m'en doutais un peu sinon j'aurais déjà rencontré une solution à mon problème dans les nombreuses macros que je décortique.
Pour satisfaire votre curiosité, voilà ce que je veux faire (ce que je vous ai décrit n'était qu'une version simplifiée) : J'ai un tableau de tableaux de données qui me permettent de dessiner des formes. Je dois stocker non seulement les formes mais également diverses données caractéristiques de ces formes. Un tableau de tableaux est évidemment la solution.
Mais voilà, après avoir passé 3 heures à écrire une routine d'ajout d'un sous-élément dans un tableau de tableaux, ceux-ci me sortent un peu par les trous de nez. Je leur reproche (mais ils s'en foutent ;-) ): * de ne pas permettre l'accès direct à un sous-élément. Pour obtenir le 1er point particulier de la 2ème forme, je suis obligée de procéder en 2 étapes : ToutSurLaForme = Tableau(1) Point1DeForme = ToutSurLaForme2(3) si le point1 est à l'index 3 * ToutSurLaForme2(3) ne m'indique pas de manière explicite qu'il s'agit du 1er point de la forme 2. Ça ne facilite pas la relecture et la traque des erreurs. * Le transfert de données d'un tableau de tableaux à un autre (copie par valeurs) n'est pas des plus simples puisqu'il faut le faire sous-élément par sous-élément.
Inutile de dire que je n'ai même pas été voir du côté des tableaux à plusieurs dimensions.
Alors je suis allée explorer la possibilité, qu'a signalée Andrew Pitonyak, de créer des types de variables personnelles : Type FormeType As Type LaForme As Object sensderotation As Boolean PointInflexion1 As com.sun.star.awt.Point etc End Type
Dim ToutSurLaForme2 As FormeType
C'est un vrai plaisir à manipuler : Point1DeForme2 = ToutSurLaForme2.PointInflexion3
Bref, ça n'a pas les inconvénients des tableaux. Mais, il y a toujours un mais, ça n'en a pas les avantages non plus : pas d'indexation. Il me fallait donc déclarer un ToutSurLaFormex par Forme créée. D'où ma question.
Voilà, j'ai tout avoué :-)
Exit donc les FormesType et en avant pour des tableaux de tableaux ou les tableaux à plusieurs dimensions. Mais je sens venir un problème car ce tableau est Public donc pas de Redim possible si j'ai bien compris. Vous risquez de me revoir bientôt sur la liste ;-)
Merci de votre aide précieuse, qui m'a en plus donnée le courage d' affronter à nouveau ces presque-plus-maudits tableaux .
Agnès S.







