hallo jbg,
danke für deine antwort, ich werde versuchen es umzusetzen.
b ist true wenn das letzte zeichen der seperator war, so vermeide ich das ein seperator doppelt geschrieben wird.
EDIT:
Delphi-Quellcode:
function fmtstr(const s: string; const c: char): string;
var
i, len: integer;
b: boolean;
begin
Result := '';
if s <> '' then
begin
setlength(result, length(s));
len := 0; b := false;
for i := 1 to length(s) do
begin
if s[i] = c then
begin
if (result[1] = #0) or (b = true) then
continue;
b := true;
end
else b := false;
len := len + 1;
result[len] := s[i];
end;
if result[length(result)] = c then
setlength(result, len-1)
else setlength(result, len);
end;
end;
was ist denn hier falsch?
wenn ich das tue:
Zitat:
test := fmtstr('s.u...', '.');
dann ist test "s.u."
wieso ist der punkt am ende noch da?