• C#语言在控制台中实现清屏


    最近写了个控制台程序,这个程序功能很简单,就是从数据库中将(指定表名,指定表中字段名)数据导出到WORD文件中,程序写完了,在测试的时候发现当用户在导出一个数据库表后,如果还想导出另一张表中的数据,就要重新运行一遍程序,这样显然不好。但是如果在程序中用循环或用goto语句实现的话,控制台里的文字太多,不好看。所以最后想到能不能当我们导完一个数据库表后,让控制台自动清屏,进行下一个数据库表的导出操作。然后就上网上搜了好长时间,没找到一个满意的答案,网上的“清屏”办法是输出n个回车,我觉得这根本就不是清屏。忽然想到了用C++写一个清屏的DLL,结果还算满意。下面我们一步一步的来实现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类中添加一个个静态方法(访问属性为public)

                 public ref class CLS
                {
         public :
                   static void cls()
                  {
                              system("cls");
                         }
                };

           (5)最后编译整个工程,将CLS/debug/文件夹下的CLS.dll引入到C#项目工程中;

           (6)在需要清屏的地方,调用CLS.cls()即可实现。也可以实现暂停(pause)等功能,方法同上。

            这样为什么可以呢?只要学过.Net FrameWork都应该很明白,因为不管是C++,C,VB还是C#语言,最终都会生成IL(Intermediate Language(中间语言))语言,所以不管用上面哪一种语言写的程序都可以互用的。

         

             如果上面哪儿写的不对,请多多指教!刚开始写博客,肯定有很多地方需要学习

  • 相关阅读:
    个人技能总结8--linux 基本命令的使用
    个人技能总结7--Apache服务器反向代理,负载均衡,热备份+Tomcat配置
    个人技能总结6--Java网络接口以及协议
    个人技能总结5--Redis在Javaweb项目中的应用
    个人技能总结4--MongoDB在windows上安装以及java中的增删改查
    个人技能总结3--Mysql--20170828
    从源码的角度解读String、StringBuilder、StringBuffer的性能差别
    java二叉树的实现
    如何理解递归?
    继承泛型类
  • 原文地址:https://www.cnblogs.com/blueskybcl/p/1719171.html
Copyright © 2020-2023  润新知