GAECHKA
Твоя помощница в решении задач

Вывод информации - кириллица и латиница вместе

Бодрого дня, господа.
До недавнего времени я был уверен, что gotoxy(х,у); задает абсолютные координаты, ни отчего не зависящие. Но, оказывается, это далеко не так.
При попытке вывести информацию, которая состоит из информации, введенной как кириллицей, так и латиницей, в виде таблички, то вся эта табличка "плывет". И "виновата" в этом именно кириллица.
Вопрос - можно ли как-то заставить выводиться информацию как положено - стройными столбцами? Так, как ей указано.
Даю пример. Введите любые слова и латиницей и кириллицей. Так, я думаю, будет наглядней, что я имею ввиду.
Кликните здесь для просмотра всего текста

uses dos,crt;
 
type Info=record
        Odin:string;
        Dva:string;
        Tri:integer;
      end;
 
var F:file of Info;
    myBaza:Info;
    i:byte;
 
begin
  assign(F,'info.inf');
  rewrite(F);
  
  with myBaza do
    begin
      for i:=0 to 2 do
        begin
          clrscr;  
          gotoxy(10,3);
          textbackground (0); textcolor(15);
          writeln('Первое слово:');
          gotoxy(10,5);
          writeln('Второе слово:');
          gotoxy(10,7);
          writeln('Какое-нибудь число:');
  
          Textbackground (14);
          gotoxy(42,3);
          write('               ');
          gotoxy(43,3);
          textcolor(12); readln(Odin);
 
          Textbackground (14);
          gotoxy(42,5);
          write('               ');
          gotoxy(43,5);
          textcolor(12); readln(Dva);
 
          Textbackground (14);
          gotoxy(42,7);
          write('               ');
          gotoxy(43,7);
          textcolor(12); readln(Tri);
          
          write(F,myBaza);
          Textbackground (0);
        end;
      textcolor(15);
    end;
  clrscr;
  reset(F);
  while not eof(F) do
    begin
      read(F,myBaza);
      with myBaza do
     begin
             gotoxy(2,wherey); write(Odin);
         gotoxy(30,wherey); write(Dva);
         gotoxy(50,wherey); writeln(Еri);
     end;
    end;
  readkey;
end.


Очень бы хотелось найти какое-нибудь решение.
0
вопрос задан

Источник


3 ответа
Для Windows никаких аномалий не увидел.
Может быть проблема в различиях кодировок программы и консоли Linux?
Да. Линукс. Прошу прощения - забыл указать. Кодировка UTF-8.
В Виндовс нет возможности проверить - ПК с 2001 года Виндовсом не заражен.
Возможно, есть смысл отказаться от CRT и для позиционирования курсора и изменения цвета использовать кроссплатформенную библиотеку ncurses или curses. В FPC есть заголовочные файлы для неё. Правда, пользоваться не доводилось.

Проверить не могу, но если замена CRT на ncurses поможет, то проблема в CRT и его перехватом ввода и вывода консоли.