Working on Fortran version... L:
This commit is contained in:
parent
ba2a70e842
commit
8215c3767e
86
xscii.f90
Normal file
86
xscii.f90
Normal file
@ -0,0 +1,86 @@
|
||||
module vt100
|
||||
character, parameter :: EFFECT_NORMAL = "0"
|
||||
character, parameter :: EFFECT_BOLD = "1"
|
||||
character, parameter :: EFFECT_ITALIC = "3"
|
||||
character, parameter :: EFFECT_UNDERLINE = "4"
|
||||
character, parameter :: EFFECT_BLINK = "5"
|
||||
character, parameter :: EFFECT_REVERSE = "7"
|
||||
character, parameter :: COLOUR_GREY = "0"
|
||||
character, parameter :: COLOUR_RED = "1"
|
||||
character, parameter :: COLOUR_GREEN = "2"
|
||||
character, parameter :: COLOUR_YELLOW = "3"
|
||||
character, parameter :: COLOUR_BLUE = "4"
|
||||
character, parameter :: COLOUR_PINK = "5"
|
||||
character, parameter :: COLOUR_CYAN = "6"
|
||||
character, parameter :: COLOUR_WHITE = "7"
|
||||
end module vt100
|
||||
|
||||
program xscii
|
||||
use vt100
|
||||
|
||||
implicit none
|
||||
|
||||
interface
|
||||
subroutine print_colour (colour, effect)
|
||||
character, intent (in) :: colour
|
||||
character, intent (in) :: effect
|
||||
end subroutine print_colour
|
||||
|
||||
subroutine print_cancel
|
||||
end subroutine print_cancel
|
||||
|
||||
subroutine print_bar
|
||||
end subroutine print_bar
|
||||
end interface
|
||||
|
||||
integer :: i
|
||||
|
||||
call print_colour (COLOUR_BLUE, EFFECT_BOLD)
|
||||
write (*, '(a)', advance='no') "Heyo!"
|
||||
call print_cancel
|
||||
print *
|
||||
|
||||
call print_bar
|
||||
print *
|
||||
|
||||
do i = 1, 10
|
||||
print *, "> ", i
|
||||
end do
|
||||
|
||||
end program xscii
|
||||
|
||||
subroutine print_colour (colour, effect)
|
||||
use vt100
|
||||
|
||||
implicit none
|
||||
|
||||
character, intent (in) :: colour
|
||||
character, intent (in) :: effect
|
||||
character (7) :: escape
|
||||
|
||||
escape = char (27) // "[" // effect // ";3" // colour // "m"
|
||||
|
||||
write (*, '(a)', advance='no') escape
|
||||
end subroutine print_colour
|
||||
|
||||
subroutine print_cancel
|
||||
use vt100
|
||||
|
||||
implicit none
|
||||
|
||||
character (4) :: escape
|
||||
|
||||
escape = char (27) // "[0m"
|
||||
|
||||
write (*, '(a)', advance='no') escape
|
||||
end subroutine print_cancel
|
||||
|
||||
subroutine print_bar
|
||||
use vt100
|
||||
|
||||
implicit none
|
||||
|
||||
call print_colour (COLOUR_GREY, EFFECT_BOLD)
|
||||
write (*, '(a)', advance='no') " | "
|
||||
call print_cancel
|
||||
end subroutine print_bar
|
Loading…
Reference in New Issue
Block a user