今天弄程序的时候,忽然注意到系统生成的文件名都好长(大概要100个字符.),如果只是为了避免名称重复,只要按时间取年月日时分秒+微秒,一般应该没有问题了,凑吧凑吧,也只能有20位左右,再为了区别,可以在前面加几个固定字符,也不会太长。

俺这人啥都好,就是爱钻研,想到这里,就不由得想这字符能不能再压缩下? --答案非常肯定。

怎么压缩呢?我知道有一个方法就是把时间(10进制表示的)转换为更高进制一般16进制比较常用了。但是又想到日期最大是31的,16进制很亏地说,要浪费一位。那么这个31,最适合的应该是32进制了。怎么转换呢?那么多字符(10个数字+26个英文字符)肯定够了。于是动起手来。

deHex=j

测试代码从1-100转换为32进制,再转换回10进制.暂时没有问题.

至于思路,我就不多说了,函数也很简单,这里说一点小插曲,关于vbs的整除运算符。

但测试发现有偏差,怎么回事呢?

查了下手册有一句 在除法操作前,数值表达式四舍五入为 Byte、Integer 或 Long 子类型表达式。

因为log的结果一般是有小数的,这里作整除,会先把两个参与运算的值作四舍五入,再作除法运算,再将结果取整,所以,这里得到的结果就不是我想要的了。

所以,归结一下,有些看似方便的东西,不能乱用的。

只有12~3位了,哈哈,还可以吧?