首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用 VFP 创建控制台应用程序的一些思考(一)

使用 VFP 创建控制台应用程序的一些思考(一)

作者头像
firstxinjie
发布2024-12-06 13:57:45
发布2024-12-06 13:57:45
1590
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

VFP 作为一个面向对象的数据库编程语言,看上去似乎和控制台应用程序毫无关系。何必介意世俗的看法?

关于控制台应用程序,我们可以通过搜索引擎,甚至像 ChartGPT 这样的大模型获取足够多的信息和资料,不再累述。而使用 VFP 来创建这样的应用程序,也有先贤做出过努力和探索。

我所知的第一个源头或者 Demo 在

Creating a console window for Visual FoxPro application https://github.com/vfpx/Win32API/blob/master/samples/sample_474.md

上述链接是截至目前仍可以访问的地址。甚至,对于会使用鼠标的人来说,能因此获得更多的资料。我曾经对其中“the main unsolved issue is finding a practicality in console windows(主要未解决的问题是找到控制台窗口的实用性)”的说法表示认同。

我再次被这个主题吸引的时候,已经是N年后的2023年。来自

MagicMenu https://github.com/VFPLegacy/MagicMenu

这是一个让我很兴奋的工具。使用它,可以在 VFP 中创建控制台应用程序、Windows 服务和 WEB 应用。在我试着使用它来创建控制台应用程序时,对这种类型的应用才算是有了真正的认识。

MagicMenu 是简单的,简单到你只需要点击一下菜单项就可以创建一个特定类型的应用。

使用 MagicMenu 创建的控制台应用程序“预置”了一个“主程序”:

代码语言:javascript
复制
Do FoxConsole
* 在控制台中写入
_vfp.cli.Print("打印文本并保持在同一行中")
_vfp.cli.Println()
_vfp.cli.Println("另一个带有换行符的文本...")

* 从控制台读取
lcName = _vfp.cli.Input("您的姓名?:")
If !empty(lcName)
    _vfp.cli.Println("Hi " + lcName + "!")
Else
    _vfp.cli.Println("我不是在问候你,因为你没有名字。")
Endif
_vfp.cli.Println("感谢您使用这个库。按回车键(Enter)退出...")
_vfp.cli.readkey()
_vfp.cli.exit(0)

这个 Demo 给人两个直觉,一个是它完成了和键盘的交互,并可以从交互的结果获取键入的内容;一个是它是使用一个类实例来完成的。

简单到一种可笑的程度!

事实呢?

(未完待续)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档