我用vb调用fortran
刚开始一直说找不到文件 我的字符串传递过去就是文件名
我输入10080120.012
用str()时候好像是对的 但是文件名变成\ 10080120.01了
用cstr或者format时候就直接说“DLL调用约定错误” 不知道什么问题 求高手帮助.
Private Declare Function Srhba Lib "F:\zy2\srhba\Debug\srhba.dll" (ByVal day As String) As SinglePrivate Sub Command1_Click()Dim Jz As Single
Dim day As String
day = cstr(Text1.Text)
Jz = Srhba(day)Text3.Text = Str(Jz)End Sub
刚开始一直说找不到文件 我的字符串传递过去就是文件名
我输入10080120.012
用str()时候好像是对的 但是文件名变成\ 10080120.01了
用cstr或者format时候就直接说“DLL调用约定错误” 不知道什么问题 求高手帮助.
Private Declare Function Srhba Lib "F:\zy2\srhba\Debug\srhba.dll" (ByVal day As String) As SinglePrivate Sub Command1_Click()Dim Jz As Single
Dim day As String
day = cstr(Text1.Text)
Jz = Srhba(day)Text3.Text = Str(Jz)End Sub
·VB用Shell语句调用Fortran写的exe文件
·Fortran程序从文件in.txt中读取数据,处理后写入out.txt文件中
·VB读文件out.txt的内容处理
这是fortran的开头和结尾
real function srhba(day)!DEC$ ATTRIBUTES DLLEXPORT :: SRHBA
!DEC$ ATTRIBUTES ALIAS : "Srhba" :: SRHBA
integer xdim,ydim,zdim,ii
real pi
parameter(xdim=151,ydim=99,zdim=5,pi=3.1415)
real u(xdim,ydim,zdim),v(xdim,ydim,zdim),SRH(2,2)
real sum,ang,cx,cy,cxy,x1ba,x2ba,y1ba,y2ba
character*12 day
!data day/'10080120.012'/
character*3 ip(zdim)
data ip/'000','850','700','500','300'/
sum=0.0
x1ba=0.0
x2ba=0.0
y1ba=0.0
y2ba=0.0
SRHba=0.0
。
。
。
x1ba=SRH(1,1)+0.32*(SRH(2,1)-SRH(1,1))
x2ba=SRH(1,2)+0.32*(SRH(2,2)-SRH(1,2))
y1ba=SRH(1,1)+0.18*(SRH(1,2)-SRH(1,1))
y2ba=SRH(2,1)+0.18*(SRH(2,2)-SRH(2,1))
SRHba=(x1ba+x2ba+y1ba+y2ba)/4.0
close(1)
close(2)
return
end function