Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: führende null entfernen

  Alt 1. Aug 2018, 20:05
Dein zweites Beispiel kann Ärger machen, da Du die Länge des String nicht berücksichtigst.
Ich versuche gerade Nachzuvollziehen an welcher Stelle es böse ausgehen könnte, deswegen kommentare rangeklebt damit ihr seht was ich anstellen wollte, vielleicht ist umsetzung falsch
Delphi-Quellcode:
function RemDelLeadChar(const Input: string; const LeadChar: Char): string;
var
  i: Integer;
begin
  i := 1; // String Index auf 1 (der erste) setzen
  Result := Input; // result mit input initialisieren
  if ((Length(Input) > 0) and (Input[1] = LeadChar)) then // wenn länge +1 und mit LeadChar anfängt dann...
  begin // block anfangen damit delete korrekt ausgeführt wird
   while (Input[i] = LeadChar) do inc(i); // solange leadchar vorne [i] vorkommt gib +1 auf i
   Delete(Result, 1, i-1); // da wenigstens ein LeadChar vorkam kann man bedenkenlos ausführen
  end; // ende vom länge/leadchar block
  if Result = 'then Result := LeadChar; // falls string leer ist, gib wenigstens ein leadchar wieder
end;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat