【VB开源代码栏目提醒】:网学会员在VB开源代码频道为大家收集整理了“VB2005实现新一代控制台应用程序开发 - 职业资格“提供大家参考,希望对大家有所帮助!
计算机用户经常把控制台应用程序作为一种“遗物”来看待但是它们仍然还作为
系统管理员的非常喜欢的一部分而且还是高手用户的“工具箱”之一。
另外当你需要大量重复的脚本操作当然还有可能的更复杂的操作时都会用到这种控制台应用程序。
在visual basic的早期版本中基本没有为创建控制台应用程序提供多大支持。
而且尽管
vb 6及其早期版本能够创建控制台应用程序但是这不是一种简单的或直接的过程。
在
vb 6中创建一个控制台应用程序必须进行win32 api调用即使如此你也不能控制光标位置或文本的颜色而且在很大程度上仅能被限制进行从左到右和从上到下的编码。
如今
vb.net引入了新的控制台应用程序特征。
它不仅在“new project...”对话框中提供一种控制台应用程序工程而且最重要的是它还提供了一个控制台console对象。
因此你不必再“困扰”于 win32 api了。
然而你还是被限于“从左到右和从上到下”的编码。
但是
vb.net仍然缺乏用于改变光标或文本的位置或颜色的方法或属性还有其它许多更高级的特征。
一、在
vb 2005中的新型控制台应用程序特征 基于早期
vb.net版本中所提供的console对象如今的
vb 2005又为控制台应用程序增加了许多优秀的特征。
下面列出的仅是
vb 2005中更为激动人心的功能中的一部分 ◆清除控制台窗口 ◆得到并设定光标位置和大小 ◆得到并设定窗口高度和宽度 ◆得到并设定前景和背景颜色 ◆选择并在控制台窗口内移动部分文本 本文中的其它部分将详细地分析一个控制台应用
程序的创建过程以便展示上面这些特征的使用。
二、实例应用程序—dircopy 我经常从控制台窗口中实现把文件从一个目录复制到另一个目录。
当我复制一个含有大量文件的目录时我经常希望得到一些提示—复制进程完成的怎么样了复制快结束了还是再等待一会为了实现这一
问题我构建了一个控制台应用程序它能够在控制台窗口内显示一个进度条来以图形化显示复制进度。
三、定义功能 为了简化本文中的
演示目的dircopy将使用两个命令行参数一个源目录和一个目的目录。
然后它把所有文件从源目录复制到目的目录。
注意这个简单的程序无法复制源目录下的子目录。
首先我编写一个displayusage子程序。
如果使用太多或太少的命令行参数调用dircopy那么它将调用displayusage然后结束。
下列是displayusage子 程序的
代码 private sub displayusage dim originalforegroundcolor as consolecolor console.foregroundcolor console.clear console.foregroundcolor consolecolor.green console.writelinedircopy 1.0 console.writelinewritten by josh fitzgerald console.writelinenew string- console.windowwidth console.writelinedircopy will copy all of the files from the source folder to the console.writelinedestination folder. while the files are copying a progress bar console.writelinewill display the percent complete. console.writeline console.writelineif a directory name contains spaces enclose it in double quotes. console.writeline console.writeexample : console.foregroundcolor consolecolor.magenta console.writelinedircopy c:myfolder c:mynewfolder console.foregroundcolor consolecolor.green console.writeline console.writeexample : console.foregroundcolor consolecolor.magenta console.writelinedircopy c:my folder c:my new folder console.foregroundcolor originalforegroundcolor end sub 该子程序做的第一事情是创建一个变量originalforegroundcolor然后它存储console.foregroundcolor的值。
在子程序的最后
代码把console.foregroundcolor属性设置回originalforegroundcolor。
当你分析这部分
代码时你会注意到在每个修改前景或背景颜色的子程序中都是这样操作的。
在实际运行dircopy之前我想确保dircopy总是让控制台显示相同的颜色。
displayusage做的下一件事情是使用console.clear方法清除控制台屏幕。
这是在
vb 2005中的新方法之一这样以来程序员可以很容易地拥有一个干净的控制台窗口。
我想让帮助文本显眼一点为此我把foregroundcolor属性设置为绿色。
然后我使用writeline和write方法把几行文本输出到屏幕上。
在描述的最后我包括了一些怎样运行dircopy的示例。
我想使得这些示例突出一些因此我把foregroundcolor设置为品红色