Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

module ColorConsole
use kernel32
use ifwinty
implicit none
 
integer, parameter :: CON_FIRST_COLOR = 0
integer, parameter :: CON_BLACK = 0
integer, parameter :: CON_BLUE = 1
integer, parameter :: CON_GREEN = 2
integer, parameter :: CON_CYAN = 3
integer, parameter :: CON_RED = 4
integer, parameter :: CON_MAGENTA = 5
integer, parameter :: CON_BROWN = 6
integer, parameter :: CON_LIGHTGRAY = 7
integer, parameter :: CON_DARKGRAY = 8
integer, parameter :: CON_LIGHTBLUE = 9
integer, parameter :: CON_LIGHTGREEN = 10
integer, parameter :: CON_LIGHTCYAN = 11
integer, parameter :: CON_LIGHTRED = 12
integer, parameter :: CON_LIGHTMAGENTA = 13
integer, parameter :: CON_YELLOW = 14
integer, parameter :: CON_WHITE = 15
integer, parameter :: CON_LAST_COLOR = 15
 
integer, parameter :: CON_DEFAULT = #07
 
integer(WORD) currentColor/CON_DEFAULT/ ! current color attribute
integer(WORD) saveColor
integer(HANDLE) hConsoleOutput
 
contains
 
subroutine resetColor()
use kernel32
use ifwinty
implicit none
 
integer(BOOL) res
 
res = SetConsoleTextAttribute(hConsoleOutput, CON_DEFAULT)
currentColor = CON_DEFAULT
end subroutine resetColor
 
subroutine setColorEx(color)
use kernel32
use ifwinty
implicit none
 
integer color
integer(BOOL) res
 
currentColor = color
res = SetConsoleTextAttribute(hConsoleOutput, currentColor)
end subroutine setColorEx
 
subroutine setColor(Color)
use kernel32
use ifwinty
implicit none
 
integer Color
integer(BOOL) res
 
currentColor = ior(iand(color, #0f), iand(currentColor, #f0))
res = SetConsoleTextAttribute(hConsoleOutput, currentColor)
end subroutine setColor
 
subroutine setBackground(Color)
use kernel32
use ifwinty
implicit none
 
integer Color
integer(BOOL) res
 
currentColor = ior(ishft(color, 4), iand(currentColor, #0f))
res = SetConsoleTextAttribute(hConsoleOutput, currentColor)
end subroutine setBackground
 
subroutine initConsole
use kernel32
use ifwinty
implicit none
 
type(T_CONSOLE_SCREEN_BUFFER_INFO) lpCSBI
integer(BOOL) res
 
res = GetConsoleScreenBufferInfo(hConsoleOutput, lpCSBI)
 
saveColor = lpCSBI%wAttributes
currentColor = saveColor
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE)
end subroutine initConsole
 
subroutine restoreConsole()
use kernel32
use ifwinty
implicit none
 
integer(BOOL) res
currentColor = saveColor
res = SetConsoleTextAttribute(hConsoleOutput, saveColor)
end subroutine restoreConsole
 
end module ColorConsole

Всего записей: 24121 | Зарегистр. 06-12-2002 | Отправлено: 18:03 01-08-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru