Como limpar a janela de console com Visual C++ .NET ou Visual C++ 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 816180
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 319257.


Para uma versão deste artigo do Microsoft Visual Basic, consulte 319239.

Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • sistema
  • System.Runtime.InteropServices

NESTA TAREFA

Sumário
Este artigo passo a passo descreve como limpar a janela Console programaticamente usando o Microsoft Visual C++. NET.

back to the top

Programa de exemplo

  1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. Criar um novo Apllication de C++ gerenciado no Microsoft Visual Studio .NET 2002, criar um novo Console Application (. NET) no Microsoft Visual Studio .NET 2003 ou crie um novo aplicativo console CLR no Visual Studio 2005.
  3. Na caixa nome , digite TestProject e, em seguida, clique em OK .
  4. No menu Project , clique em Add New Item .
  5. Na caixa de diálogo Add New Item , selecione Arquivo de cabeçalho (. h) no painel direito, digite o nome como nsClearConsole e, em seguida, clique em Abrir .

    Observação No Visual Studio 2005, clique em Adicionar .
  6. Paste the following code in the nsClearConsole.h file:
    #pragma once#using <mscorlib.dll>using namespace System;using namespace System::Runtime::InteropServices;namespace nsClearConsole{	public __gc class ClearConsole	{			private:		static int STD_OUTPUT_HANDLE  = -11;		static unsigned char EMPTY = 32;		[StructLayout(LayoutKind::Sequential)]		__value struct COORD		{		public:			short x;			short y;		};				[StructLayout(LayoutKind::Sequential)]		__value struct SMALL_RECT		{		public:			short Left;			short Top;			short Right;			short Bottom;		};				[StructLayout(LayoutKind::Sequential)]		__value struct CONSOLE_SCREEN_BUFFER_INFO		{		public:			COORD dwSize;			COORD dwCursorPosition;			int wAttributes;			SMALL_RECT srWindow;			COORD dwMaximumWindowSize;		};				[DllImport("kernel32.dll", EntryPoint="GetStdHandle", SetLastError=true, CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]		static int GetStdHandle(int nStdHandle);		[DllImport("kernel32.dll", EntryPoint="FillConsoleOutputCharacter", SetLastError=true, CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]		static int FillConsoleOutputCharacter(int hConsoleOutput, Byte cCharacter, int nLength, COORD dwWriteCoord, int &lpNumberOfCharsWritten);				[DllImport("kernel32.dll", EntryPoint="GetConsoleScreenBufferInfo", SetLastError=true, CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]		static int GetConsoleScreenBufferInfo(int hConsoleOutput, CONSOLE_SCREEN_BUFFER_INFO *lpConsoleScreenBufferInfo);		[DllImport("kernel32.dll", EntryPoint="SetConsoleCursorPosition", SetLastError=true, CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]		static int SetConsoleCursorPosition(int hConsoleOutput, COORD dwCursorPosition);	private:		int hConsoleHandle;	public:		ClearConsole()		{			hConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);		}	public:		void Clear()		{			int hWrittenChars = 0;			CONSOLE_SCREEN_BUFFER_INFO strConsoleInfo;			COORD Home;			GetConsoleScreenBufferInfo(hConsoleHandle, &strConsoleInfo);			FillConsoleOutputCharacter(hConsoleHandle, EMPTY, strConsoleInfo.dwSize.x * strConsoleInfo.dwSize.y, Home, hWrittenChars);			SetConsoleCursorPosition(hConsoleHandle, Home);		}	};}
    Observação você deve adicionar o common language runtime oferecem suporte a compilador opção (/ CLR: oldSyntax) no Visual C++ 2005 a compilar com êxito o exemplo de código anterior. Para adicionar a opção de compilador de suporte de tempo de execução idioma comum no Visual C++ 2005, siga estas etapas:
    1. Clique em Project e clique em <ProjectName> propriedades .

      Observação <ProjectName> é um espaço reservado para o nome do projeto.
    2. Expanda Configuration Properties e, em seguida, clique em Geral .
    3. Clique para selecionar Common Language Runtime suporte, sintaxe antiga (/ CLR: oldSyntax) no projeto oferece suporte a Common Language Runtime configuração no painel à direita, clique em Aplicar e em seguida, clique em OK .
    Para obter mais informações sobre o common language runtime oferece suporte à opção do compilador, visite o seguinte site da Microsoft:
    / clr (Common Language Runtime Compilation)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  7. Adicione a seguinte declaração arquivo cabeçalho no arquivo TestProject.cpp:
    #include "nsClearConsole.h"
  8. Colar a instrução a seguir antes da função principal:
    using namespace nsClearConsole;
  9. Substitua o código existente com o código a seguir na função principal do aplicativo de console:
    ClearConsole *ClearMyConsole = new ClearConsole();	Console::WriteLine(S"This is the first line.");  // Write some text.	Console::WriteLine(S"This is the second line."); // Write some text. 	Console::WriteLine(S"This is the third line.");  // Write some text.	Console::WriteLine(S"This is the fourth line."); // Write some text.  	Console::WriteLine(S"This is the fifth line.");  // Write some text.	Console::WriteLine(S"Press ENTER to clear.");  // Write some text.	Console::ReadLine();  // Wait for user input.	ClearMyConsole->Clear(); // Clear the screen.	Console::WriteLine(S"The console was cleared.");  // Write some text to clear the console.	Console::WriteLine(S"Press ENTER to quit. ");  // Write some text.	Console::ReadLine();  // Wait for user input.	return 0;
  10. Pressione CTRL + F5 para criar e executar o aplicativo. Observe que o texto na janela do console está desmarcado.
back to the top
Referências
Para obter mais informações sobre funções do console, visite o seguinte site da Web Microsoft Developer Network (MSDN): back to the top

Propriedades

ID do Artigo: 816180 - Última Revisão: 12/08/2015 02:12:49 - Revisão: 3.2

Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster KB816180 KbMtpt
Comentários