Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: cebolina am 14.03.14 - 09:52:30
-
Hallo zusammen,
ich hänge gerade an einer (zumindest für mich) kniffligen Herausforderung bei der Weiterverarbeitung von Listen.
Ich habe diese 3 Listen erstellt (dim listXYZ List As String) und gefüllt:
listMitarbeiter("PersonalNr") = "Name~Vorname"
listStelleninhaber("Stelle") = "PersonalNr"
listStellen("PersonalNr") = "Stelle(n) mit ~ getrennt"
Im Ergebnis sehen die Listen so aus:
listMitarbeiter("123") = "Christ~Kind"
listMitarbeiter("345") = "Laus~Niko"
listMitarbeiter("567") = "Ruprecht~Knecht"
listMitarbeiter("789") = "Ren~Rudolph"
listStelleninhaber("Chef") = "123"
listStelleninhaber("Oberknecht") = "345"
listStelleninhaber("Unterknecht") = "567"
listStelleninhaber("Ren") = "789"
listStellen("123") = "Chef"
listStellen("345") = "Chef~Oberknecht"
listStellen("567") = "Chef~Oberknecht~Unterknecht"
listStellen("789") = "Chef~Oberknecht~Unterknecht~Ren"
Jetzt sollen die vorhandenen Listen in eine 4. Liste (listHierarchie) zusammengefasst werden.
dim listHierarchie list as string
Das Ergebnis soll so aussehen:
listHierarchie("123") = "Christ~Kind"
listHierarchie("345") = "Christ~Kind~Laus~Niko"
listHierarchie("567") = "Christ~Kind~Laus~Niko~Ruprecht~Knecht"
listHierarchie("789") = "Christ~Kind~Laus~Niko~Ruprecht~Knecht~Ren~Rudolph"
Kann mir bitte jemand beim Schleifenkonstrukt helfen?
Danke und Gruß
Stefan
-
Mit einer Forall / For Schleife über die erste Liste und dann mit Listtag arbeiten.
-
Dim array As Variant
Forall listStelle In listStellen
array = Split (listStelle, "~")
Forall a In array
a = listMitarbeiter (a)
a = listMitarbeiter (listStelleninhaber (a))
End Forall
listHierarchie (ListTag (listStelle)) = Join (array, "~")
End Forall
ungetestet aus dem Bauch, wobei Split und Join nur gefühlt sind, dafür verwende ich immer eigene Routinen und habe deshalb die "Neuen" (seit R5 ;) ) nicht im Kopf.
Und natürlich ohne Fehlerhandling, also If Iselement usw.
Edit: war etwas kurz gesprungen ...
-
Perfekt - wie immer! (Ich dachte mir schon, wo die richtige Antwort herkommt ;D)
Danke
-
Tip: Ich würde in der listHierarchie nicht das gleiche Trennzeichen "~" benutzen.
Warum:
Christ~Kind~Laus~Niko~Ruprecht~Knecht~Ren~Rudolph läßt sich später schwieriger wieder "auseinandernehmen" und weiterverarbeiten als z.B. Christ~Kind#Laus~Niko#Ruprecht~Knecht#Ren~Rudolph
-
Hallo
Listen können auch eigene Objekte....
-
Tip: Ich würde in der listHierarchie nicht das gleiche Trennzeichen "~" benutzen.
Das hatte ich mir auch überlegt.
In diesem speziellen Fall ist die Struktur allerdings eindeutig. Deshalb ist die Weiterverarbeitung der Einträg kein POroblem.
Trotzdem Danke.
Listen können auch eigene Objekte....
ist mir bekannt. Danke für den Hinweis.