| |
|
|
| KompilierenMarqueSéparationSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Listbox sortieren
Lauffähig ab Profan-Version 5.0
Beschreibung der Prozedur Sortiere_ListBoxListe
19. September 2000
Autor: Gerhard Putschalka
email: g.putschalka@web.de
homepage: http://members.telering.at/g.putschalka/index.html
Die Prozedur sortiert eine Listboxliste.
Wird eine Listboxliste geladen (mit AddFiles, AddFonts ...), so erscheint diese
Liste, wenn Sie mit @ListBox$ angezeigt wird, sortiert. Tatsächlich ist der Inhalt
aber unsortiert.
Mit der Prozedur Sortiere_ListBoxListe kann diese Liste in alphabetisch aufsteigender
Folge sortiert werden.
Die Sortierung erfolgt in der Prozedur, indem eine unsichtbare Listbox mit
CreateSortedListbox erstellt wird, der Inhalt von der ListBoxListe hinzugefügt
wird und danach wieder in die gelöschte ListBoxListe rückgestellt wird. Zuletzt
wird diese ListBox wieder gelöscht.
Im Programm muß ein Fenster (vor dem ersten Aufruf von Sortiere_ListBoxListe)
erstellt werden (sonst kann die sortierte Listbox nicht erstellt werden) !
===============================================================================
Sortiere die ListBoxListe.
Die Sortierung erfolgt mit Hilfe einer unsichtbaren SortedListBox.
Version 1.0 19.9.2000. Die Prozedur kann frei benutzt werden, für
Schäden kann keine Haftung übernommen werden.
Autor: Gerhard Putschalka
email: g.putschalka@web.de
homepage: http://members.telering.at/g.putschalka/index.html
Proc Sortiere_ListBoxListe
Declare Nbr%,Ix%,LHnd%
Let LHnd% = @CreateSortedListBox(%Hwnd,,0,0,0,0)
Let Nbr% = (%GetCount + 1)
Let Ix% = 0
While (Ix% < Nbr%)
@AddString(LHnd%,@ListBoxItem$(Ix%))
Inc Ix%
EndWhile
ClearList
Let Ix% = 0
While (Ix% < Nbr%)
Addstring @GetString$(LHnd%,Ix%)
Inc Ix%
EndWhile
@DestroyWindow(Lhnd%)
Return
EndProc
===============================================================================
Beispielprogramm zum Test. Es werden alle Dateien vom Laufwerk C: gezeigt.
Declare Index%,SPfad$
$I SortList.inc
Die ListBoxListe wird in der Anzeigeform 5 so angezeigt, wie der Inhalt ist.
Bei der Anzeigeform 7 wird sortiert angezeigt, obwohl der Inhalt so wie
bei der Form 5 - also unsortiert ist.
SetTrueColor 1
Window 0,0-800,540
CLS @RGB(255,255,255)
Let SPfad$=@GetDir$(@) sichere aktuellen Pfad
ChDir C:
AddFiles *.*
Print Anzeige der unsortierten Liste in sortierter Form (mit >OK< weiter)
@ListBox$(,7) zeigt (nur in der Ansicht!) die Liste sortiert
Print Anzeige wie der Inhalt wirklich ist
@ListBox$(,5) zeigt wie die Reihenfolge wirklich ist
Sortiere_ListBoxListe
Print Anzeige wie der Inhalt jetzt ist
@ListBox$(,5) zeigt wie die Reihenfolge jetzt wirklich ist
ChDir SPfad$ wieder ursprünglichen Pfad
Fin
|
|
|
| |
|
|