Recientemente escribí un programa de consola. La función de este programa es muy simple: exportar (especificar el nombre de la tabla, especificar el nombre del campo en la tabla) desde la base de datos a un archivo WORD. Durante las pruebas se descubrió que cuando el usuario exporta después de crear una tabla de base de datos, si desea exportar los datos en otra tabla, debe volver a ejecutar el programa, lo cual obviamente no es bueno. Sin embargo, si se implementa mediante bucles o declaraciones goto en el programa, habrá demasiado texto en la consola y no se verá bien. Así que finalmente pensé si podríamos hacer que la consola borre automáticamente la pantalla después de que terminemos de importar una tabla de base de datos y luego exportar la siguiente tabla de base de datos. Luego busqué en línea durante mucho tiempo, pero no pude encontrar una respuesta satisfactoria. El método en línea para "borrar la pantalla" es escribir n retornos de carro. No creo que esto sea borrar la pantalla en absoluto. De repente pensé en escribir una DLL para borrar la pantalla en C++ y el resultado fue bastante satisfactorio. A continuación implementaremos el lenguaje C# para limpiar la pantalla en la consola paso a paso:
(1) Abra VS2005 y cree un nuevo proyecto de biblioteca de clases C++ llamado CLS;
(2) Abra el archivo CLS.h y cambie el nombre de la clase a "CLS";
(3) Abra el archivo CLS.cpp e introduzca el archivo "windows.h" en él;
// Este es el archivo DLL principal.
#incluir "stdafx.h"
#incluir "ventanas.h"
#incluir "CLS.h"
(4) Agregue métodos estáticos a la clase CLS (los atributos de acceso son públicos)
clase de referencia pública CLS
{
público:
cls vacío estático()
{
sistema("cls");
}
};
(5) Finalmente compile todo el proyecto e introduzca CLS.dll en la carpeta CLS/debug/ en el proyecto C#;
(6) Dondequiera que sea necesario borrar la pantalla, simplemente llame a CLS.cls(). Funciones como la pausa también se pueden implementar utilizando el mismo método anterior.
¿Por qué es esto posible? Cualquiera que haya estudiado .Net FrameWork debería entenderlo muy bien, porque no importa si es el lenguaje C++, C, VB o C#, eventualmente se generará el lenguaje IL (lenguaje intermedio), por lo que no importa qué programa esté escrito en el lenguaje anterior, puede ser interoperable.
Si algo escrito arriba está mal, ¡dímelo! Acabo de empezar a escribir en el blog y definitivamente hay mucho que aprender.
http://www.cnblogs.com/blueskybcl/archive/2010/04/24/1719171.html