配置VS使用winteracter
一.winteracter是什么?为什么要用VS代替wide?
winteracter 是一款强大的 Fortran 图形界面函数库,可方便的用 Fortran 生成GUI界面,对话框,菜单,绘图等操作。支持 windows/Linux/Mac 上的绝大多数编译器。具体可参考本站文章介绍>>>
其自带 wide 编译环境(是 Winteracter IDE 的缩写),但其功能比较简单,尤其是 debug 调试非常困难。因此,有必要用 Visual Studio 来代替。
二.配置使用方法 1. 配置 VS 的路径(仅第一次操作需要设置) 打开VS,选择工具菜单,选项。然后依次找到 IVF 的编译器设置
点击 Includes 后面的按钮,弹出包含列表,在其中咱贴上 Winteracter 安装目录下的 include 路径和 lib.if8 路径,例如,图中的两行(切不可删除原有的路径):
然后点开 Libraries 后的按钮,在其中的列表里粘贴上 lib.if8 的路径,如图(注意,这两处路径需填写您的计算机上安装的路径,切不可照抄图片上的路径):
2.使用 wide 创建资源(含对话框,菜单等) 由于 Winteracter 资源的特殊性,其资源编辑必须使用 wide 完成。 打开 wide,创建一个空白的工程。然后添加一个 Resource Script 资源脚本,在其中编辑部分资源,例如插入一个对话框。
此时,在 wide 工程文件夹下,会生成三个文件,其中 *.rc 和 *.f90 文件将来会用到。*.wpj 工程虽然无用,但方便打开 wide 修改资源,也请保留。
3. 使用 VS 创建工程并使用 winteracter
打开VS,创建工程,选择类型为 windows,empty(空白工程)
创建工程后,在工程的 resource files 文件夹上右键,选择添加,现有项。找到 *.rc 文件添加进来。(在选择文件时,可能需要切换文件类型为所有)
同理,把 resid.f90 添加到 source files
!!!重要警告!!!由于 winteracter 的资源特殊性,*.rc 文件千万不能由 Visual Studio 打开,否则会破坏其结构!!!无法挽回!!!
然后再添加您自己的源代码,在使用到资源时,用 use RESID 获得资源的ID。
例如,添加如下代码,可实现最简单的对话框创建(假定对话框ID为 IDD_DIALOG001)。
Module Global
Use Winteracter !// 使用 Winteracter
Use Resid !// 使用 Resid 资源ID
Implicit None
End Module Global Program www_fcode_cn
Use Global
Implicit None
TYPE(WIN_MESSAGE) :: MESSAGE
LOGICAL :: QUIT = .FALSE.
INTEGER :: ITYPE
CALL WInitialise() !// 初始化
CALL WindowOpen(HideWindow) !// 打开窗口
CALL WDialogLoad(IDD_DIALOG001) !// 加载对话框
CALL WDialogShow(-1,-1,0,Modeless) !// 显示对话框
DO WHILE(.NOT.QUIT) !// 无穷消息循环
CALL WMessage(ITYPE,MESSAGE)
SELECT CASE (ITYPE)
CASE (PushButton)
CALL ProcessButton(MESSAGE%VALUE1,QUIT)
END SELECT
END DO
CALL WindowClose()
STOP Contains Subroutine ProcessButton(IDENT,QUIT)
IMPLICIT NONE
INTEGER, INTENT (IN) :: IDENT
LOGICAL, INTENT (IN OUT) :: QUIT
SELECT CASE (IDENT)
CASE (IDCANCEL)
QUIT = .TRUE. !// 如果按下 IDCANCEL 按钮,退出
End select
End Subroutine ProcessButton End Program www_fcode_cn
编译,链接。一切正常的话,一般就可以得到结果了。
转自:http://fcode.cn/guide-80-1.html
配置VS使用winteracter的更多相关文章
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
随机推荐
- iOS求职之OC面试题
1.Objective-C的类可以多重继承么?可以采用多个协议么? 答:不可以多重继承,可以采用多个协议. 2.#import和#include的区别是什么?#import<> 跟 #im ...
- 【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)
1)目的:实验室小网空间因镜像版本太多,容量告警,希望清出一部分空间 具体需求:删除E盘下,所有含rar字符串的文件: 删除E盘下,所有含hi6620字符串文件夹: 步骤: (风险请知:如果不chec ...
- OpenSSL - 文件和字符MD5加密实现
OpenSSL安装: 1.github下载最新的OpenSSL:https://github.com/openssl/openssl 2.在linux解压压缩包 3.安装OpenSSL ./confi ...
- C++ Primer : 第十四章 : 重载运算与类型转换之重载运算符
重载前须知 重载运算符是特殊的函数,它们的名字由operator和其后要重载的运算符号共同组成. 因为重载运算符时函数, 因此它包含返回值.参数列表和函数体. 对于重载运算符是成员函数时, 它的第一个 ...
- HDU-2778 DNA Sequence(AC自动机)
题目大意:统计模式串出现的次数. 题目分析:模板题. 代码如下: # include<iostream> # include<cstdio> # include<queu ...
- Qt 手动添加ui文件到工程(转)
制作ui文件 先应该用Qt Designer绘制一个自己的界面,并存为myform.ui(这里的myform可以用自己喜欢的名字代替).在制作自己的界面文件时要注意以下几个要点: 1.要记住ui文件的 ...
- Spring源码学习之:@async 方法上添加该注解实现异步调用的原理
在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率.今天我们来探讨下 spring 是如何完成这个功能的. spring 在扫描be ...
- 公钥与私钥,HTTPS详解
1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把.3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到 ...
- Docker 安装及命令
CentOS 安装 通过脚本安装:curl -sSL https://get.docker.com/ | sh通过yum安装:yum install docker-engine============ ...
- .NET Core On Mac 第一步,配置环境
话说.NET Core出来这么久了,也没搞搞,实在是羞愧难当啊.既然选择了开始那就不能半途而废啊..NET 跨平台了,那我就用Mac试试吧. 安装步骤一:安装Homebrew 其中会遇到权限不够的问题 ...