Konsola i polskie znaki

0

Mam Windowsa XP Proffesional i Delphi 7 Personal . W oknie konsoli nie wyświetlają się polskie litery . Szukałem już na forum odpowiedzi i znalazłem coś, że to wina kodowania czy czegoś takiego. Ale jak to poprawić aby, konsola wyświetlała znaki polskie nie znalazłem. Byłbym wdzieczny za każdą pomoc. THX

/* Nie z czasownikami piszemy rozłącznie ;) */

0

a co się dzieje jeśli naciskasz Alt+a??????????????

0

W Delphi jak piszę to mam znaki polskie . Tylko jak potem daję F9 (uruchamiam) to w konsoli NIE MA polskich znaków (czyli ą,ś itp).

Kod programu jaki dałem aby wam wyjaśnic sytuację):
{$APPTYPE CONSOLE}
Writeln('Wiersz, który nie będzie zakończony znakiem nowego wiersza')

To cały kod. Po uruchomieniu programu , w konsoli w tekście NIE MA polskich znaków (ó, ń) .

0

u mnie w konsoli też nie ma.....

0

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;

1 użytkowników online, w tym zalogowanych: 0, gości: 1