用Nim语言开发windows GUI图形界面程序

简介: 前言 本文得到了“樂師”的大力支持, 我们一起调试程序到深夜,要是没有他的帮忙, 我不知道要多久才能迈过这道坎, 另外“归心”还有其他人也提供了帮助, 他们都来自于QQ群:“Nim开发集中营”469329878; 感兴趣的朋友,可以加这个群一起讨论   配置GUI开发环境 我在...

前言

本文得到了“樂師”的大力支持,

我们一起调试程序到深夜,要是没有他的帮忙,

我不知道要多久才能迈过这道坎,

另外“归心”还有其他人也提供了帮助,

他们都来自于QQ群:“Nim开发集中营”469329878;

感兴趣的朋友,可以加这个群一起讨论

 

配置GUI开发环境

我在这篇博客中,写到了Nim开发环境的搭建

那篇博客中说MingW是必选的,

这对于开发一个普通的Nim程序来说,没有问题,但要开发GUI程序,还不够

官方安装包中所包含的的MingW安装包有点问题

如果你用编译命令:--app:gui,编译你的程序,将会出错

如果你不用这个编译命令,那么在你执行你的程序时,会先打开一个命令行窗口,再打开你的GUI程序。

具体为什么会出错,我还不是很清楚

(有可能那个MingW的安装包是64位的,也有可能那个安装包是阉割版的)

 

所以我们要自己安装一个MingW,

Nim官方网站推荐到MingW官网去下载64位的安装包,

MingW官网,要求你先装一个安装工具,再通过安装工具下载你需要的MingW程序

(说实在的,那个安装工具会搞的你很乱)

我是用“乐师”推荐给我的TDM安装工具安装MingW的

 

要注意的是,一定要安装32位的MinGW

我现在也不是很清楚为什么64位的MingGW为什么不行

安装好之后需要配置一下环境变量,把如下路径配置到环境变量中:

C:\TDM-GCC-32\bin

(当然你如果装到别的路径下去了,那就另当别论)

 

然后你应该把Nim的bin路径也配置到环境变量中:

C:\Nim\bin

这样你就可以使用命令行来编译你的程序了

(你用aporia官方提供的IDE来编译你的程序,默认是没有设置--app:gui开关的

 

开发GUI程序

好下面我们写个程序

# test a Windows GUI application

import
  windows

#proc MessageBox(hWnd: int, lpText, lpCaption: CString, uType: uint): int
#  {stdcall, import: "MessageBox", header: "<windows.h>"}

discard MessageBox(0, "中文试试", "Nimrod GUI Application", 0)

在这个程序中我们使用了windows模块

你可以在这里看到windows模块提供的API:http://nim-lang.org/docs/windows.html

你还可以使用IUP模块GTK模块开发GUI程序

 

 

编译并执行程序

然后通过下面的命令行,来编译这个程序:

nim c --app:gui -d:release  wingui.nim

注:

nim是编译器

c是compile的缩写

-app:gui是编译成gui程序的开关

-d:release是release编译开关

wingui.nim是程序源文件

这行命令必须在程序源文件所在目录下执行

命令执行完成后,在同目录下会生成可执行文件

运行这个程序,你会发现中文乱码:

这是你只要把源码文件改成ANSI或者gb2312编码,重新保存

然后再编译一次,就好了

 

目录
相关文章
|
4月前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
4月前
|
小程序 Windows
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
MASM32编写的程序在Windows 7,10下运行正常,但在Win XP下运行时只闻其声不见其形的故障
|
3月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
129 0
|
3月前
|
Ubuntu Linux Python
如何利用wsl-Ubuntu里conda用来给Windows的PyCharm开发
如何在WSL(Windows Subsystem for Linux)的Ubuntu环境中使用conda虚拟环境来为Windows上的PyCharm开发设置Python解释器。
315 0
|
3月前
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
97 0
|
4月前
|
安全 网络安全 API
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
基于WMI更新Windows系统信息采集程序sysInfo的一些收获
|
4月前
|
存储 安全 程序员
Windows任务管理器开发原理与实现
Windows任务管理器开发原理与实现
|
5月前
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
273 0
|
24天前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
134 9

热门文章

最新文章