这个应用程序主要是为了娱乐。它包含了一些对初学者来说相当有用的代码片段,但主要想与Code Project社区的成员们分享这个应用程序。在第一份编程工作中,参与了一个名为QNX的Unix衍生系统。它有一个小的命令行程序,用于显示格言,原始格言列表就是从那里开始的。其中许多原始格言来自罗伯特·海因莱因的小说,最近还添加了一些来自Code Project成员签名的格言。只要可能(而且记得),都会注明格言的出处。如果有任何补充,请通过电子邮件发送给,会定期更新这篇文章。
要使用这个应用程序,请将可执行文件和格言文件(Fortunes.txt)放置在选择的目录中。应用程序需要与它在同一目录下的格言文件。一旦应用程序启动,可以更改显示颜色和字体。所有设置将保存在名为Fortune.ini的文件中,也在应用程序的同一目录下。应用程序每次启动时都会显示一条随机格言。当前时间用于种子随机数生成器。点击标有“New”的按钮,可以看到一条新的格言。
格言是从标准文本文件中读取的。每个格言占据文件中的一行。目前,程序的定义限制了它最多可以有2000条格言,每条最多1020字节。目前的格言列表中有472个条目,最长的是206字节。请注意,只有确切的文本量被内部存储。任何标准文本编辑器都可以用来添加或删除文件中的格言。
这个程序是用纯C语言编写的,没有使用其他库。实际上,这是为Windows编写的第一个应用程序,而且是很多年前写的。因此,有些代码可以说是相当不优雅。最近进行了一些清理,但认为没有必要进行全面重写。
应用程序中有一些有趣的代码片段。渐变背景填充是想出来的。它在窗口的每个垂直线上,对每个阴影进行简单的线性插值,从顶部颜色到底部颜色。维护一个画刷数组用于整个窗口,当颜色更改或窗口调整大小时会更新它。它使用浮点值进行插值,以尽可能平滑。还有一个方便的配置文件读写库。它包括处理字体、颜色、矩形和窗口位置的函数。文本工具栏按钮来自一个旧的MSDN示例。
如果只想运行应用程序,可以下载它的zip文件。zip文件中包含了格言和一个发布构建的可执行文件。否则,可以获取源代码并自己构建它。源代码zip中也包含了格言。有一个用于从命令行构建的小批处理文件,叫做_makeme.bat,它将生成一个发布构建。
就是这样。如果遇到任何好的格言,请发送给,玩得开心!
#include <stdio.h>
#include <stdlib.h>
int main() {
printf("Hello, World!\n");
return 0;
}
要构建应用程序,需要一个支持C语言的编译器。以下是构建应用程序的基本步骤:
Q: 应用程序是否支持多语言? A: 目前,应用程序仅支持英语。
Q: 如何添加自己的格言? 可以在Fortunes.txt文件中添加格言。确保每个格言占据一行。