Ich habe kürzlich ein Konsolenprogramm geschrieben. Es besteht darin, Daten aus der Datenbank in eine WORD-Datei zu exportieren (Angabe des Tabellennamens, Angabe des Feldnamens in der Tabelle). Beim Testen wurde festgestellt, dass der Benutzer beim Exportieren nach dem Erstellen einer Datenbanktabelle die Daten in eine andere Tabelle exportieren möchte und das Programm erneut ausführen muss, was offensichtlich nicht gut ist. Wenn es jedoch mithilfe von Schleifen oder goto-Anweisungen im Programm implementiert wird, befindet sich zu viel Text in der Konsole und es sieht nicht gut aus. Also habe ich schließlich darüber nachgedacht, ob wir die Konsole automatisch den Bildschirm löschen lassen könnten, nachdem wir den Import einer Datenbanktabelle abgeschlossen haben, und dann die nächste Datenbanktabelle exportieren könnten. Dann habe ich lange online gesucht, konnte aber keine zufriedenstellende Antwort finden. Die Online-Methode zum „Löschen des Bildschirms“ besteht darin, n Wagenrückläufe einzugeben. Ich glaube nicht, dass dies den Bildschirm überhaupt löscht. Plötzlich dachte ich darüber nach, eine DLL zum Löschen des Bildschirms in C++ zu schreiben, und das Ergebnis war recht zufriedenstellend. Im Folgenden implementieren wir die C#-Sprache, um den Bildschirm in der Konsole Schritt für Schritt zu löschen:
(1) Öffnen Sie VS2005 und erstellen Sie ein neues C++-Klassenbibliotheksprojekt namens CLS;
(2) Öffnen Sie die Datei CLS.h und benennen Sie den Klassennamen in „CLS“ um.
(3) Öffnen Sie die Datei CLS.cpp und fügen Sie die Datei „windows.h“ ein.
// Dies ist die Haupt-DLL-Datei.
#include „stdafx.h“
#include „windows.h“
#include „CLS.h“
(4) Fügen Sie der CLS-Klasse statische Methoden hinzu (Zugriffsattribute sind öffentlich).
öffentliche Referenzklasse CLS
{
öffentlich:
static void cls()
{
system("cls");
}
};
(5) Kompilieren Sie abschließend das gesamte Projekt und führen Sie CLS.dll im Ordner CLS/debug/ in das C#-Projekt ein.
(6) Wo immer der Bildschirm gelöscht werden muss, rufen Sie einfach CLS.cls() auf. Auch Funktionen wie Pause können mit der gleichen Methode wie oben implementiert werden.
Warum ist das möglich? Jeder, der .Net FrameWork studiert hat, sollte es sehr gut verstehen, denn egal, ob es sich um eine C++-, C-, VB- oder C#-Sprache handelt, die IL-Sprache (Intermediate Language) wird irgendwann generiert, also egal, welches Programm in der oben genannten Sprache geschrieben ist kann interoperabel sein.
Wenn etwas oben Geschriebenes falsch ist, sagen Sie es mir bitte! Ich habe gerade mit dem Bloggen begonnen und es gibt definitiv noch viel zu lernen.
http://www.cnblogs.com/blueskybcl/archive/2010/04/24/1719171.html