Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 423

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, возможно ли в консольном приложении Delphi изменять цвет шрифта/фона, и если да, то какими командами?

AlphA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: AlphA (статус: Посетитель)
Вопрос отправлен: 16 февраля 2009, 23:06
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, AlphA!
Да, можно. Для начала почитайте это. А дальше, если будут вопросы - пишите, разберём.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 17 февраля 2009, 00:56

Ответ #2. Отвечает эксперт: min@y™

Если вспомнить турбопаскаль, то там в нём был чудесный модуль CRT, в котором были функции управления цветом/фоном выводимого текста, а также другие полезные функции.
В Windows для управления консольным вводом/выводом существуют соответствующие API-функции:


  1. AllocConsole
  2. CreateConsoleScreenBuffer
  3. FillConsoleOutputAttribute
  4. FillConsoleOutputCharacter
  5. FlushConsoleInputBuffer
  6. FreeConsole
  7. GenerateConsoleCtrlEvent
  8. GetConsoleCP
  9. GetConsoleCursorInfo
  10. GetConsoleMode
  11. GetConsoleOutputCP
  12. GetConsoleScreenBufferInfo
  13. GetConsoleTitle
  14. GetLargestConsoleWindowSize
  15. GetNumberOfConsoleInputEvents
  16. GetNumberOfConsoleMouseButtons
  17. GetStdHandle
  18. HandlerRoutine
  19. PeekConsoleInput
  20. ReadConsole
  21. ReadConsoleInput
  22. ReadConsoleOutput
  23. ReadConsoleOutputAttribute
  24. ReadConsoleOutputCharacter
  25. ScrollConsoleScreenBuffer
  26. SetConsoleActiveScreenBuffer
  27. SetConsoleCP
  28. SetConsoleCtrlHandler
  29. SetConsoleCursorInfo
  30. SetConsoleCursorPosition
  31. SetConsoleMode
  32. SetConsoleOutputCP
  33. SetConsoleScreenBufferSize
  34. SetConsoleTextAttribute
  35. SetConsoleTitle
  36. SetConsoleWindowInfo
  37. SetStdHandle
  38. WriteConsole
  39. WriteConsoleInput
  40. WriteConsoleOutput
  41. WriteConsoleOutputAttribute
  42. WriteConsoleOutputCharacter


Так вот, некто Attila Szomor написал модуль CRT32.pas для Delphi, в котором изящно обернул использование вышеприведённых функций в привычные с паскаля функции модуля CRT, такие как TextColor(), TextBackground(), ClrScr(), Window() и пр. Прицепляю этот модуль к ответу.

Не рекомендую пользоваться функцией ReadKey. Она там оформлена в виде бесконечного цикла. Вмеcто этого следует пользоваться способом, описанным в статье Сергея Гаврилова "Программирование консольных приложений". Эту статью я также прицепляю к ответу.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 18 февраля 2009, 10:30


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:51
Выполнено за 0.02 сек.