Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit der Sortierung von Buchstaben in einem Wort (https://www.delphipraxis.net/88730-problem-mit-der-sortierung-von-buchstaben-einem-wort.html)

Harlicon 20. Mär 2007 08:13


Problem mit der Sortierung von Buchstaben in einem Wort
 
Hi, also mein Chef hat mir (als ziemlich blutigem Anfänger gestern die Aufgabe gestellt ein Proggi zu schreiben, was mit den Buchstaben eines eingegeben Worts verschiedenste Sachen macht.
So, nach einigem hin und her hat auch alles funktioniert.
Alles bis auf die Buchstabensortierung nach ASCII....

Delphi-Quellcode:
procedure TForm1.Sort;
var
  Text : String;
  P, Lang, C : Integer;
  Char1 : Char;
  Stop: Boolean;
begin
  Text := Edit1.Text;
  Lang := Length(Text);
  repeat
  Stop := True;
    for P := 1 to (Lang-1) do begin
      C := CompareStr(IntToStr(ord(Text[P])), IntToStr(ord(Text[P+1])));
      if C > 0 then begin
         Char1 := Text[P];
         Text[P] := Text[P+1];
         Text[P+1] := Char1;
         Stop := False;
      end;
    end
  until Stop;
  LASort.Caption := Text;
end;
Ich verzweifel da grade ziemlich dran :wall: und wollte fragen wer von Euch mir da weiterhelfen könnte :?

Lieben Dank im Vorraus

Harlicon

RavenIV 20. Mär 2007 08:21

Re: Problem mit der Sortierung von Buchstaben in einem Wort
 
Zwei Lösungsansätze:
1) allgemein bekannte Sortieralgorythmem (Bubblesort, Quicksort, Heapsort) einbauen.
2) eine Stringlist verwenden, da gibt es die Methode Sort().

Für weitere Hilfe konsultiere die OnlineHilfe von Delphi.

kolbaschedder 20. Mär 2007 08:23

Re: Problem mit der Sortierung von Buchstaben in einem Wort
 
Zitat:

Delphi-Quellcode:
      C := CompareStr(IntToStr(ord(Text[P])), IntToStr(ord(Text[P+1])));
      if C > 0 then begin

Ersetze mal obigen Teil durch

Delphi-Quellcode:
      if ansiLowercase(Text[P]) >AnsiLowercase(Text[P+1]) then begin
Wenn du Casesensitiv arbeiten willst lass dass "AnsiLowercase" weg.

MfG

Thorsten

Harlicon 20. Mär 2007 08:30

Re: Problem mit der Sortierung von Buchstaben in einem Wort
 
Danke euch beiden für dir schnelle Hilfe :-D
@RavenIV Habe keinen Sortieralgorythmus eingebaut weil ich mir da selber was basteln wollte :wink:

@kolbaschedder funktioniert einwandfrei, wenn man das AnsiLowerCase weglässt *hut zieh* vielen Dank! :mrgreen:

RavenIV 20. Mär 2007 08:33

Re: Problem mit der Sortierung von Buchstaben in einem Wort
 
Zitat:

Zitat von Harlicon
Danke euch beiden für dir schnelle Hilfe :-D
@RavenIV Habe keinen Sortieralgorythmus eingebaut weil ich mir da selber was basteln wollte :wink:

Warum wollen die Leute immer was selberbasteln, wenn es schon fertige Sachen gibt?
Vor allem sind die fertigen Sachen zuverlässig und laufen.

Harlicon 20. Mär 2007 08:37

Re: Problem mit der Sortierung von Buchstaben in einem Wort
 
Verkappter Pioniergeist, mit verstecktem Lerneffekt. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz