Thema: Delphi Zugriffsverletzung?

Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#11

AW: Zugriffsverletzung?

  Alt 26. Dez 2013, 09:14
Da hast du auch wieder recht
Man kann das aber umgehen, indem man einfach alle Strings vor dem Setzen des Sorted-Properties mit der entsprechenden Anzahl von '0' ergänzt
Delphi-Quellcode:
Function FillString(Quelle : String; Zeichen : Char; Anzahl : Integer; Anfang : Boolean) : String;
Var
  Fuellung : String;

begin
  Result := '';
  IF Quelle = 'THEN Exit;
  Anzahl := Anzahl - Length(Quelle);
  IF Anzahl < 1 THEN Exit;

  Fuellung := '' + Zeichen;
  Fuellung := StrUtils.DupeString(Fuellung,Anzahl);
  IF Anfang THEN
     Result := Fuellung + Quelle ELSE
     Result := Quelle + Fuellung;
end;

Function SortiereZahlen(Eingabe : String) : String;
Var
  MyList : TSTringList;
  i : Integer;

Begin
  Result := '';
  MyList := TStringList.Create;
  MyList.Delimiter := ',';
  MyList.StrictDelimiter := True;

  Try
    MyList.DelimitedText := Eingabe;

    For i := 0 to MyList.Count -1 DO MyList[i] := FillString(MyList,'0',10,True);

    MyList.Sorted := True;
    Result := MyList.DelimitedText;
  Finally
    MyList.Free;
  End;
Benötigt man die im Rückgabe-String enthaltenen Zahlen danach als Integer-Werte, kann man ohne Probleme die mit voranstehenden Nullen ergänzten Strings zum Umwandeln in Integer verwenden, andernfalls müßte man die Nullen wieder entfernen.

Geändert von Perlsau (26. Dez 2013 um 09:36 Uhr)
  Mit Zitat antworten Zitat