Hi Manfred
Wenn ich Dich richtig verstanden habe, willst Du nach Namen sortieren und trotzdem das Herr oder Frau davor haben, richtig?
Hier eine Idee (natürlich kann man das ein oder andere kürzen) die eigentlich nur 2 Procs aufruft.
Hoffe es ist das richtige ;)
'********************** HINWEISE ********************************
' CODE ERZEUGT MIT ROKO'S OBJECT CREATOR V 2.5
' DATUM 14.05.2002 um 23:36 Uhr
SETTRUECOLOR 1
DECLARE ENDE%,Name$,Geschlecht$,gpos%
DECLARE SORTEDLISTBOX1%,Listbox1%,listbox2%
DECLARE BUTTON1%,zahl%,eintrag$,string$
WINDOWSTYLE 527
WINDOW 254,108-234,241
WINDOWTITLE "Liste"
CLS @RGB(212,208,200)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
PROC VAR_BEARBEIT
zahl%=0
clearlist
Whilenot equ(zahl%,@GetCount(listbox2%))
' Könnte alles noch zusammengefasst werden:
eintrag$=@GetString$(listbox2%,zahl%)
Name$=@Mid$(eintrag$,6,100)
Geschlecht$=@Mid$(eintrag$,1,4)
string$=Name$,Geschlecht$ ' String wird umgedreht
Addstring(sortedlistbox1%,string$)
inc zahl%
wend
zahl%=0
ENDPROC
PROC Liste_fuellen
zahl%=0
clearlist
Whilenot equ(zahl%,@GetCount(sortedlistbox1%))
' Könnte alles noch zusammengefasst werden:
eintrag$=@GetString$(sortedlistbox1%,zahl%)
'Ermitteln des Geschlechts:
Gpos%=or(@Instr("Herr",eintrag$),@Instr("Frau",eintrag$))
'Name ermitteln
Name$=@Mid$(eintrag$,1,sub(Gpos%,1))
'Geschlecht wiederum ermitteln
Geschlecht$=@Mid$(eintrag$,Gpos%,4)
'und nochmals zusammensetzen (also umdrehen)
String$=Geschlecht$,Name$
Addstring(listbox1%,string$)
inc zahl%
wend
zahl%=0
Endproc
' Anzeige in einer unsortierten Listbox:
LISTBOX1% =CREATE("LISTBOX",%HWND,"SORTEDLISTBOX1",0030,0020,0167,0120)
' Zum Einlesen gedacht:
BUTTON1% =CREATE("BUTTON",%HWND,"Einlesen",0068,0161,0088,0024)
' Diese Listboxen sind nur zum Sortieren im Hintergrund gedacht:-------------------
SORTEDLISTBOX1% =CREATE("SORTEDLISTBOX",%HWND,"SORTEDLISTBOX1",0000,0000,0000,0000)
LISTBOX2% =CREATE("SORTEDLISTBOX",%HWND,"SORTEDLISTBOX1",0000,0000,0000,0000)
'----------------------------------------------------------------------------------
' Hier die normale Übergabe in eine Liste
' aber: in eine normale versteckte Liste!
clearlist
Addstring(listbox2%,"Herr Markus Müller")
Addstring(listbox2%,"Frau Sabine Meyer")
Addstring(listbox2%,"Frau Martina Arand")
Addstring(listbox2%,"Herr Achim Urich")
Addstring(listbox2%,"Herr Sandro Bayer")
Addstring(listbox2%,"Frau Tatjana Kindl")
Addstring(listbox2%,"Herr Lars Vandolis")
Addstring(listbox2%,"Herr Detlev Insbruck")
Addstring(listbox2%,"Frau Eva Liebharr")
Addstring(listbox2%,"Herr Peter Salotti")
Addstring(listbox2%,"Frau Regina Leinberg")
Addstring(listbox2%,"Herr Ferdinand Hortig")
Addstring(listbox2%,"Frau Gina Loloria")
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF GETFOCUS(SORTEDLISTBOX1%) 'SORTEDLISTBOX
ELSEIF GETFOCUS(BUTTON1%) 'BUTTON
Var_Bearbeit 'Proc zum Stringbearbeiten.
Liste_fuellen 'Proc zum Liste füllen (eine Unsortierte)
ENDIF
WEND
Rolf Koch
|