Wörter alphabetisch ordnen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Stephan

Betreff: Wörter alphabetisch ordnen

BeitragDi, Mai 25, 2004 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

ich habe ein Adressbuch programmiert, das einzige Problem besteht darin das die Namen, welche in einer LISTBOX erscheinen sich nicht alphabetisch ordnen lassen.
Bitte um Programmiervorschläge.

THX im voraus.
 

René Meyer

BeitragDi, Mai 25, 2004 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Programmiere eine Sortierfunktion. :)
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb

Garfield

BeitragDi, Mai 25, 2004 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hiermit sortiere ich ein Datenfeld mit 31 Feldern pro Eintrag

Code: [AUSKLAPPEN]
Dim Artikel$ (Menge,31)


Ich sortiere nach dem 4. Feld
T = Buchst$(Artikel$(((l+r)/2),4))

Code: [AUSKLAPPEN]
T = Buchst$(Artikel$(((l+r)/2),4))


die Funktion Buchst$ setzt alles auf Großbuchstaben auch die Umlaute

aufgerufen wird die Funktion mit

Fastsorti_A (0,Artikelmenge) ; Artikelmenge ist hier die max. Anzahl

Als "Schmankerl" wird hier noch eine ProgressBar angezeigt, also der Verlauf (geht natürlich nur in BlitzPlus)

Code: [AUSKLAPPEN]
value# = p/(Artikelmenge+0.0)
UpdateProgBar LinieSorti,value#


Code: [AUSKLAPPEN]

Function Fastsorti_A (l, r);--------------------------------------------------------------------------------

If KeyDown(1) Then Return False   ; Escape Ende
Local p,q,h$,T$,x$

p=l
q=r

T = Buchst$(Artikel$(((l+r)/2),4))
x = T
   Repeat
      T = Buchst$(Artikel$(p,4))
      While T<x
      p=p+1
      T = Buchst$(Artikel$(p,4))
      Wend
      T = Buchst$(Artikel$(q,4))
      While x<T
      q=q-1
      T = Buchst$(Artikel$(q,4))
      Wend
         If p>q Then Exit
         ;SWAP Lang-------------
         For zz = 1 To 31
            Temp$ = Artikel$(q,zz)
            Artikel$(q,zz) = Artikel$(p,zz)
            Artikel$(p,zz) = Temp$
         Next

         p=p+1
         q=q-1
            If q<0 Then Exit
   Forever
   value# = p/(Artikelmenge+0.0)
UpdateProgBar LinieSorti,value#
   If l<q Then a=Fastsorti_A(l,q)
   If p<r Then a=Fastsorti_A(p,r)
Return True
 
End Function

Function Buchst$(XY$)


xy$ = Upper$(xy$)
;xy$ = Trim$(xy$)
;xy$ = Replace$(xy$," ","")
xy$ = Replace$(xy$,"-","")
xy$ = Replace$(xy$,"ä","Ä")
xy$ = Replace$(xy$,"ö","Ö")
xy$ = Replace$(xy$,"ü","Ü")

Return xy$

End Function
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra
 

Stephan

Betreff: Dank

BeitragMi, Mai 26, 2004 20:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank,
hat mir sehr geholfen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group