概述VB 2005新型控制台

开发 后端
这里介绍VB 2005新型控制台,包括介绍基于早期VB.NET版本中所提供的Console对象,如今的VB 2005又为控制台应用程序增加了许多优秀的特征。

VB 2005有很多值得学习的地方,这里我们主要介绍VB 2005新型控制台,包括介绍实例应用程序—DirCopy等方面。

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

在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子程序的代码:

  1. Private Sub DisplayUsage()  
  2. Dim originalForegroundColor As ConsoleConsoleColor = Console.ForegroundColor  
  3. Console.Clear()  
  4. Console.ForegroundColor = ConsoleColor.Green  
  5. Console.WriteLine("DirCopy 1.0")  
  6. Console.WriteLine("Written by Josh Fitzgerald")  
  7. Console.WriteLine(New String("-", Console.WindowWidth))  
  8. Console.WriteLine("DirCopy will copy all of the files from the  
  9. source folder to the")  
  10. Console.WriteLine("destination folder. While the files are  
  11. copying, a progress bar")  
  12. Console.WriteLine("will display the percent complete.")  
  13. Console.WriteLine()  
  14. Console.WriteLine("If a directory name contains spaces, enclose  
  15. it in double quotes.")  
  16. Console.WriteLine()  
  17. Console.Write("Example : ")  
  18. Console.ForegroundColor = ConsoleColor.Magenta  
  19. Console.WriteLine("DirCopy C:\MyFolder C:\MyNewFolder")  
  20. Console.ForegroundColor = ConsoleColor.Green  
  21. Console.WriteLine()  
  22. Console.Write("Example : ")  
  23. Console.ForegroundColor = ConsoleColor.Magenta  
  24. Console.WriteLine("DirCopy ""C:\My Folder"" ""C:\My New Folder""")  
  25. Console.ForegroundColor = originalForegroundColor 
  26. End Sub  

该子程序做的***事情是创建一个变量originalForegroundColor,然后它存储Console.ForegroundColor 的值。在子程序的***,代码把Console.ForegroundColor属性设置回originalForegroundColor。当你分析这部分代码时,你会注意到,在每个修改前景或背景颜色的子程序中都是这样操作的。在实际运行DirCopy之前,我想确保DirCopy总是让控制台显示相同的颜色。

DisplayUsage做的下一件事情是,使用Console.Clear方法清除控制台屏幕。这是在VB2005中的新方法之一;这样以来,程序员可以很容易地拥有一个干净的控制台窗口。

我想让帮助文本显眼一点,为此,我把ForegroundColor属性设置为绿色。然后,我使用Writeline和Write方法把几行文本输出到屏幕上。在描述的***,我包括了一些怎样运行DirCopy的示例。我想使得这些示例突出一些;因此,我把ForegroundColor设置为品红色。以上介绍VB 2005新型控制台。

【编辑推荐】

  1. VB 2005中开发新一代控制台应用程序
  2. 简单讲解VB开发分布式
  3. 浅析VB Script开发自动化测试
  4. 浅谈VB开发系统知识
  5. VB.NET应用程序中多线程的应用实例
责任编辑:佚名 来源: 比特网
相关推荐

2011-07-27 13:59:04

2011-07-06 15:25:33

Windows控制台

2010-12-21 14:32:43

操作控制台

2011-08-08 10:55:14

IOS 控制台 Consol

2009-06-15 09:50:34

JBoss控制台

2009-03-04 10:10:49

控制台桌面虚拟化Xendesktop

2021-06-17 11:34:54

SLS 阿里云

2011-07-11 09:57:19

WINDOWS控制台DOS命令

2011-07-12 15:18:01

SQLite数据库引擎

2009-07-29 10:22:00

Ubuntu虚拟控制台linux

2011-07-11 13:52:45

Windows控制台

2010-09-02 15:54:26

路由器配置

2009-06-12 18:50:34

JBoss控制台密码设

2011-03-24 10:08:38

Nagiosweb

2014-09-19 10:03:18

Chrome

2011-07-19 15:15:59

故障恢复控制台

2010-03-22 18:42:23

2011-07-11 14:20:19

2011-07-11 13:43:45

Windows控制台

2011-04-20 10:15:02

Linuxconsole口
点赞
收藏

51CTO技术栈公众号