![]() |
Sortieren von Buchstaben in einer Listbox
Hallo!
Also ich hab ein Sortierprogramm für eine Listbox mit integer Zahlen geschrieben,und möchte das jetzt auf einen String übertragen. Also eine Listbox mit Buchstaben, die dann sortiert wird. Ich weiß, dass man das gleich auf sorted=true stellen kann, ich benutz aber verschiedene Sortiermethoden und will die geschwindigkeiten vergleichen können und sowas. So, Problem: es werden nur die ersten Buchstaben, also alle 'a' "sortiert" angezeigt. Ich hab nicht so viel mit strings am Hut: ist ansicomparestr das richtige hier? hier mein Versuch:
Delphi-Quellcode:
Zahl[] ist eig Buchstabe []... muss ich noch ändern
var i, j: integer; Merke : string;
begin i:=2; while i < Laenge do begin i:=i+1; Merke:= Zahl[i]; //einen Buchstaben merken j:= i; while ((j > 1)and (ansicomparestr(Zahl[j-1], Merke)> 0 )) do // die beide Buchstaben vergleichen begin // Beide Buchstaben miteinader vertauschen Zahl[j] := Zahl[j-1]; j := j-1; end; //Gemerkten Buchstaben auf korrekten Platz setzen Zahl[j] := Merke; end; Danke schonmal! |
Re: Sortieren von Buchstaben in einer Listbox
Erstmal herzlich willkommen in der DP :dp:
Such 'mal im Suchfeld nach Zitat:
Gruß Wolfgang |
Re: Sortieren von Buchstaben in einer Listbox
Schau mal
![]() |
Re: Sortieren von Buchstaben in einer Listbox
Und bei Delphi ist auch eine Demo dabei, die Threads in Kombination mit Suchalgorithmen und deren Geschwindigkeitsvergleich zeigt. ;-)
Diese liegt unter:
Code:
Bzw. unter anderen Betriebssystem und Delphiversionen an leicht anderer Stelle (bei D2007/2009 z.B. in den öffentlichen Dokumenten).
C:\Program Files\Borland\BDS\4.0\Demos\DelphiWin32\VCLWin32\Threads
|
Re: Sortieren von Buchstaben in einer Listbox
erstmal danke für die antworten :)
aber ich glaube ihr habt mich ein wenig missverstanden..vllt hab ich mich auch schlecht ausgedrückt... ich hatte weniger die frage wie sich die sortieralgorythmen unterscheiden oder wo man die nach gucken kann.. deshalb verweis ich noch mal auf die Überschrift. Denn mein Problem ist, dass ich zwar Zahlen sortieren kann, aber das bei Buchstaben nicht hinbekomme. Soll zum Beispiel anna sortiert werden kommt nur : aa oder wenn besen sortiert wird nur : b |
Re: Sortieren von Buchstaben in einer Listbox
Zitat:
|
Re: Sortieren von Buchstaben in einer Listbox
Hallo,
der ganz normale String-Vergleich sollte doch reichen ?
Delphi-Quellcode:
bBool wäre True;
sStr_1:= 'anna';
sStr_2:= 'besen'; bBool:= sStr_1<sStr_2; Man könnte auch noch UpperCase und auch AnsiCompareStr+UpperCase benutzen. Heiko |
Re: Sortieren von Buchstaben in einer Listbox
AnsiCompareStr+UpperCase = AnsiCompareText
ist bei vielen Prozeduren dieser Art so: ...Str = CaseSensitive ...Text = nicht CaseSensitive |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz