Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 242978 (4414)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Sortierung im Listfeld
Manfred Loibl
| Datum:14.05.02 18:48 (gp2@gmx.de) |
Habe eine Frage zu Profan 7.0+7.5 Gibt es eine Möglichkeit, in einem sortierten Listfeld, die Einträge, von einer bestimmte Stelle und Länge, sortieren zu lassen. Zur Zeit werden Sie vom Anfang bis Ende des Strings sortiert. Meine Zeilen sehen wie folgt aus: Herrn Manfred Loibl usw. Frau Sonja Colletti usw. Die Sortierung sollte also nur nach dem Namen erfolgen. Ich bedanke mich im voraus MFG Manfred Loibl
Jörg Sellmeyer
| Datum:14.05.02 19:18 (joerse@gmx.de) |
Hallo, Es würde mich sehr wundern wenn das geht, deswegen behaupte ich einfach es geht nicht. Wenn es nur ein optisches Problem ist kann ich Dir nicht weiterhelfen. Wenn Du die Daten weiterverarbeiten willst, könntest Du beim Auslesen Deiner Listbox das Herr oder Frau ergänzen. Manfred Loibl m Sonja Coletti w
    If Right$(GetString$(Listbox&,0),1)="m"
    Eintrag$ = "Herr " + Left$(GetString$(Listbox&,0),Len(GetString$(Listbox&,0)) - 1)
    Else
    Eintrag$ = "Frau " + Left$(GetString$(Listbox&,0),Len(GetString$(Listbox&,0)) - 1)
    Endif
Vielleicht hilft's ja weiter. Gruß Jörg
Rolf Koch
| Datum:15.05.02 11:42 (webmaster@rokosoft.de) |
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
Manfred Loibl
| Datum: 15.05.02 13:31 (gp2@gmx.de) |
Danke für die schnelle Antwort MFG Manfred Loibl

| Zurück zur Übersicht