Недавно я написал консольную программу. Функция этой программы очень простая - экспортировать (указать имя таблицы, указать имя поля в таблице) данные из базы данных в WORD-файл. В ходе тестирования обнаружилось, что при экспорте пользователем после создания таблицы базы данных, если вы хотите экспортировать данные в другую таблицу, вам придется перезапускать программу, что явно нехорошо. Однако если это реализовано в программе с помощью циклов или операторов перехода, в консоли будет слишком много текста и это будет выглядеть некрасиво. Итак, я наконец подумал о том, можем ли мы заставить консоль автоматически очищать экран после завершения импорта таблицы базы данных, а затем экспортировать следующую таблицу базы данных. Затем я долго искал в Интернете, но не нашел удовлетворительного ответа. Онлайн-метод «очистки экрана» заключается в вводе символов возврата каретки. Я не думаю, что это вообще очищает экран. Внезапно я подумал о написании DLL для очистки экрана на C++, и результат меня вполне удовлетворил. Ниже мы реализуем язык C# для пошаговой очистки экрана в консоли:
(1) Откройте VS2005 и создайте новый проект библиотеки классов C++ под названием CLS;
(2) Откройте файл CLS.h и переименуйте имя класса в «CLS»;
(3) Откройте файл CLS.cpp и добавьте в него файл «windows.h»;
// Это основной файл DLL.
#include "stdafx.h"
#include "windows.h"
#include "CLS.h"
(4) Добавьте статические методы в класс CLS (атрибуты доступа являются общедоступными).
общедоступный класс ссылки CLS
{
публика:
статическая пустота cls()
{
система("CLS");
}
};
(5) Наконец, скомпилируйте весь проект и добавьте CLS.dll из папки CLS/debug/ в проект C#;
(6) Если экран необходимо очистить, просто вызовите CLS.cls(). Такие функции, как пауза, также можно реализовать, используя тот же метод, что и выше.
Почему это возможно? Любой, кто изучал .Net FrameWork, должен это очень хорошо понимать, потому что независимо от того, является ли это языком C++, C, VB или C#, в конечном итоге будет создан язык IL (Intermediate Language), поэтому независимо от того, какая программа написана на вышеуказанном языке, она может быть совместимым.
Если что-то из написанного выше не так, пожалуйста, скажите мне! Я только начал вести блог, и мне определенно есть чему поучиться.
http://www.cnblogs.com/blueskybcl/archive/2010/04/24/1719171.html