2013-06-13 49 views
-2

什麼是FORTRAN輸入語句(例如READ語句或OPEN語句)接受來自鼠標的輸入?例如,在Windows資源管理器中,可以右鍵單擊某個文件,然後從出現的菜單中選擇一個FORTRAN可執行文件。無論鼠標發送什麼(例如,捕獲文件的名稱,或者鼠標傳輸的任何內容),我如何使這種FORTRAN程序捕獲?有關FORTRAN輸入的信息似乎限於從文件或鍵盤輸入。我找不到有關鼠標輸入的任何信息。來自鼠標的FORTRAN輸入

+2

如果你的問題開始了_「任何人都可以給我代碼......」,它可能不屬於SO。 –

+1

正如@MattBall所說 - SO不是讓別人來編寫代碼的地方。自己嘗試一下,當你被困住時,發表一篇關於你遇到的問題的詳細描述。只是要求股票代碼不受歡迎。 –

+0

這實際上取決於你使用的編譯器。 Windows工具鏈如IVF和Silverfrost有一個GUI界面:只需閱讀文檔。實際上,使用IVF,您可以編寫Windows SDK類型的程序。 Silverfrost是相似的,但有點神祕。 – cup

回答

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

它的工作原理!

在多個文件中拖動鼠標會生成單獨的線程,每個線程都具有不同的文件名。