[COLOR=#a020f0]program[/color] pause_test
[COLOR=#2e8b57][b]implicit[/b][/color] [COLOR=#2e8b57][b]none[/b][/color]
[COLOR=#2e8b57][b]integer[/b][/color] :: j
[COLOR=#804040][b]do[/b][/color] j[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]1[/color], [COLOR=#ff00ff]10[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color]) [COLOR=#ff00ff]'Doing j ='[/color], j, [COLOR=#ff00ff]'...'[/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#0000ff]! pause[/color]
[COLOR=#008080]call[/color] pause_fortran([COLOR=#ff00ff]"Press <ENTER KEY> to continue ..."[/color])
[COLOR=#008080]call[/color] pause_windows
[COLOR=#008080]call[/color] pause_unix
[COLOR=#804040][b]do[/b][/color] j[COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]11[/color], [COLOR=#ff00ff]20[/color]
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color]) [COLOR=#ff00ff]'Doing j ='[/color], j, [COLOR=#ff00ff]'...'[/color]
[COLOR=#804040][b]end do[/b][/color]
[COLOR=#a020f0]end program[/color] pause_test
[COLOR=#a020f0]subroutine[/color] pause_windows
[COLOR=#2e8b57][b]integer[/b][/color] :: cmd_rc [COLOR=#0000ff]! command return code[/color]
[COLOR=#2e8b57][b]character[/b][/color]([COLOR=#804040][b]*[/b][/color]), [COLOR=#2e8b57][b]parameter[/b][/color] :: cmd_string [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]"pause"[/color]
[COLOR=#008080]call[/color] system (cmd_string, cmd_rc)
[COLOR=#a020f0]end subroutine[/color] pause_windows
[COLOR=#a020f0]subroutine[/color] pause_unix
[COLOR=#2e8b57][b]integer[/b][/color] :: cmd_rc [COLOR=#0000ff]! command return code[/color]
[COLOR=#2e8b57][b]character[/b][/color]([COLOR=#ff00ff]80[/color]) :: cmd_string
[COLOR=#0000ff]! this should work in Unix[/color]
[COLOR=#0000ff]!cmd_string = 'read -p "Press ENTER to continue ..."'[/color]
[COLOR=#0000ff]! this works in MingW / MSYS[/color]
cmd_string [COLOR=#804040][b]=[/b][/color] [COLOR=#ff00ff]'sh -c "read -p \"Press ENTER to continue ...\""'[/color]
[COLOR=#008080]call[/color] system (cmd_string, cmd_rc)
[COLOR=#a020f0]end subroutine[/color] pause_unix
[COLOR=#a020f0]subroutine[/color] pause_fortran(prompt)
[COLOR=#2e8b57][b]character[/b][/color]([COLOR=#804040][b]*[/b][/color]), [COLOR=#2e8b57][b]intent[/b][/color]([COLOR=#2e8b57][b]in[/b][/color]) :: prompt
[COLOR=#804040][b]write[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#ff00ff]'(A)'[/color],[COLOR=#804040][b]advance[/b][/color][COLOR=#804040][b]=[/b][/color][COLOR=#ff00ff]'no'[/color]) prompt
[COLOR=#804040][b]read[/b][/color]([COLOR=#804040][b]*[/b][/color],[COLOR=#804040][b]*[/b][/color])
[COLOR=#a020f0]end subroutine[/color] pause_fortran