ฉันเพิ่งเขียนโปรแกรมคอนโซล ฟังก์ชั่นของโปรแกรมนี้ง่ายมาก คือการส่งออก (ระบุชื่อตาราง ระบุชื่อฟิลด์ในตาราง) จากฐานข้อมูลไปยังไฟล์ WORD หลังจากเขียนโปรแกรมแล้ว พบว่าระหว่างการทดสอบว่าเมื่อผู้ใช้ส่งออก หลังจากสร้างตารางฐานข้อมูลแล้ว หากต้องการส่งออกข้อมูลไปยังตารางอื่นจะต้องรันโปรแกรมใหม่ซึ่งเห็นได้ชัดว่าไม่ดี อย่างไรก็ตาม หากมีการใช้งานโดยใช้คำสั่ง loop หรือ goto ในโปรแกรม ก็จะมีข้อความมากเกินไปในคอนโซลและจะดูไม่ดี ในที่สุดฉันก็คิดว่าเราจะให้คอนโซลล้างหน้าจอโดยอัตโนมัติได้หรือไม่หลังจากที่เรานำเข้าตารางฐานข้อมูลเสร็จแล้ว จากนั้นจึงส่งออกตารางฐานข้อมูลถัดไป จากนั้นฉันค้นหาทางออนไลน์เป็นเวลานาน แต่ไม่พบคำตอบที่น่าพอใจ วิธีออนไลน์ในการ "ล้างหน้าจอ" คือการพิมพ์ n แคร่คืน ฉันไม่คิดว่านี่เป็นการล้างหน้าจอเลย ทันใดนั้นฉันก็คิดที่จะเขียน DLL การเคลียร์หน้าจอในภาษา C++ และผลลัพธ์ก็ค่อนข้างน่าพอใจ ด้านล่างนี้เราจะใช้ภาษา C# เพื่อล้างหน้าจอในคอนโซลทีละขั้นตอน:
(1) เปิด VS2005 และสร้างโปรเจ็กต์ไลบรารีคลาส C++ ใหม่ที่เรียกว่า CLS
(2) เปิดไฟล์ CLS.h และเปลี่ยนชื่อคลาสเป็น "CLS"
(3) เปิดไฟล์ CLS.cpp และแนะนำไฟล์ "windows.h" เข้าไป
// นี่คือไฟล์ DLL หลัก
#รวม "stdafx.h"
#รวม "windows.h"
#รวม "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