Реализация backspace с использованием outtextxy в graphics.h в c - PullRequest
0 голосов
/ 17 апреля 2010

Вчера я пытался создать текстовый редактор в c. но я столкнулся с проблемой с символом возврата. и когда я пытаюсь напечатать это с outtextxy, появляется странный символ. я пробовал следующий код для этого возврата:

str [2] = "\ b";

outtextxy (х, у, ул);

Это нормально работает в текстовом режиме, но не работает в графическом режиме. Если у вас есть какое-либо решение, пожалуйста, помогите мне, я должен представить свою программу в понедельник.

И заранее спасибо

Ответы [ 2 ]

1 голос
/ 17 апреля 2010

Это были хорошие 20 лет с тех пор, как я в последний раз видел это. Это низкоуровневая функция вывода графики в BGI (IIRC). Вы получите глиф для кода 8, прямоугольник с кружком в наборе символов OEM.

Чтобы заставить его действовать, например, put (), вам придется интерпретировать управляющие коды самостоятельно. Если вы видите пробел (символ 8), вам придется обновить внутреннюю переменную «положение курсора» и переместить x назад на ширину шрифта. То же самое для '\ n' (приращение y) и '\ r' (установите x в 0).

0 голосов
/ 18 апреля 2010

Поскольку U находятся в графическом режиме:

  1. [ШАГ 1] Отслеживание текущей позиции с использованием двух точек (скажем, х, у)

  2. [ШАГ 2] При каждом нажатии клавиши Backspace:

    1-й Проверьте, если x == 0, y == 0: подать звуковой сигнал;

    В противном случае проверьте, если x == 0, y> 0: тогда сделайте x = ширину экрана, y = y-1;

    В противном случае проверьте, если x> 0, y> 0: тогда x = x-1;

Теперь, когда у U правильные координаты x, y, просто outtextxy символ NULL / пробел в позиции.

ПРИМЕЧАНИЕ: После outtextxy НЕ увеличивать x, так как курсор все еще должен находиться в позиции предыдущего символа.

УДАЧИ !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...