Thema: Delphi Zugriffsverletzung?

Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Zugriffsverletzung?

  Alt 26. Dez 2013, 06:09
Ich habe in meinem Programm eine function, welche mir einen gegebenen string sortieren soll.

z.B. : '7,3,11,5,1' --> '1,3,5,7,11'

Dazu gebe ich meiner function einen string in solch einer Form, also durch Kommas abgetrennte Zahlen. Daraufhin soll es die einzelnen Zahlen separieren und in einem Array aufteilen. Daraufhin durch meinen Such-Algorithmus die einzelnen Glieder jeweils vergleichen und in ein anderes Array in geordneter Reihenfolge kopieren. Und als Ausgabe diese einfach wieder durch Kommas getrennt als einzelnen string ausgeben.
Die einfachste Möglichkeit, diese Aufgabe zu lösen, bestünde wohl darin, eine TStringList zu verwenden, mittels DelimitedText einlesen, den Delimiter auf Komma stellen und StrictDelimiter auf True. Danach setzt du das Sort-Property auf True und gibst als Result den DelimitedText aus:
Delphi-Quellcode:
Function SortiereZahlen(Eingabe : String) : String;
Var
  MyList : TSTringList;
Begin
  Result := ''; // setzt Result auf Leerstring; Fehler kannst dann daran erkennen
  MyList := TStringList.Create; // erzeugen einer Stringliste
  MyList.Delimiter := ','; // Trennzeichen = Komma
  MyList.StrictDelimiter := True; // sorgt dafür, daß nur das Komma als Trennzeichen verwendet wird

  Try
    MyList.DelimitedText := Eingabe; // hier wird dein String automatisch in einzelne Items zerlegt
    MyList.Sorted := True; // schaltet die Sortierung der Stringliste ein
    Result := MyList.DelimitedText; // weist der Rückgabe-Variablen den sortierten String zu
  Finally
    MyList.Free;
  End;
End;
  Mit Zitat antworten Zitat