频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

VB 2005中开发新一代控制台应用程序

作者: 佚名 出处:中国IT实验室  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2008-01-16 14:02
关 键 词:VB 2005  控制台  应用  程序
阅读提示:本文介绍VB.net中新引入了的控制台应用程序特征。它不仅在“New Project...”对话框中提供一种控制台应用程序工程,而且最重要的是,它还提供了一个控制台(Console)对象。然而,你还是被限于“从左到右和从上到下”的编码。

计算机用户经常把控制台应用程序作为一种“遗物”来看待,但是它们仍然还作为系统管理员的非常喜欢的一部分,而且还是高手用户的“工具箱”之一。另外,当你需要大量重复的脚本操作,当然还有可能的更复杂的操作时,都会用到这种控制台应用程序。

在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,然后结束。图1显示了在没有任何命令行参数时运行DirCopy的结果。

图1:DisplayUsage子程序运行结果

下列是DisplayUsage子程序的代码:

  Private Sub DisplayUsage() 
 Dim originalForegroundColor As ConsoleColor = Console.ForegroundColor
 Console.Clear()
 Console.ForegroundColor = ConsoleColor.Green
 Console.WriteLine("DirCopy 1.0")
 Console.WriteLine("Written by Josh Fitzgerald")
 Console.WriteLine(New String("-", Console.WindowWidth))
 Console.WriteLine("DirCopy will copy all of the files from the
source folder to the")
 Console.WriteLine("destination folder. While the files are
copying, a progress bar")
 Console.WriteLine("will display the percent complete.")
 Console.WriteLine()
 Console.WriteLine("If a directory name contains spaces, enclose
it in double quotes.")
 Console.WriteLine()
 Console.Write("Example : ")
 Console.ForegroundColor = ConsoleColor.Magenta
 Console.WriteLine("DirCopy C:\MyFolder C:\MyNewFolder")
 Console.ForegroundColor = ConsoleColor.Green
 Console.WriteLine()
 Console.Write("Example : ")
 Console.ForegroundColor = ConsoleColor.Magenta
 Console.WriteLine("DirCopy ""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设置为品红色。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606】

发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看63145次)
·UML类图详解 (查看58891次)
·UML统一建模语言 (查看32487次)
·C#技术开发指南 (查看30496次)
·Java编程开发手册 (查看29256次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (307个砖)
·.NET开发手册 (233个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (654个好)
·Java基础教程 (572个好)
·.NET开发手册 (271个好)
·PB开发教程 (211个好)
·Delphi开发技术手册 (182个好)
订阅技术快讯
电子杂志下载
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
关键字阅读
频道精选