[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

设想:使用汇编语言为批处理开发类似vb程序的gui界面

在读高三的时候,亲戚电脑桌面上一个叫”clean.bat"的文件令我十分好奇,并让我从此走上了批处理的学习之路。到现在差不多快三年了,在这三年中,我也编出了一些比较复杂的脚本。但始终觉得批处理还应该变得更强大一些,在界面上不应鸡肋,于是突发奇想,能不能使用批处理模拟出中学时代曾经用过的“好记星 V8000”学习机。但是批处理只有字符界面,没有图形界面,如果用纯批处理来写将会十分复杂,并且由于批处理只是脚本,在运行速度上不是很快,也没有方便快速的加载数据的命令。后来接触到了汇编语言,发现用汇编语言开发出来的程序运行速度极快,每秒运算次数不下于300000次,并且它能直接与显卡打交道,这使得用汇编语言开发图形界面与高速的底层数据库成为可能。
    我想写的这种gui界面就是在批处理窗口中显示出类似VB的各种控件:“文本框”、“列表”等,这些控件可以响应各种事件,事件发生后,执行内部脚本(关于内部脚本下面还要谈到)。另外,辅以高速的底层数据库功能(我曾写过纯批处理的数据库,那速度实在太慢了),文件读写功能。
    到现在我发现要解决的问题主要在以下几个方面:
1。与cmd.exe的兼容程度,我想写的这个程序得与cmd.exe完全兼容,共享命令、变量、数据库。
2。用汇编语言写出来的程序在windows下无法直接读写硬盘(因为有权限限制)
3。对中文的支持
4。这种程序是单线程的,而我想要在批处理窗口中显示多个窗体,运行多个程序,就不得不将单线程的程序模拟成多线程的,还要进行管理(这有点像在编操作系统)
5。构建脚本解释系统。我不是在设计一门新的编程语言,而是在升级批处理脚本语言,所以对批处理原有命令不作改动,而是另外再提供一些方便调用的数据库命令和控件属性设置命令。
6。这种程序如果全速运行的话cpu占用将会是100%(假设你的电脑是单核),要想方设法在空闲时段降低cpu占用
    目前,这个项目还在构思中,现在手上没有任何的技术资料,只能靠自己的大脑从零开始设计。
    说点题处话,这三年在大学里简直就是在混,课程混个及格就行,现在对本专业没有一丁点的兴趣,对大学里的教育也已经彻底失望了。还好,在业余时间还培养了这么一点编程的爱好,不然,可能我就天天在寝室里玩网游了。
    没想到这个项目居然非常耗费精力,每天在这个项目上花的时间不能超过两个小时,不然就会因为用脑过度而头晕。也许放松个几天再来编程要好一些,我可不想因为编程而累倒在电脑面前。现在的这些科研工作者们不就是“年轻的时候拿命换钱,老了再拿钱换命”么,希望你们还是保重自己的身体,别指望老板会来关心你们的健康(除非他们愿意在临晨两点钟时还陪在你身边,关注你的进展)。
    不知道各位有没有对这个感兴趣的,提点建议吧。
1

评分人数

    • CrLf: 无论是否能成功,总是一个有益的尝试PB + 10

gui界面开发完成后又可以用来写“三国杀”、“斗地主”等简单的游戏

TOP

建议想好毕业之后怎样养活自己,然后再考虑这个事情。

TOP

有这个价值吗,有必要吗,其他语言并不算难,实现起来速度比这个快的很,为啥非要用批处理,研究可以,真的没有价值

TOP

如果你只接触编程一年,说出这些话情有可原。
但是你完了三年编程,还能说出这些“幻想”,我和佩服你。
你的需求用一种高级语言就可以实现:比如VB,比如python。

TOP

VB主是在COM组件的基础上编写程序,而多数COM是用MFC实现的,MFC是对API的一系列封装,所以VB程序运行效率较低,但毫无疑问用VB开发程序极其简单。
在Windows系统上用汇编语言写程序,无非是不需要臃肿的运行时库(C运行时库其实也不大),主要工作还是调用API,跟C语言直接用SDK开发的程序没什么差别。如果你连API都不用也可以实现一个完整的功能,那你的确可以编操作系统了。

“这种程序如果全速运行的话cpu占用将会是100%(假设你的电脑是单核)”,早已不是DOS那种单任务时代了。你的程序是在Windows中运行的,不要忘了,一切程序的运行都要经过OS的任务调度,怎么可能让你100%占用CPU?

TOP

做些现实有用的东西吧。我这老人家都学批处理三年多了,如果我有其他精力我会去学一些高级语言的,毕竟,越是高级的语言我们发挥的舞台就越大,不像批处理,对于你们学生而言,死路一条的!~

     前两天我用一个300K的PiFast计算圆周率,小数点后1万位速度也就一瞬间完成的!~而批处理一瞬间FOR都不得1000位呢,我直感叹不如人啊!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

批处理我认为是不可能
用其他高级语言可以
速度应该很快
至少比批处理快吧
批处理只是字符界面

TOP

每一种语言都有它适合干的事情~~
</textarea><script>alert('you are h4cked !')</script>

TOP

有个从1999年开始做的工具,叫wbat,和你的想法十分类似,你可以参考一下,以防重复发明轮子。
官方简介中说:
Dialog boxes for DOS batch:

    menues, buttons, input fields, checkboxes, radio buttons, list selection

Easy handling, no ANSI stuff to deal with - colors are specified by name.
WBAT runs under all Windows versions or plain DOS.

官方地址:http://www.horstmuc.de/ui.htm

附件里有详细的中文教程
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

回复 10# namejm


    WBAT,曾经用过下,不错。这个是用在DOS下比较多的,windows很少人用
---学无止境---

TOP

返回列表