Autor Thema: Weiterbearbeitung von Listen  (Gelesen 1867 mal)

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Weiterbearbeitung von Listen
« 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
« Letzte Änderung: 18.03.14 - 07:32:30 von cebolina »
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Glombi

  • Gast
Re: Weiterbearbeitung von Listen
« Antwort #1 am: 14.03.14 - 10:33:15 »
Mit einer Forall / For Schleife über die erste Liste und dann mit Listtag arbeiten.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Weiterbearbeitung von Listen
« Antwort #2 am: 14.03.14 - 10:37:16 »
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 ...
« Letzte Änderung: 14.03.14 - 10:44:18 von Peter Klett »

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Weiterbearbeitung von Listen
« Antwort #3 am: 14.03.14 - 11:04:44 »
Perfekt - wie immer! (Ich dachte mir schon, wo die richtige Antwort herkommt ;D)
Danke
Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

Offline thkn777

  • Aktives Mitglied
  • ***
  • Beiträge: 176
Re: Weiterbearbeitung von Listen
« Antwort #4 am: 17.03.14 - 11:17:22 »
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

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Weiterbearbeitung von Listen
« Antwort #5 am: 17.03.14 - 14:00:44 »
Hallo

Listen können auch eigene Objekte....
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline cebolina

  • Senior Mitglied
  • ****
  • Beiträge: 386
  • Geschlecht: Männlich
Re: Weiterbearbeitung von Listen
« Antwort #6 am: 18.03.14 - 07:32:19 »
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.

Server: Lotus Domino 9.0.1FP4 HF70
Client: Release 9.0.1FP6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz