从鼠标输入FORTRAN

时间:2013-06-13 02:14:19

标签: input fortran mouse

接受鼠标输入的FORTRAN输入语句(例如,READ语句或OPEN语句)是什么?例如,在Windows资源管理器中,可以右键单击文件,然后从显示的菜单中选择FORTRAN可执行文件。如何使这样的FORTRAN程序捕获鼠标发送的任何内容(例如,捕获文件的名称,或鼠标发送的任何内容)?有关FORTRAN输入的信息似乎仅限于文件或键盘的输入。我找不到任何关于鼠标输入的信息。

1 个答案:

答案 0 :(得分:0)

我自己取得了进步,对于那些感兴趣的人,这里是: 首先,“fortran标准”不直接支持来自鼠标的输入。但是,Windows资源管理器可以将文件名管道化为一个无法执行的fortran可执行文件。

在Windows下,右键单击会生成完整的\ path \ filename作为命令行参数。 fortran可以使用“get_command_argument”捕获该信息,如下所示:

      PROGRAM get_filename
        CHARACTER(len=100) :: arg
        CHARACTER(len=2000) :: filename
        filename = ''
        ! NB: spaces in a file name define separate arguments, so re-assemble the file name as it comes in
        i = 1
        DO
         CALL get_command_argument(i, arg)
          IF (LEN_TRIM(arg) == 0) EXIT
          filename = TRIM(filename)//' '//TRIM(arg) !  putting the spaces back in
          i = i+1
        END DO
        WRITE (*,*) 'file= ',TRIM(filename)
      read(*,*)
      END PROGRAM

可执行文件的链接可以放在Windows右键菜单中,如下所示:

http://www.howtogeek.com/107965/how-to-add-any-application-shortcut-to-windows-explorers-context-menu/

您需要在可执行文件的名称中添加“%1”以使其接受命令行参数, 例如,我调用了我的可执行文件“PW_copy.exe”,因此最终的注册表项为:\ path \ PW_copy.exe%1

有效!

将鼠标拖动到多个文件会生成单独的线程,每个线程都有不同的文件名。