科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB2005中开发新一代控制台应用程序

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

计算机用户经常把控制台应用程序作为一种“遗物”来看待,但是它们仍然还作为系统管理员的非常喜欢的一部分

作者:朱先忠编译 来源:天极开发 2007年11月9日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
七、 进度条进度显示

  在Update方法被调用前,在ConsoleProgressBar对象中什么也没有发生:

Public Sub Update(ByVal CurrentValue As Long)
 m_currentValue = CurrentValue
 m_currentBarLength = CInt((m_currentValue / m_maximumValue) * m_length)
 Refresh()
End Sub

  这个Update方法使用一个值作参数(在此是指当前刚刚复制的文件数)。我设置成员m_currentValue,然后计算m_currentBarLength。计算的结果为进度条当前应该覆盖的列数。

  最后,我调用Refresh方法,它又调用UpdatePercentComplete、UpdateProgressBar和UpdateMessageBar方法。

  因为所有这三个方法功能相类似,所以我将集中讨论UpdateProgressBar方法:

Private Sub UpdateProgressBar()
 Dim originalForegroundColor As ConsoleColor = Console.ForegroundColor
 Dim originalBackgroundColor As ConsoleColor = Console .BackgroundColor
 Console.ForegroundColor = ConsoleColor.Black
 Console.BackgroundColor = ConsoleColor.Green
 Console.SetCursorPosition(m_left + 1 m_progressBarRow)
 Dim progress As New String("O", m_currentBarLength)
 Console.Write(progress)
 Console.ForegroundColor =originalForegroundColor
 Console.BackgroundColor = originalBackgroundColor
End Sub

  首先,该代码保存当前的前景和背景颜色。然后,它把ForegroundColor属性设置为黑色,把BackgroundColor属性设置为绿色。在把光标放置到进度条的左边缘后,它打印一串长度为m_currentBarLength的“O”。

  八、 运行DirCopy

  你一定很想看到应用程序运行情况(参考图2和3),并想检查一下运行结果(参考图4)。我建立了一个目录,并使用一串哑文件来测试复制。我建议,在你使用DirCopy复制任何关键文件前,你也这样试验一下。

点击放大此图片
图2:开始DirCopy

点击放大此图片
图3:DirCopy运行中

点击放大此图片
图4:DirCopy运行完成

  九、 其它问题

  这个DirCopy应用程序,虽然有些用处,但是还远非成品。为了使其更为强壮,还需要增加大量的错误处理方式。你还可以改进ConsoleProgressBar类以实现更灵活的控制。下列是一些可能的改进:

  · 允许控制进度条的位置和长度

  · 允许百分比完成区域放到你选择的任何位置

  · 允许定制进度条中的消息

  · 添加一个选项以选择水平的或垂直的进度条

  十、 小结

  我希望,本文有助于你了解VB 2005所提供的部分新的控制台应用程序特征,尽管这些特征仅是其中的一部分。另外,我还鼓励你再分析一下其它一些控制台应用程序特征,并与本文介绍相结合以发现你更喜欢的特征。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章