Как очистить окно консоли с помощью Visual Basic .NET или Visual Basic 2005

Переводы статьи Переводы статьи
Код статьи: 319239 - Vizualiza?i produsele pentru care se aplic? acest articol.
Microsoft Visual C# версии данной статьи см.319257.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данном пошаговом руководстве показано, как программным образом очистить окно консоли с помощью Visual Basic .NET или Visual Basic 2005.

Пример программы

  1. Запустите Microsoft Visual Studio .NET или Microsoft Visual Studio 2005.
  2. в менюФайл:Выберите пункт менюСОЗДАТЬ.и выберите командуProject.
  3. затем –Visual Basicзатем –Приложение консолии выберите командуOk..
  4. в менюProjectвыберите пунктДобавление классаЧтобы открытьДобавление нового элемента«Свойства системы».. Убедитесь, чтоКласс:установлен и нажмите кнопкуOPENЧтобы принять имя по умолчанию для файла.

    Примечание.В Visual Studio 2005 щелкнитеДобавьте серверВместоOPEN.
  5. Вставьте следующий код в файл класса (заменять весь существующий код):
    Imports System.Runtime.InteropServices
    
    Public Class ClearConsole
    
      Private Const STD_OUTPUT_HANDLE As Integer = &HFFFFFFF5
      Private Const EMPTY As Byte = 32
     
      ' Structure defines the coordinates of a character cell in a console screen buffer. 
      ' The origin of the coordinate system (0,0) is at the top-left cell of the buffer.
      <StructLayout(LayoutKind.Sequential)> _
      Structure COORD
        Dim X As Short
        Dim Y As Short
      End Structure
    
      ' Structure defines the coordinates of the upper-left and lower-right corners of a rectangle
      <StructLayout(LayoutKind.Sequential)> _
      Structure SMALL_RECT
        Dim Left As Short
        Dim Top As Short
        Dim Right As Short
        Dim Bottom As Short
      End Structure
    
      ' Structure containing information about the Console's screen buffer.
      <StructLayout(LayoutKind.Sequential)> _
      Structure CONSOLE_SCREEN_BUFFER_INFO
        Dim dwSize As COORD
        Dim dwCursorPosition As COORD
        Dim wAttributes As Integer
        Dim srWindow As SMALL_RECT
        Dim dwMaximumWindowSize As COORD
      End Structure
    
      ' Win32 API Function declarations.
      Declare Auto Function GetStdHandle Lib "kernel32.dll" (ByVal nStdHandle As Integer) As IntPtr
      Declare Auto Function FillConsoleOutputCharacter Lib "kernel32.dll" (ByVal hConsoleOutput As IntPtr, ByVal cCharacter As Byte, _
                                                                           ByVal nLength As Integer, _
                                                                           ByVal dwWriteCoord As COORD, _
                                                                           ByRef lpNumberOfCharsWritten As IntPtr) As Integer
      Declare Auto Function GetConsoleScreenBufferInfo Lib "kernel32.dll" (ByVal hConsoleOutput As IntPtr, _
                                                                           ByRef lpConsoleScreenBufferInfo As CONSOLE_SCREEN_BUFFER_INFO) As Integer
      Declare Auto Function SetConsoleCursorPosition Lib "kernel32.dll" (ByVal hConsoleOutput As IntPtr, ByVal dwCursorPosition As COORD) As Integer
    
      ' Subroutine used to clear the Console screen.
      Public Sub Clear()
        Dim hConsoleHandle As IntPtr
        Dim hWrittenChars As IntPtr
        Dim strConsoleInfo As CONSOLE_SCREEN_BUFFER_INFO
        Dim strOriginalLocation As COORD
        hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE) ' Get Handle for standard output
        GetConsoleScreenBufferInfo(hConsoleHandle, strConsoleInfo) ' Get information about the standard output buffer of the Console
        FillConsoleOutputCharacter(hConsoleHandle, EMPTY,  strConsoleInfo.dwSize.X * strConsoleInfo.dwSize.Y, strOriginalLocation, hWrittenChars) ' Fill output buffer with Empty characters (ASCII 32)
        SetConsoleCursorPosition(hConsoleHandle, strOriginalLocation) ' Set the Console cursor back to the origin
      End Sub
    
    End Class
    					
  6. Добавьте следующий код в раздел Sub Main консольного приложения:
        Dim ClearMyConsole As New ClearConsole() ' Start an instance of class.
        Console.WriteLine("THIS IS FIRST LINE")  ' Some text
        Console.WriteLine("THIS IS SECOND LINE") ' Some text 
        Console.WriteLine("THIS IS THIRD LINE")  ' Some text
        Console.WriteLine("THIS IS FOURTH LINE") ' Some text  
        Console.WriteLine("THIS IS FIFTH LINE")  ' Some text
        Console.WriteLine("Hit Enter to Clear")  ' Some text
        Console.ReadLine()  ' Wait for user input.
        ClearMyConsole.Clear() ' Clear the screen.
        Console.WriteLine("THE CONSOLE WAS CLEARED")  ' Some text to clear console.
        Console.WriteLine("Hit Enter to Terminate")  ' Some text
        Console.ReadLine()  ' Wait for user input.
    					
  7. Нажмите клавишу F5 для запуска программы.

Ссылки

Для получения дополнительных сведений о функции консоли посетите следующий веб-узел Microsoft Developer Network (MSDN):
Функции консоли
http://msdn2.Microsoft.com/en-us/library/ms682073.aspx

Свойства

Код статьи: 319239 - Последний отзыв: 24 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Ключевые слова: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB319239 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:319239

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com