Autor Thema: Mehrdimensionales Array sortieren  (Gelesen 5120 mal)

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Mehrdimensionales Array sortieren
« am: 24.11.03 - 09:40:06 »
Hi,

hat jemand evtl. eine Routine griffbereit, die mir ein mehrdimensionales Array anhand eines Schlüssels sortieren kann?
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Mehrdimensionales Array sortieren
« Antwort #1 am: 24.11.03 - 09:50:43 »
Suche mal in Ulrichs Schatzkiste, da gibt es mehrere Sortier-Algorithmen, die sich sicher an Deine Bedürfnisse anpassen lassen:

http://www.eknori.de
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Mehrdimensionales Array sortieren
« Antwort #2 am: 24.11.03 - 09:56:50 »
Hi,

Danke!
Die CD von Eknorie habe ich erworben. Aber zu diesem Thema war nichts passendes drin. ;D
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

klaussal

  • Gast
Re:Mehrdimensionales Array sortieren
« Antwort #3 am: 24.11.03 - 10:50:04 »
... dann such doch mal unter dem stichwort "quicksort". da gibt's ein paar einträge. vielleicht ist da was passendes dabei.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Mehrdimensionales Array sortieren
« Antwort #4 am: 25.11.03 - 07:48:05 »
@doliman

... ich habe mir einmal eine Routine zur Sortierung einer dynamischen Tabelle geschrieben, die ein Array von Feldnamen in der Reihenfolge der Feldnamen sortiert - wäre das ungefähr das, was du suchst?

ata
Grüßle Toni :)

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Mehrdimensionales Array sortieren
« Antwort #5 am: 25.11.03 - 18:40:39 »
Hi,

gebrauchen könnte ich das schon!
Habe mir aber einen Quicksort umgebastelt und hart eincodiert meine Anzahl Dimensionen, somit geht es für diesen Anwendungsfall.
Aber wenn Du Deine Entwicklung preisgeben willst, dann sage ich nicht nein.
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Mehrdimensionales Array sortieren
« Antwort #6 am: 25.11.03 - 21:29:50 »
... ich schreibe dir den Code zusammen, habe ihn in einer Lib drin - morgen mehr...

ata
Grüßle Toni :)

Offline StefanP1962

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
Re: Mehrdimensionales Array sortieren
« Antwort #7 am: 14.01.05 - 14:59:20 »
Habe da eine ganz simple Lösung.  ;D
Man kann unter Lotus script nämlich auch Formeln ausführen. Der code könnte wie folgt aussehen. Hier lese ich alle views einer Datenbank und gebe diese sortier als Auswahlbox aus.

Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim db As NotesDatabase
   Dim doc As NotesDocument   
   Dim response As Variant
   Dim views As Variant
   Dim i As Integer
   Dim eval As Variant
   
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   'alle views der Datenbank auslesen
   Set db = session.CurrentDatabase
   views = db.Views
   Forall v In views
      Redim Preserve Values( i ) As String
      Values( i ) = v.Name
      i = i + 1      
   End Forall
   
   ' sortieren
   Call doc.ReplaceItemValue("Values", values )
   eval = Evaluate("@Sort( Values; [Ascending] )", doc )
   
   ' Anzeigen
   response = ws.Prompt (PROMPT_OKCANCELLIST, _
   "Select a View", _
   "Select a view to delete.", _
   eval(0), eval)
   If Isempty (response) Then
      Messagebox "User canceled", , "No views deleted"
   End If

Vielleich hilft es ja!  ;)
« Letzte Änderung: 14.01.05 - 15:02:56 von StefanP1962 »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Mehrdimensionales Array sortieren
« Antwort #8 am: 14.01.05 - 16:42:38 »
Sei gegrüsst im Forum, Stefan

Und vielen Dank für Deinen sofortigen guten Vorschlag. Eine kleine Bitte habe ich: Beachte doch bitte das Datum der Threads, in denen Du Antwort gibst, es ist ziemlich unwahrscheinlich, dass jemand nach 14 Monaten noch nach einer Lösung sucht. Dein Vorschlag hätte aber sicher unter Tipps und Tricks einen guten Platz gefunden (sortieren ist meistens brauchbaur) oder vielleicht auch als Vorschlag in den Best Practices (wo sich dann das Team darum kümmert, wie ein solcher Vorschlag dann realisert werden soll). Nochmals Danke für den Beitrag.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mehrdimensionales Array sortieren
« Antwort #9 am: 14.01.05 - 20:50:47 »
...   
   ' sortieren
   Call doc.ReplaceItemValue("Values", values )
   eval = Evaluate("@Sort( Values; [Ascending] )", doc )
...   

Hi,

mit Sicherheit ist der Code brauchbar. Allerdings nicht hier, abgesehen davon das der Fred schon etwas älter ist. Wir sind hier im Entwicklungsforum für R5 und @Sort gab's bei R5 noch nicht.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mehrdimensionales Array sortieren
« Antwort #10 am: 16.01.05 - 23:07:32 »
Und gerade wegen Evaluate und @functions hat das ganze absolut gar nichts mit MEHRDIMENSIONALEN Arrays zu tun ...

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz