Einzelnen Beitrag anzeigen

Mr. General

Registriert seit: 8. Aug 2008
9 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Innerhalb eines Strings Characters sortieren

  Alt 18. Okt 2008, 15:47
danke für eure hilfe. ich habs jetzt aber doch ganz anders gemacht^^

nach langem nachdenke kam mir diese idee.

ich verwende einen zähler, der zählt wie oft ein buchstabe vorkommt. dann gebe ich die buchstaben einfach (edit: in der richtigen reihenfolge) in ein edit aus.

mfg general

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  abc:string=('abcdefghijklmnopqrstuvwxyz');
var
  i,j: Integer;
  feld:array [1..26] of byte; //dient als Zähler
begin
for i := 1 to 26 do //in das array werden nullen geschrieben
  feld[i]:=0;

for i := 1 to length(edit1.text) do
  for j := 1 to 26 do
    if edit1.text[i] = abc[j] then
      inc(feld[j]);
//es wird edit1 mit dem abc string verglichen und bei übereinstimmungen das zähler-feld um 1 erhöht

edit2.text:=''; //edit2 wird gelöscht

for i := 1 to 26 do
  if feld[i] > 0 then
    repeat
      begin
        edit2.text:=edit2.text+abc[i];
        dec(feld[i]);
      end;
    until feld[i] = 0;
//wenn ein zähler > 0 ist,
//dann wird der richtige buchstabe dazu so oft in edit2 geschrieben bis der zähler 0 ist
end;
  Mit Zitat antworten Zitat