存储器的数据读写

向存储器写数据

UKey有一个WriteStr函数,用于向存取器写入数据,语法为:

WriteStr(Index,Content,Password1,Password2)

Index:      写入位置,因为存储器只有400个字节,所以Index的范围是0到399
Content:   写入内容
Password1: 第一组写入密码
Password1: 第二组写入密码

如果写入成功,则返回True,否则返回False。

示例:

If UKey.Start() Then
    If
UKey.WriteStr(0,"联想ThinkPad","46DFA0D7","C292C1DB") = True
        MessageBox.Show(
"成功写入数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If

上述代码中的"46DFA0D7"和"C292C1DB"是我们在上一节中设置好的写密码。

我们知道,存储器合计只有400个字节,通常我们会将存储器分成若干区域,例如0到49保存授权用户名称,50到59保存启动次数,60到100保存权限信息等等。
所以再向存储器写入数据的时候,通常需要计算写入内容的长度,在这里每个汉字(包括全角的字母和符号)等于两个字节,普通字符为1个字节,例如"联想ThinkPad"的长度为12个字节。
UKey有一个函数LenStrA,用计算字符串的字节长度。

示例:

If UKey.Start() Then
    Dim
Val As String = "联想Lenovo"
    If
UKey.LenStrA(Val) > 50 Then
       
MessageBox.Show("用户名长度不能超过50个字节!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        If
UKey.WriteStr(0,val,"46DFA0D7","C292C1DB") = True
           
MessageBox.Show("成功写入数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
    End If
End If

需要注意的是,由于存储器只有400个字节,所以起始位置和写入内容的长度之和,不能超过400,否则将无法写入。

从存储器读数据

UKey有一个ReadStr函数,用于从存取器读取数据,语法为:

ReadStr(Index,Length)

Index:开始读取的位置
Length:读取长度

如果读取成功,则返回读取的内容,否则返回空值。
需要注意的是,由于存储器只有400个字节,所以Index和Length两个参数之和,不能超过400,否则将读不到数据。

示例:

If UKey.Start() Then
    Dim
val As String
   
val = UKey.ReadStr(0,50).Trim()
    If
val > "" Then
       
MessageBox.Show("授权用户: " & val ,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
End If


本页地址:http://www.foxtable.com/webhelp/topics/2666.htm