重拾VB之三,二进制文件篇
重拾VB之三,二进制文件篇
PMP 关劲松
鬼使神差,09年12月入职的公司仍使用VB开发软件,虽然并非专职开发,但也不得不在事隔4年之后,重新使用VB。
读取、修改二进制文件仍是大部分编程语言的基本开发技能。可以提高处理文件效率,主要应用在通信、交换数据等方面。
'open filename$ for binary #filenumber'以二进制方式建立或者打开文件,然后再用
'Put #FileNumber, postion, inputdata '写入数据inputdata,
'Get #FileNumber, postion, outputdata '读出数据到outputvarible
#FileNumber, 打开的二进制文件流。
postion, 文件中的数据位置。
inputdata 输入数据缓冲。可以使用数组或字符串。
outputdata 输出数据缓冲。可以使用数组或字符串。
代码
Sub read()
Dim strFileName1, s As String
Dim aryContent(20) As Byte
strFileName1 = App.Path & "\test.hex"
Open strFileName1 For Binary As 1
Get #1, 120, aryContent() '从文件中120字节处取出长度20的数据到数组中。
msgbox(aryContent()) '以16进制的方式显示。
s = Space(20) '重定义字符串长度。
Get #1, 2514, s ' 从文件中120字节处取出长度20的数据到字符串中。
msgbox(s) '以字符的方式显示。
Close 1
End Sub
Sub write()
Dim strFileName1, s As String
Dim aryContent(20) As Byte
strFileName1 = App.Path & "\test.hex"
Open strFileName1 For Binary As 1
s = Space(20)
s = "teststtsestssts33333"
Put #1, 2486, s '在文件中2486字节处写入长度20的字符串数据。
Debug.Print s
aryContent(0) = &H4F '初始化数组
aryContent(1) = &H33
aryContent(2) = &HA1
aryContent(3) = &H42
aryContent(4) = &H8D
Put #1, 2514, aryContent() ''在文件中2514字节处写入长度20的十六进制数组数据。
Debug.Print aryContent()
Close 1
End Sub
相关文档:
虽然WindowsXP的界面非常华丽。但是令人遗憾的是,我们用VB写的程序除了菜单和窗口的外观是XP风格外,其他控件还是一如既往的是普通风格。我想,有的程序在XP下有XP的风格,VB也一定有办法实现XP的风格。后来笔者在网上看到一篇介绍XML的文章,又在网上找到了一篇实现XP风格的文章,经过自己的实践,终于找到了VB程序 ......
重拾VB之一,日志编
PMP 关劲松
鬼使神差,09年12月入职的公司仍使用VB开发软件,虽然并非专职开发,但也不得不在事隔4年之后,重新使用VB进行开发。
首先是为自动化测试软件增加日志功能,将每天的数据记录到一个log文件。我为了方便使用了FSO对象, ......
VB与Matlab混合编程有多种方式,这里讨论Matlab将M文件编译成com组件共VB调用的方式。
Matlab版本:Matlab 7.7. 0.471 R2008b
VB版本:VB 6.0 & VB 2008
首先写好完成某个功能的m文件,比如在m文件中写入如下函数
function [returns,stderr]=GetReturns(prices)
returns=price2ret(prices)&nbs ......
'**************************读图片文件**************************************
Sub GetPicfromDB(cn As ADODB.Connection)
On Error Resume Next
Dim ......