概述VB 2005新型控制臺
VB 2005有很多值得學習的地方,這里我們主要介紹VB 2005新型控制臺,包括介紹實例應(yīng)用程序—DirCopy等方面。
計算機用戶經(jīng)常把控制臺應(yīng)用程序作為一種“遺物”來看待,但是它們?nèi)匀贿€作為系統(tǒng)管理員的非常喜歡的一部分,而且還是高手用戶的“工具箱”之一。另外,當你需要大量重復(fù)的腳本操作,當然還有可能的更復(fù)雜的操作時都會用到這種控制臺應(yīng)用程序。
在Visual Basic的早期版本中基本沒有為創(chuàng)建控制臺應(yīng)用程序提供多大支持。而且,盡管VB 6及其早期版本能夠創(chuàng)建控制臺應(yīng)用程序;但是,這不是一種簡單的或直接的過程。在VB 6中創(chuàng)建一個控制臺應(yīng)用程序必須進行Win32 API調(diào)用;即使如此,你也不能控制光標位置或文本的顏色,而且在很大程度上僅能被限制進行從左到右和從上到下的編碼。
如今,VB.net引入了新的控制臺應(yīng)用程序特征。它不僅在“New Project...”對話框中提供一種控制臺應(yīng)用程序工程,而且最重要的是,它還提供了一個控制臺(Console)對象。因此,你不必再“困擾”于 Win32 API了。然而,你還是被限于“從左到右和從上到下”的編碼。但是,VB.net仍然缺乏用于改變光標或文本的位置或顏色的方法或?qū)傩裕€有其它許多更高級的特征。
一、 在VB 2005新型控制臺應(yīng)用程序特征
基于早期VB.NET版本中所提供的Console對象,如今的VB 2005又為控制臺應(yīng)用程序增加了許多優(yōu)秀的特征。下面列出的僅是VB 2005中更為激動人心的功能中的一部分:
◆清除控制臺窗口
◆得到并設(shè)定光標位置和大小
◆得到并設(shè)定窗口高度和寬度
◆得到并設(shè)定前景和背景顏色
◆選擇并在控制臺窗口內(nèi)移動部分文本
本文中的其它部分將詳細地分析一個控制臺應(yīng)用程序的創(chuàng)建過程,以便展示上面這些特征的使用。
二、 實例應(yīng)用程序—DirCopy
我經(jīng)常從控制臺窗口中實現(xiàn)把文件從一個目錄復(fù)制到另一個目錄。當我復(fù)制一個含有大量文件的目錄時,我經(jīng)常希望得到一些提示—復(fù)制進程完成的怎么樣了?復(fù)制快結(jié)束了還是再等待一會?為了實現(xiàn)這一問題,我構(gòu)建了一個控制臺應(yīng)用程序,它能夠在控制臺窗口內(nèi)顯示一個進度條來以圖形化顯示復(fù)制進度。
三、 定義功能
為了簡化本文中的演示目的,DirCopy將使用兩個命令行參數(shù):一個源目錄和一個目的目錄。然后,它把所有文件從源目錄復(fù)制到目的目錄。注意,這個簡單的程序無法復(fù)制源目錄下的子目錄。首先,我編寫一個DisplayUsage子程序。如果使用太多或太少的命令行參數(shù)調(diào)用DirCopy,那么它將調(diào)用DisplayUsage,然后結(jié)束。下列是DisplayUsage子程序的代碼:
- Private Sub DisplayUsage()
- Dim originalForegroundColor As ConsoleConsoleColor = 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
該子程序做的***事情是創(chuàng)建一個變量originalForegroundColor,然后它存儲Console.ForegroundColor 的值。在子程序的***,代碼把Console.ForegroundColor屬性設(shè)置回originalForegroundColor。當你分析這部分代碼時,你會注意到,在每個修改前景或背景顏色的子程序中都是這樣操作的。在實際運行DirCopy之前,我想確保DirCopy總是讓控制臺顯示相同的顏色。
DisplayUsage做的下一件事情是,使用Console.Clear方法清除控制臺屏幕。這是在VB2005中的新方法之一;這樣以來,程序員可以很容易地擁有一個干凈的控制臺窗口。
我想讓幫助文本顯眼一點,為此,我把ForegroundColor屬性設(shè)置為綠色。然后,我使用Writeline和Write方法把幾行文本輸出到屏幕上。在描述的***,我包括了一些怎樣運行DirCopy的示例。我想使得這些示例突出一些;因此,我把ForegroundColor設(shè)置為品紅色。以上介紹VB 2005新型控制臺。
【編輯推薦】