Liste Imbriqué

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Liste Imbriqué

Messagepar Michael DELIQUE » 04 Déc 2009 à 13:08

Bonjour

je "m'amuse" a imbriquer des liste histoire de faire des listes a plusieurs dimensions. le probleme c'est pour la récupération des infos pour la acceder a la list dans la liste je suis obligé de passé par un variant

un code d'exemple
Code : Tout sélectionner
   Dim lst List As Variant
   Dim lst1 List As String
   Dim vrvalue As Variant
   Dim i As Integer
   Dim j As Integer
   
   For i = 1 To 100
      lst1(i) = "iiiiiiiiiiiiiiiiiiiiii"
   Next
   
   For j = 1 To 10
      lst(j) = lst1
   Next   
   
   vrvalue = lst(2)
   
   Msgbox Cstr(vrvalue(2))


mais j'aimerais pouvoir le faire en une seule ligne

genre list(0)(0) bien sur ça marche pas !

quelqu'un a une idée ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar AlexandreV » 04 Déc 2009 à 14:11

Pas sur que cela soit possible. En tout cas pas sans passer par un variant ou par un tableau.
Avatar de l’utilisateur
AlexandreV
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 104
Inscrit(e) le : 23 Nov 2009 à 16:03
Localisation : Combs la ville (Seine et Marne)

Messagepar Michael DELIQUE » 04 Déc 2009 à 14:20

c'est bien ce que je suis en train de me dire, j'aurrai aimé eviter de passer par un tableau parceque avec bcp de donné c'est rapidement plein !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 04 Déc 2009 à 14:45

mais si quelqu'un sait comment faire...
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar AlexandreV » 04 Déc 2009 à 15:01

Avec des pointeurs en langage C...

Ok... je sors :)
Avatar de l’utilisateur
AlexandreV
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 104
Inscrit(e) le : 23 Nov 2009 à 16:03
Localisation : Combs la ville (Seine et Marne)

Messagepar Michael DELIQUE » 04 Déc 2009 à 15:05

SBAFFFF !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar abertisch » 07 Déc 2009 à 09:52

Salut,

en Java ?!? ou tu es limité au LS ?
"Lotus, il n'y a qu'en rouleaux que ça fait pas mal au cul"
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Michael DELIQUE » 07 Déc 2009 à 10:12

LS !

et pouquoi une liste et pas un array a cause du redim qui bouffe des ressource comme ç'est pas permit ! don c

j'essais de faire une list mutli-dimenssionné
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar GPE » 07 Déc 2009 à 10:21

Pour faire cela j'utilise une liste d'un type contenant une ou plusieurs arrays.
Ce n'est pas parfait car non redimensionnable mais ça marche
Peut etre que ça peut aider.

Public Type DocXref
xLinksStatus(100) As String xLinksTitleStatus(100) As String
....
End Type
Public ListXrefErrorCarrier List As DocXref
Cordialement.
GPE
Premier posts
Premier posts
 
Message(s) : 22
Inscrit(e) le : 22 Oct 2007 à 12:51
Localisation : PARIS

Messagepar Michael DELIQUE » 07 Déc 2009 à 12:29

salut

tu récuperes tes valeurs comment ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar GPE » 07 Déc 2009 à 12:37

par exemple

For i = 0 To ListXrefErrorCarrier(doc.NoteID).xNbLinks

' Get values from XrefDocCarrier
If ListXrefErrorCarrier(doc.NoteID).xLinksTitleStatus(i) = "Refresh" Then TitleRefreshed =True

J'utilise NoteId comme tag dans la liste.
GPE
Premier posts
Premier posts
 
Message(s) : 22
Inscrit(e) le : 22 Oct 2007 à 12:51
Localisation : PARIS

Messagepar Michael DELIQUE » 07 Déc 2009 à 12:44

bon c'est lundi j'ai Le neurone en marmellade !

tu peut me montre un ocde d'exemple, j'ai du mal a te suivre !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar GPE » 07 Déc 2009 à 12:59

Difficile d'envoyer la totalité, c'est un ensemble de fonctions qui utilisent ce principe.

Declaration

Public Type DocXref
xNbLinks As Integer
xLinksStatus(100) As String
xLinksTitleStatus(100) As String
xLinksNumberStatus(100) As String
xLinksCurrent(100) As String
xLinksRevised(100) As String
End Type
Public ListXrefErrorCarrier List As DocXref


Set List Item


ListXrefErrorCarrier(doc.NoteID).xNbLinks = IndexDocLink
ListXrefErrorCarrier(doc.NoteID).xLinksStatus(IndexDocLink) = "Remove"
ListXrefErrorCarrier(doc.NoteID).xLinksTitleStatus(IndexDocLink) = "Refresh"
ListXrefErrorCarrier(doc.NoteID).xLinksCurrent(IndexDocLink) = D
ListXrefErrorCarrier(doc.NoteID).xLinksRevised(IndexDocLink) = D


Get Item List


For i = 0 To Cint(ListXrefErrorCarrier(Doc.NoteID).xNbLinks)
xLinksStatus(i) = ListXrefErrorCarrier(Doc.NoteID).xLinksStatus(i)
xLinksCurrent(i) = ListXrefErrorCarrier(Doc.NoteID).xLinksCurrent(i)
xLinksRevised(i) = ListXrefErrorCarrier(Doc.NoteID).xLinksRevised(i)
xLinksTitleStatus (i) = ListXrefErrorCarrier(Doc.NoteID).xLinksTitleStatus(i)
xLinksNumberStatus(i) = ListXrefErrorCarrier(Doc.NoteID).xLinksNumberStatus(i)
Next
GPE
Premier posts
Premier posts
 
Message(s) : 22
Inscrit(e) le : 22 Oct 2007 à 12:51
Localisation : PARIS

Messagepar Michael DELIQUE » 07 Déc 2009 à 13:02

ahhh oui comme ça

le probleme, c'est que le tableau est a taille variable !

vu que c'est al fonction qui va déterminer le nombre d'occurence necessaire pour la deuxieme dimension !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar GPE » 07 Déc 2009 à 13:05

C'est bien ce que je disais au début:

Ce n'est pas parfait car non redimensionnable


Donc j'ai fixé une limite "raisonnable"
GPE
Premier posts
Premier posts
 
Message(s) : 22
Inscrit(e) le : 22 Oct 2007 à 12:51
Localisation : PARIS

Suivant

Retour vers Développement

cron