• Microsoft.VisualBasic.dll的妙用(开发中肯定会用到哦)


    前言

           做过VB开发的都知道,有一些VB里面的好的函数在.NET里面都没有,而Microsoft.VisualBasic.dll却给我们提供使用这些函数的功能(没用过VB的这些功能一样可以使用,大同小异而已)

    今天这里主要讲两个:一个是繁简转换,另一个是计算时间差,相信大家都有方法实现这两个功能,而我今天讲的却是只各需一句代码就实现这两个功能!

    功能一:繁简转换

    首先需要引用Microsoft.VisualBasic.dll,废话不多说直接上代码

    using Microsoft.VisualBasic;
    
    string str="悲梦";
    
    //简体转繁体
    str=Strings.StrConv(str, VbStrConv.TraditionalChinese, 1033);
    
    //繁体转简体
    str=Strings.StrConv(str, VbStrConv.SimplifiedChinese, 1033);

    String.StrConv 的說明:

    第一个参数是待转换的字符串;

    第二个参数是欲转换的字体的枚举值;

    第三个参数是文字转换后,最后对应的编码格式(LocaleID);

    1028 繁体中文
    1033 ASCII
    2052 简体中文
    為何不管繁体转简体还是简体转繁体我都用 1033 呢?
    首先,要先知道,有些简体中文的编码值是在繁体中文中对应不到任何字的。此时,显示的字就会是 "?" 号。
    因为 2052 的 「 国] 已经是简体字了,转换到繁体时,刚好其编码对应不到1028 的编码,因此会是问号。
    最好的方式,是以 en-US(美国) 作为编码格式。当以 en-US 作为最后的编码格式后,又遇到亚洲字时,就会以 unicode 作为储存编码格式。此时刚好与 .net 的 string 储存格式相同。这样就解决了问题!
    因此,当我们在做繁简转换时,请将第三个参数都设成 1033

    功能二:时间差计算

        相信大家都有计算两个时间的时间差,有可能是计算相差的天数、小时、分钟、秒,这些我们都可以通过一句代码来实现,先上代码

    using Microsoft.VisualBasic;
    
    //可以得到dt=50
    long dt = DateAndTime.DateDiff(DateInterval.Hour, DateTime.Now, DateTime.Now.AddHours(50));
    DateAndTime.DateDiff说明:
    第一个参数是需要得到的时间差的形式的枚举值;可以是天数,小时,分钟,秒数等

    第二个参数就是减的时间值;

    第三个参数就是被减的时间值;

    结束语

         以上两个功能看起来都很简单,但是如果不借助Microsoft.VisualBasic.dll的话实现起来还是挺麻烦的,用以上的方法实现起来既方便又准确!大家觉得好的话,推荐一下哦!

  • 相关阅读:
    callAfter 例子2
    wxpython
    python 处理excel 进程无法退出的问题
    常用电子技术网
    Emeditor 与正则表达式
    Windows程序中的字符编码
    Delphi7 无法启动 问题搞定
    2007中国发烧盘点之作《天路》发烧女声版
    一台电脑安装多个(虚拟)网卡问题
    无法删除xxx文档/文件夹:找不到指定的路径。请确定指定的路径是否正确
  • 原文地址:https://www.cnblogs.com/beimeng/p/3140680.html
Copyright © 2020-2023  润新知