设为首页 | 收藏本站
首页>IT学院>软件编程>正文
VB2005中开发新一代控制台应用程序
WWW.DBIT.CN 2006-9-5 0:42:42 热度:
 


  在更新显示和复制文件后,我通过调用ConsoleProgressBar类的Update方法来更新进度条。

  一旦循环结束并且文件复制结束,我再把ForegroundColor设置回其原来的颜色,并且把光标位置设置到控制台窗口的最下面一行,并且使之再次可见。

  五、 移动控制台中的一个区域

  MoveBufferArea方法允许我指定控制台窗口内的一个区域(或缓冲区),然后指定一组坐标来移动它。我想把文件名列表显示到一个滚动列表中,而同时还能维持头部信息及控制台窗口顶部的进度栏。一旦我把一个文件名打印到控制台中的最后一行,我就停止更新rowIndex变量并开始使用 MoveBufferArea方法。
MoveBufferArea使用了六个参数:

  · 第一个参数指定你想选择区域的左边缘。

  · 第二个参数指定你的缓冲区区域的最上边一行。

  · 第三和第四个参数指定你的缓冲区区域的宽度和高度。

  · 最后两个参数指定你想把你的缓冲区移往的区域的左边缘和最上边一行。

Console.MoveBufferArea(0, _
BufferSourceTopLine, _
Console.WindowWidth, _
Console.WindowHeight - BufferSourceTopLine, _
0, _
BufferDestinationTopLine)

  这段代码告诉MoveBufferArea方法从第0列和第BufferSourceTopLine(一个常量,值为8)行开始。然后,它把缓冲区区域宽度设置为等于控制台窗口的宽度并且把缓冲区区域高度设置为等于控制台窗口高度和文件名列表的最上面一行(BufferSourceTopLine)之差。最后两个参数指定我的缓冲区区域的目标位置为第0列和第BufferDestinationTopLine(定义为常数7)行。

  用更简单的描述来说就是,该代码通过最后一个名字选择在列表中的第二个文件名并且把该缓冲区往上移动一行,有效地删除了最上面的文件名并且为底部的下一个文件名留出了空间。

  六、 ConsoleProgressBar类

  我创建了ConsoleProgressBar类来处理初始化和更新进度条的细节问题。其构造器使用了一个参数—MaximumValue:

Public Sub New(ByVal MaximumValue As Long)
 m_length = Console.WindowWidth - 10
 m_left = 7
 m_right = m_left + m_length + 1
 m_progressBarRow = 1
 m_messageBarRow = m_progressBarRow + 1
 m_percentPosition = 4
 m_maximumValue = MaximumValue
 m_currentValue = 0
 Initialize()
End Sub

  我硬编码了一些值,并且基于这些硬编码值计算其它值。在本文中,我构造的这个类很小,但是你可以扩展这个构造器以便再加入其它参数—使得进度条更具配置性。

  在初始化所有的成员变量以后,我调用Initialize方法,它又调用InitializePercentComplete, InitializeProgressBar和InitializeMessageBar方法。这些方法的任务并不多;它们仅打印一个百分号,一组表示进度条结束的方括号,以及该进度条的最大值和最小值。

本新闻共3页,当前在第3页  1  2  3  

 
上一篇:提升JSP应用程序的七大绝招
下一篇:用VB播放Avi、Wave、midi文件
打印】【关闭
  相关文章:
☆联姻学院☆

保养电脑的26个窍门
文件夹删除不掉怎么办?
教你如何用手工迅速剿灭QQ广告
“熊猫烧香”病毒的病毒描述和
在Excel中只打印图表以外区域
Excel中只选中包含文本的单元
Windows XP操作系统的几个实用
用XP系统自带网络诊断程序解决
风雨雷电→自然现象动画实战技
Flash遮罩特效之百叶窗效果
十二个Dreamweaver鲜为人知的
如何用 Dreamweaver 批量做we
JavaScript的系统函数学习
Java之父:关于Java我也有遗憾
排除网上邻居使用4大常见麻烦
解除上网限制IP和MAC捆绑的破