VB6各数据类型序列化和反序列化

本文介绍了一个使用Visual Basic实现的基本序列化和反序列化的示例,包括基本数据类型的序列化、反序列化以及数组的序列化过程。通过两个按钮触发序列化和反序列化操作,将数据写入文件及从文件读取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Private Sub Command1_Click()

'序列化
Dim var1 As Byte
Dim var2 As Boolean
Dim var3 As Integer
Dim var4 As Long
Dim var5 As Single
Dim var6 As Double
Dim var7 As String

var1 = CByte(Text1.Text)
var2 = CBool(Text2.Text)
var3 = CInt(Text3.Text)
var4 = CLng(Text4.Text)
var5 = CSng(Text5.Text)
var6 = CDbl(Text6.Text)
var7 = Text7.Text

Open "c:"aaa.txt" For Binary As #1
Put #1, , var1
Put #1, , var2
Put #1, , var3
Put #1, , var4
Put #1, , var5
Put #1, , var6
Put #1, , var7
Close #1
End Sub

 

Private Sub Command2_Click()

'反序列化
Dim var1 As Byte   '1
Dim var2 As Boolean '2
Dim var3 As Integer '2
Dim var4 As Long '4
Dim var5 As Single '4
Dim var6 As Double '8
Dim var7 As String '变长

Open "c:"aaa.txt" For Binary As #1
Get #1, , var1
Get #1, , var2
Get #1, , var3
Get #1, , var4
Get #1, , var5
Get #1, , var6
var7 = Space(LOF(1) - 21) '变长字符串长度=文件总长度-前面各类型所占长度
Get #1, , var7
Close #1

Label1.Caption = CStr(var1)
Label2.Caption = CStr(var2)
Label3.Caption = CStr(var3)
Label4.Caption = CStr(var4)
Label5.Caption = CStr(var5)
Label6.Caption = CStr(var6)
Label7.Caption = CStr(var7)

End Sub

 

Private Sub Command3_Click()
    '数组序列化和反序列化
    Dim arr()     As Single
    Dim arr1()    As Single
    Dim i     As Long
    Dim j     As Long
    Dim h As Long
    Dim l As Long
    h = 1
    l = 2
    ReDim arr(h, l)
    For i = 0 To l
      For j = 0 To h
            arr(j, i) = 100.1
      Next j
    Next i
   
    Open "c:"aaa.txt" For Binary As #1
    Put #1, , arr
    Close #1
     
    ReDim arr1(h, l)
    Open "c:"aaa.txt" For Binary As #1
    Get #1, , arr1
    Close #1
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzhdim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值