Domino 9 und frühere Versionen > ND8: Entwicklung

Weiterbearbeitung von Listen

(1/2) > >>

cebolina:
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

Glombi:
Mit einer Forall / For Schleife über die erste Liste und dann mit Listtag arbeiten.

Peter Klett:
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 ...

cebolina:
Perfekt - wie immer! (Ich dachte mir schon, wo die richtige Antwort herkommt ;D)
Danke

thkn777:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln