Im Case kannst Du jeweils das zuletzt gelesene Zeichen abfragen.
Findest Du nun eine #13 und willst sie nicht ausgeben, so wird sie halt nicht geschrieben.
Oder anders ausgedrückt:
In der Else werden alle die Zeichen ausgegeben, die nicht vorher im Case irgendwie verarbeitet wurden.
Soll also z. B. die #13 nie ausgegeben werden, sähe der Quelltext so aus:
Delphi-Quellcode:
procedure TIrgendeineKlasse.Zeichenaustauschen(input : TMemoryStream; output : TMemoryStream);
Var
ch : Char;
begin
input.Position := 0;
output.Position := 0;
// Ist überhaupt was in der Datei drin?
if input.Read(ch, 1) > 0 then begin
repeat
case ch of
#13 : ; // Das Zeichen wird schlicht und einfach ignoriert.
else
output.Write(ch,1); // Übrige Zeichen ausgeben.
end;
until input.Read(ch, 1) = 0;
input.Position := 0;
output.Position := 0;
end;
end;
Oder die Antwort auf deine Frage
Wenn ich jetzt auf #13 treffe, was muss ich dann machen? ist: Nichts.
Alle anderen Zeichen werden ausgegeben.