Proponuję użyć takiej funkcji:
function CodePLChar(PLChar:Char):Char;
begin
case PLChar of
#185: Result:=#165;
#230: Result:=#134;
#234: Result:=#169;
#179: Result:=#136;
#241: Result:=#228;
#243: Result:=#162;
#156: Result:=#152;
#159: Result:=#171;
#191: Result:=#190;
#165: Result:=#164;
#198: Result:=#143;
#202: Result:=#168;
#163: Result:=#157;
#209: Result:=#227;
#211: Result:=#224;
#140: Result:=#151;
#143: Result:=#141;
#175: Result:=#189;
else
Result:=PLChar;
end;
end;
Później można zrobić osobne procedury Writeln i Write i jakoś je nazwać.
Np.:
procedure WritePLln(Text:String); //procedura do Writeln
var
Final:String;
I:Integer;
begin
Final:='';
for I:=1 to Length(Text) do
Final:=Final+CodePLChar(Text[I]);
Writeln(Final);
end;
procedure WritePL(Text:String); //procedura do Write
var
Final:String;
I:Integer;
begin
Final:='';
for I:=1 to Length(Text) do
Final:=Final+CodePLChar(Text[I]);
Write(Final);
end;