Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Очистка консоли в .NET Framework 1.1

4.9K
23 июля 2007 года
Dimonya
11 / / 06.02.2007
Подскажите пожалуйста, есть ли какая-нибудь встроенная функция для очистки консоли в С#, типа ClearScreen.
9.0K
23 июля 2007 года
Shit_Happenes
58 / / 05.10.2006
Console.Clear();
14K
26 ноября 2007 года
stimpi
100 / / 04.09.2007
Цитата: Shit_Happenes
Console.Clear();


сори за некрофилизм, но это для Framework 2.0 и выше.
вот что в гугле нарыл , все работает :)

Код:
using System;
   using System.Runtime.InteropServices;

   namespace nsClearConsole
   {
      /// <summary>
      /// Summary description for ClearConsole.
      /// </summary><BR/>
      public class ClearConsole
      {        
         private const int STD_OUTPUT_HANDLE  = -11;
     private const byte EMPTY = 32;

         [StructLayout(LayoutKind.Sequential)]
         struct COORD
         {
            public short x;
            public short y;
         }

         [StructLayout(LayoutKind.Sequential)]
         struct SMALL_RECT
         {
            public short Left;
            public short Top;
            public short Right;
            public short Bottom;
         }
       
         [StructLayout(LayoutKind.Sequential)]
         struct    CONSOLE_SCREEN_BUFFER_INFO
         {
            public COORD dwSize;
            public COORD dwCursorPosition;
            public int wAttributes;
            public SMALL_RECT srWindow;
            public COORD dwMaximumWindowSize;
         }

         [DllImport("kernel32.dll", EntryPoint="GetStdHandle", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
         private static extern int GetStdHandle(int nStdHandle);

         [DllImport("kernel32.dll", EntryPoint="FillConsoleOutputCharacter", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
         private static extern int FillConsoleOutputCharacter(int hConsoleOutput, byte cCharacter, int nLength, COORD dwWriteCoord, ref int lpNumberOfCharsWritten);

         [DllImport("kernel32.dll", EntryPoint="GetConsoleScreenBufferInfo", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
         private static extern int GetConsoleScreenBufferInfo(int hConsoleOutput, ref CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);

         [DllImport("kernel32.dll", EntryPoint="SetConsoleCursorPosition", SetLastError=true, CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
         private static extern int SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition);

         private int hConsoleHandle;

         public ClearConsole()
         {
            //
            // TODO: Add constructor logic here.
            //
            hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
         }

         public void Clear()
         {
            int hWrittenChars = 0;
            CONSOLE_SCREEN_BUFFER_INFO strConsoleInfo = new CONSOLE_SCREEN_BUFFER_INFO();            
            COORD Home;        
            Home.x = Home.y = 0;
            GetConsoleScreenBufferInfo(hConsoleHandle, ref strConsoleInfo);
            FillConsoleOutputCharacter(hConsoleHandle, EMPTY, strConsoleInfo.dwSize.x * strConsoleInfo.dwSize.y, Home, ref hWrittenChars);
            SetConsoleCursorPosition(hConsoleHandle, Home);
         }
      }
   }
Код:
usung nsClearConsole;
.
.
.

static void Main(string[] args)
{
   ClearConsole ClearMyConsole = new ClearConsole();
   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
}


http://support.microsoft.com/kb/319257
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог