Seite 1 von 1
DynamicResultSet, Sorted- mit Basic
Verfasst: Di, 13.11.2007 11:55
von khsc7
hallo miteinander,
hat da schon jemand Erfahrungen mit?
Ich suche ne schnelle Methode zum Sortieren von Daten
Danke
Hermann
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Di, 13.11.2007 12:42
von komma4
Wieso das ResultSet nicht schon sortiert ausgeben (SQL: ORDER BY-Klausel)?
Wie viele Daten sind denn betroffen? Reicht eine einfache bubblesort Routine?
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Di, 13.11.2007 13:56
von khsc7
Hallo,
1. da ist keine Datenbank dahinter
-> sind einfach nur viele File-Namen (bis zu 1200),
die per klick schnell mal in einer neuen Sortierung in einer Listbox angezeigt werden sollen
2. Bubblesort ?
das sagt mir leider nix - wäre das ne Alternative ?
Danke
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Di, 13.11.2007 14:19
von komma4
khsc7 hat geschrieben:2. Bubblesort ?
aus dem OOo Wiki, Basic Guide, folgendes Beispiel
Code: Alles auswählen
Sub Sort
Dim Entry(1 To 10) As String
Dim Count As Integer
Dim Count2 As Integer
Dim Temp As String
Entry(1) = "Patty"
Entry(2) = "Kurt"
Entry(3) = "Thomas"
Entry(4) = "Michael"
Entry(5) = "David"
Entry(6) = "Cathy"
Entry(7) = "Susie"
Entry(8) = "Edward"
Entry(9) = "Christine"
Entry(10) = "Jerry"
For Count = 1 To 10
For Count2 = Count + 1 To 10
If Entry(Count) > Entry(Count2) Then
Temp = Entry(Count)
Entry(Count) = Entry(Count2)
Entry(Count2) = Temp
End If
Next Count2
Next Count
For Count = 1 To 10
Print Entry(Count)
Next Count
End Sub
1200 Einträge für eine Listbox sind schon eine Menge....
Hilft das?
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Mi, 14.11.2007 09:54
von khsc7
Moin + Danke,
so sieht meine bisherige Lösung auch aus,
ich wußte nur nicht, daß das als BubbleSort bezeichnet wird.
ich hätte es nur gern elwas schneller
Hermann
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Mi, 14.11.2007 13:57
von komma4
Ja, es gibt auch schnellere Sortieralgorithmen als den bubble sort - ob sich das bei 1200 Einträgen schon auswirkt ...?
Die Frage, die sich mir stellt, ist Folgende: ist eine Listbox mit 1200 Einträgen dem Benutzer zuzumuten? Kannst Du die Anzahl der Einträge nicht reduzieren - oder gruppieren (2 Listboxen einsetzen)
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Mi, 14.11.2007 14:37
von khsc7
Hallo,
das werden leider ca 1200 Textfiles aus denen jeweils 1 ODF generiert werden soll
momentan sinds ca 250, von denen die meisten noch nicht bearbeitet sind.
die blende ich standardmäßig (anhand des Datums) aus
vorgesehen ist noch ein Textfeld, mit dem ich die Namen spezifizieren kann
und das Ausbenden für solche für die es bereits neuere ODFs gibt
es soll aber möglich sein, alle anzuzeigen und nach Datum oder Name zu sortieren
Hermann
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: So, 18.11.2007 10:03
von komma4
Andrew schreibt in seinem freien Makro Dokument [Kap. 9.1.2 Array of Strings], dass der binäre Vergleich von strings viel schneller sei (siehe sein Code dort, mit Abbruchbedingung!).
Du hast doch Zeichenketten vorliegen?
Wie vergleichst Du die Ausführungszeiten? Mit timer?
Re: DynamicResultSet, Sorted- mit Basic
Verfasst: Mo, 19.11.2007 12:45
von khsc7
Moin,
erstmal Danke für den Hinweis aufs AndrewMakro.
Das hatte ich irgendwie aus den Augen verloren.
aber leider weist er nur mal kurz auf Binär-Suche hin, hab aber kein Beispiel gefunden wie das geht.
Zum Sortieren verwendet er auch nur den BubbleSort.
Zur Zeitmessung:
Bisher reichte das Zählen der Umdrehungen der Sanduhr (grins!), d.h vor der Verbesserung der Datum-String-Konvertierung.
Hermann