以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自己封装了一个进制转换函数,不知道哪里写错了,一直运行不了  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117749)

--  作者:夜散点炽
--  发布时间:2018/4/18 16:47:00
--  自己封装了一个进制转换函数,不知道哪里写错了,一直运行不了
一直报编译错误
Dim array As String= "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

Public Function getString(ByVal number As Long ,ByVal n As Integer) As StringBuilder
If number > n Then
    Return getString(number / n, n).Append(array.Chars(number Mod n))
Else
    Return new StringBuilder(array.Chars(number))
End If
End Function
‘试调用时间毫秒值转62进制
Output.Show(getString((Date.now - #1/1/1970#).TotalMilliseconds ,62).ToString)
[此贴子已经被作者于2018/4/18 16:51:34编辑过]

--  作者:有点甜
--  发布时间:2018/4/18 16:56:00
--  

Public Function getString(ByVal value As Decimal) As String
Dim keys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim exponent = keys.Length
Dim result As String = String.Empty
Do
    Dim index As Decimal = value Mod exponent
    result = keys(CInt(index)) & result
    value =(value - index) / exponent
Loop While value > 0

Return result
End Function

 

调用

 

Output.Show(getString((Date.now - #1/1/1970#).TotalMilliseconds))


--  作者:夜散点炽
--  发布时间:2018/4/18 17:02:00
--  
还是报编译错误:语句不能出现在方法体内。假定为方法末尾
错误代码:Public Function getString(ByVal value As Decimal) As String

--  作者:有点甜
--  发布时间:2018/4/18 18:24:00
--  

定义代码写在【全局代码】

 

http://www.foxtable.com/webhelp/scr/1842.htm