Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как очистить консольное окно? 
:(
    Опции темы
6atoh
Дата 18.9.2006, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 2
Всего: 4



Как очистить консольное окно?
PM MAIL ICQ   Вверх
Bogdan1024
Дата 19.9.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



В фрэймворке этого сделать нельзя.

Добавлено @ 07:46 
Можно это сделать только через ВинАПИшные функции.


--------------------
user posted image
PM MAIL   Вверх
Tror
Дата 19.9.2006, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: 2
Всего: 4



Код

Console.Clear();

--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
Bogdan1024
Дата 19.9.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1436
Регистрация: 28.9.2005
Где: Киев

Репутация: 5
Всего: 13



Цитата(Tror @ 19.9.2006,  09:10)
Код

Console.Clear();

Вау, действительно smile Появилась с версии .нет2.0 smile


--------------------
user posted image
PM MAIL   Вверх
6atoh
Дата 19.9.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 2
Всего: 4



у меня framework 1.1 smile 
PM MAIL ICQ   Вверх
$tatic
Дата 19.9.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 2
Всего: 22



Парадоксально, но вот так эту задачу решает Microsoft (декомпилировано Lutz Roeder's .NET Reflector):
Код

public static void Clear()
{
      Win32Native.COORD coord1 = new Win32Native.COORD();
      IntPtr ptr1 = Console.ConsoleOutputHandle;
      if (ptr1 == Win32Native.INVALID_HANDLE_VALUE)
      {
            throw new IOException(Environment.GetResourceString("IO.IO_NoConsole"));
      }
      Win32Native.CONSOLE_SCREEN_BUFFER_INFO console_screen_buffer_info1 = Console.GetBufferInfo();
      int num1 = console_screen_buffer_info1.dwSize.X * console_screen_buffer_info1.dwSize.Y;
      int num2 = 0;
      if (!Win32Native.FillConsoleOutputCharacter(ptr1, ' ', num1, coord1, out num2))
      {
            __Error.WinIOError();
      }
      num2 = 0;
      if (!Win32Native.FillConsoleOutputAttribute(ptr1, console_screen_buffer_info1.wAttributes, num1, coord1, out num2))
      {
            __Error.WinIOError();
      }
      if (!Win32Native.SetConsoleCursorPosition(ptr1, coord1))
      {
            __Error.WinIOError();
      }
}

Т.е. просто получаем буфер консоли, забиваем его пробелами, сбрасываем атрибуты символов и устанавливаем курсор на (1, 1).
Естественно реализовано все через WinAPI.
А теперь через 7 дней за вами придет Билли. smile

Это сообщение отредактировал(а) $tatic - 19.9.2006, 16:32
PM MAIL   Вверх
mr.DUDA
Дата 19.9.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Хы, а делается во 2-м фреймворке это всё равно через ж... то есть через WinAPI... $static тут привёл пример.


--------------------
user posted image
PM MAIL WWW   Вверх
$tatic
Дата 19.9.2006, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 2
Всего: 22



Нда smile
PM MAIL   Вверх
6atoh
Дата 19.9.2006, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 2
Всего: 4



Прикольно...когда думал писать свою функцию тоже хотел заполнить пробелами smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.