13.07.2015 Aufrufe

Makro-Kochbuch - WollMux

Makro-Kochbuch - WollMux

Makro-Kochbuch - WollMux

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Beispiel: In den Array sollen alle Texte eingelesen werden, die mit „a“ beginnen. Die Schleifeläuft ab Zeile 2 bis zur ersten leeren Zelle. Vorgabegröße für den Array ist 100.private Const Lint as integer = 100'Größenfaktor Array...n2 = Lint 'Vorgabegröße Arrayredim aDaten(n2)j = 0REM jetzt für jede Zeile:Do until oTab.getCellByPosittion(0,n).getType = 0 'einlesen, bis eine leere Zelle kommtif lcase(left( oTab.getCellByPosittion(0,n).getString, 1) = "a" then 'passtaDaten(j) = oTab.getCellByPosittion(0,n).getStringj = j+1if j > n2 thenn2 = n2 + Lintredim preserve aDaten(n2)end ifend ifloopREM Liste korrigierenif j > 0 thenredim preserve aDaten(j-1)elseredim aDaten() 'kein Datensatz vorhanden!end if...Werden größere Datenmengen erwartet (also so 2.000-5.000 Stück), passt man einfach dieKonstante entsprechend an, z.B. auf 500 oder sogar 1.000. Dann bleiben so 5 bis 10 „redim“Anweisungen – und die wird der/die Benutzer/in nicht „merken“.Arrays sortierenOft ist es notwendig, Arrays zu sortieren, um eine passende Reihenfolge zu erhalten. Das„Sortieren“ ist immer zeitaufwendig – es ist also zu überlegen, ob diese Arbeit nicht in andereTeile zu verschieben ist (zum Beispiel bei der Arbeit mit Datenbanken – das Sortieren wird demDBMS überlassen – Ergebnisse von SQL-Befehlen sind dann schon sortiert).Kann man den Umweg über Calc gehen, so ist es performanter, den Array in einen Zellbereichzu schreiben, diesen dann mit dem eingebauten SortDescriptor zu sortieren und anschließendwieder auszulesen. Das alles macht natürlich nur Sinn bei großen Listen (> 100 Elemente).Einen Array kann man auch über einen BubbleSort-Algorithmus relativ schnell sortieren lassen.Die Bibliothek „Tools“ bringt eine solche Funktion im Modul „Strings“ mit (bubbleSortList(byValaListe(), optional bSort2ndValue as Boolean)). Man kann aber auch einen eigenen Codeschreiben:'/** ListeSortieren()'*************************************************************************.'* @kurztext sortiert eine Liste (Bubblesort)'* Diese Funktion sortiert eine übergebene Liste (Array) entweder aufsteigend'* oder absteigend. Verwendet wird ein BubbleSort Algorythmus.LHM – <strong>Makro</strong>-<strong>Kochbuch</strong> 2012 71

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!