

![]() | 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 17, 2005 10:43:54 pm | |
| List: | org.openoffice.fr.prog | |
Bonjour Laurent,
Laurent Godard a écrit :
Bonjour Agnes
Comment dire que si le tableau a 1 élément il me faut : dim LaForme1 As Object mais que s'il en a 3, il me faut : dim LaForme1 As Object dim LaForme2 As Object dim LaForme3 As Object ?
Je ne suis pas sûre d'être très claire.
Je pense que tu cherches à redimensionner dynamiquement un tableau C'est possible
exemple: dim TableauForme() as object n=4 redim TableauForme(0 to n) as object
Ça je sais faire, j'ai un bon bouquin ;-) Et je l'ai fait lors du remplissage du tableau de données.
Attention, lors du redim, le tableau est reinitialisé
si tu veux conserver le contenu tout en redimensionnant redim preserve Tableauforme(0 to n) as object mais attention, c'est tres tres consomatteur et ralentit beaucoup l'execution
Je l'ai constaté. Est-ce plus rentable de surdimensionner le tableau au départ, quitte à faire des tests pour déterminer le dernier élément non null ?
Ceci est decrit page 72 et suivantes du livre
On doit avoir le même bouquin :-)
J'en profite pour une petite question : que signifie "permet de redimensionner un tableau en cours d'éxecution du programme, à condition que le tableau soit *interne à une routine*."
J'espeer ne pas avoir repondu à coté de la question
Un peu quand même ce qui prouve bien que je ne suis pas claire. J'essaie de préciser ce que je veux : données dans un tableau DonneesToutesFormes()à x éléments ---> création de 5 objets Forme1, Forme2 ....Formex. Il me faut avoir préalablement déclaré Forme1 As object, Forme 2 As Object ....Formex As object. Le problème est que je ne connaîs pas x quand j'écris le code.
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.
Pour l'instant je m'y prends comme ceci : * je crée une tripotée de variable objets (50 par exemple) : Dim Forme1 As Object, Forme2 As Object jusqu'à Forme50 As object. * j'écris 50 lignes de création de forme en utilisant les données Forme1 = CreerForme (DonneesToutesFormes(0)) où CreerForme est une fonction retournant un objet Forme. Forme2 = CreerForme (DonneesToutesFormes(1)) etc * Quand Basic gémit, c'est que j'ai atteint la fin du tableau.
Si j'arrive à traiter cette erreur, je m'en sortirai mais 1- j'ai le sentiment de gâcher en déclarant des variables inutiles. 2- les macros c'est à priori pour éviter les taches répétitives, non ?
Agnès S.







