Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
art1535
7 / 7 / 3
Регистрация: 19.02.2013
Сообщений: 76
#1

Графический режим - вывести строку определенного цвета - C (СИ)

15.04.2013, 20:18. Просмотров 1462. Ответов 9
Метки нет (Все метки)

Доброго времени дня. Есть задача: написать некоторую функцию int far Paint( ... ), которая в графическом режиме выводит по соответствующим координатам строку определенного цвета.

Итак, задача несложая, но, я пишу в VS, соответсвенно graphics.h отсутствует.
Далее на ум только приходит использование winapi.

И самое самое главное. Код должен успешно компилироваться в TurboC, вот так.

Кто что подскажет?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 20:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Графический режим - вывести строку определенного цвета (C (СИ)):

Вывести символы после определенного символа в отдельную строку
Здравствуйте! У меня есть строка (массив char) с путем к файлу, например...

Не работает графический режим
Я относительно недавно начал изучать Си по самоучителю, дошел до темы "Работа в...

Как войти в графический режим?
#include <graphics.h> #include <stdio.h> #include <conio.h> #include...

Как настроить графический режим
Не могу настроить графический режим в Си. У меня win 7 32bit , скачал dosbox и...

Графический режим - ошибка 'initwindow' undeclared
Познаю азы языка С, а именно графику. Вот код из книжки по которой занимаюсь....

Подскажите среду, в которой нормально работает графический режим
Всем добрый день) Подскажите среду, в которой нормально работает графический...

9
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
15.04.2013, 21:16 #2
Цитата Сообщение от art1535 Посмотреть сообщение
пишу в VS ... компилироваться в TurboC
Вы бы определились - "шашечки или ехать"?

"graphics.h" - это режим DOS. Есть (довольно кривая) эмуляция - WinBGI/WinBGIm, но раз уж пишете с нуля, то проще все сразу делать под Win (API/ GDI/GDI+ etc), а не мучиться с эмуляцией DOS.

Наконец, строку определенного цвета несложно вывести просто в консоли, в текстовом режиме. Графика для этого не требуется. Подсветить идентификаторы с файла
1
art1535
7 / 7 / 3
Регистрация: 19.02.2013
Сообщений: 76
15.04.2013, 23:07  [ТС] #3
Цитата Сообщение от gazlan Посмотреть сообщение
"graphics.h" - это режим DOS.
Это ясно

Цитата Сообщение от gazlan Посмотреть сообщение
Наконец, строку определенного цвета несложно вывести просто в консоли, в текстовом режиме. Графика для этого не требуется.
Это, конечно, тоже все прекрасно, и я с вами абсолютно согласен Но, к сожалению, это не моя личная прихоть, а четко поставленная задача другим человеком.

TurboC, на сколько я понимаю, библиотеку winapi не воспринимает. Или я не прав? У меня код не компилируется

Добавлено через 9 минут
При работе с graphics.h проблемы начинаются на самом первом шаге, не могу понять, что нужно указать третьим аргументом в этой функции

C
1
initgraph(*int far grdriver, *int far grmode, char *path);
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
15.04.2013, 23:39 #4
Turbo C существует в 3 главных версиях - от DOS 2.0 до Win 3.1. И есть еще три версии Borland C - для Win 3.1 и Win'95. Borland C 3.1 также поддерживает DOS & graphics.h.

О чем именно идет речь? Вы хотя бы знаете, под какую платформу собираетесь писать?

Изложите, наконец, эту "четко поставленную задачу", чтобы и мы знали, что от вас требуется.

Если у вас DOS - при чем тогда WinAPI? Если WinAPI & graphics.h - go to Google for WinBGI/WinBGIm.

При работе с graphics.h проблемы начинаются
В google вас забанили? Первая же ссылка: initgraph
0
art1535
7 / 7 / 3
Регистрация: 19.02.2013
Сообщений: 76
16.04.2013, 00:39  [ТС] #5
Под DOS.

Все было прочитано про эту функцию. Решил полностью скопировать тот код, что в примере,который вы указали, в результате выскочила ошибка.

Device driver file not found

Может это из-за того, что использую виртуальную машину?

Добавлено через 13 минут
Пробовал, как через Dosbox так и через VirtualBox - везде одинаковые ошибки
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.04.2013, 01:13 #6
Цитата Сообщение от art1535 Посмотреть сообщение
Device driver file not found
А он у вас вообще есть? И лежит по указанному пути? И соответствует вашему видеорежиму?
Еще, кстати, и шрифты потребуются - они у Borland тоже свои.

Про виртуальную машину ничего не знаю - не было нужды в анимации трупа. Найдите инсталляцию DOS 6.22/7.0 и проверьте. В DOS-based версиях - Win'95/98/Me, вероятно, тоже должно работать.
1
art1535
7 / 7 / 3
Регистрация: 19.02.2013
Сообщений: 76
16.04.2013, 21:03  [ТС] #7
Да, скачал EGAVGA.BGI, положил его в ту же папку, что exe.

C
1
2
   int gdriver = DETECT, gmode, errorcode;
   initgraph(&gdriver, &gmode, "");
Теперь ошибка:

Invalid device driver file EGAVGA.BGI
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.04.2013, 21:36 #8
Цитата Сообщение от art1535 Посмотреть сообщение
Invalid device driver file EGAVGA.BGI
Ну, а тогда вопрос - где вы его взяли? Драйвер должен быть именно той версии и того же производителя, что и компилятор. Сам тестовый пример из дистрибутива Borland у вас работает? Его драйвер и используйте.

Кроме того, не все видеокарты, заявляющие о совместимости с VGA/SVGA таковыми являются (особенно относится ко всяким встраиваемым дисплеям).

Ну и, на всякий случай, (старая) подборка BGI утилит и драйверов. Работало на реальном DOS. В эмуляторе вполне может и не работать.

BGI
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
16.04.2013, 21:53 #9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

И вот еще попалось в хламе: Query_SVGA_Support()
0
Вложения
Тип файла: rar SVGA Status.rar (23.9 Кб, 22 просмотров)
art1535
7 / 7 / 3
Регистрация: 19.02.2013
Сообщений: 76
16.04.2013, 22:55  [ТС] #10
Все Заработало, в моем TС не хватало папки BGI
0
16.04.2013, 22:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 22:55
Привет! Вот еще темы с решениями:

Ввести строку и слово, удалить все вхождения слова и вывести строку
Написал код. Вот условие: "Ввести строку и слово, удалить все вхождения слова и...

Ввести строку и слово, удалить все вхождения слова и вывести строку
Нужно написать программу только со стандартной библиотекой <stdio.h> Помогите,...

Ввести строку и слово, удалить все вхождения слова и вывести строку
Доброго времени суток всем ! написал лр2 (Ввести строку и слово, удалить все...

Вывести в консоль текст заданного цвета
Подскажите пожалуйста как можно реализовать цвет определенного участка текста в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru