Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: doliman am 24.11.03 - 09:40:06

Titel: Mehrdimensionales Array sortieren
Beitrag von: doliman 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?
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: Semeaphoros 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
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: doliman 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
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: klaussal 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.
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: ata 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
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: doliman 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.
Titel: Re:Mehrdimensionales Array sortieren
Beitrag von: ata am 25.11.03 - 21:29:50
... ich schreibe dir den Code zusammen, habe ihn in einer Lib drin - morgen mehr...

ata
Titel: Re: Mehrdimensionales Array sortieren
Beitrag von: StefanP1962 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!  ;)
Titel: Re: Mehrdimensionales Array sortieren
Beitrag von: Semeaphoros 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.
Titel: Re: Mehrdimensionales Array sortieren
Beitrag von: Axel 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
Titel: Re: Mehrdimensionales Array sortieren
Beitrag von: koehlerbv 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