主题:在fortran里面怎么使用计时器,让一个功能在间隔1秒执行一次。
feiyuno1987
[专家分:10] 发布于 2011-06-23 11:11:00
如题,谢谢回答~
回复列表 (共10个回复)
沙发
yeg001 [专家分:14390] 发布于 2011-06-23 12:50:00
在windows下可以用windows api的系统函数. 好像是sleep.
板凳
feiyuno1987 [专家分:10] 发布于 2011-06-23 14:19:00
哦,fortran的内部函数,有没有呀?
3 楼
yeg001 [专家分:14390] 发布于 2011-06-23 14:39:00
没有这样的内部函数.
4 楼
cgl_lgs [专家分:21040] 发布于 2011-06-23 15:07:00
这不是FORTRAN的长项,楼主可以考虑换工具:)
5 楼
dongyuanxun [专家分:7180] 发布于 2011-06-23 16:06:00
sleep虽然不是标准,但也被大多数主流编译器所支持
6 楼
feiyuno1987 [专家分:10] 发布于 2011-06-23 16:54:00
恩,看来调用别的编程语言是可以解决这个问题的。谢谢各位!
7 楼
fortran2008 [专家分:750] 发布于 2011-06-23 18:35:00
给你一个生成sleep.exe的批处理的代码
将以下内容保存在文本档中,并将文件后缀.txt改为.bat 这样就成了一个批处理文件
然后双击这个文件,会自动生成sleep.exe文件。
:: Sleep.bat - Sleep/Delay/Wait n seconds
:: Herbert Kleebauer(Germany) - 2005/05/29
:: Modified by Will Sort - 2005/06/02
@echo off
echo q | debug>nul
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com
echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com
echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com
echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com
echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com
echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com
echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com
echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com
echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com
echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com
echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com
sleep.com>sleep.exe
del sleep.com
echo wait 2 seconds:
sleep.exe 2000
pause
有这sleep.exe文件后,在CVF中可以调用这个程序,让暂停1秒,fortran代码如下:
use DFPORT
implicit none
integer*4 :: i
write(*,*)"wait 1 second"
i=system("sleep.exe 1000") !sleep命令以毫秒为单位,system()是CVF调用操作系统的命令函数。
write(*,*)"It's ok."
end
注意sleep.exe 文件一定与上面的fortran原代码文件同一文件夹下,或者是C:\WINDOWS\system32目录下。否则运行程序时找不到sleep.exe文件命令。
另外上面的fortran代码适合在CVF下,其它的编译系统不一定支持。
8 楼
feiyuno1987 [专家分:10] 发布于 2011-06-24 09:33:00
这样也可以啊![em1]
9 楼
yeg001 [专家分:14390] 发布于 2011-06-24 12:32:00
7楼的fortran2008兄把bat解决方案都贴出来了, 楼主才给10分啊...
pfan的给分制度不是在发分会员的分上割出来,所以根本没所谓悬赏. 有人提供了智慧就应该鼓励一下,免得连回答的激情都没了.
10 楼
feiyuno1987 [专家分:10] 发布于 2011-06-24 15:44:00
呵呵,才来。[em1]
我来回复