易截截图软件、单文件、免安装、纯绿色、仅160KB

重拾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


相关文档:

获得VB listbox 选中项目(多项)的一个好方法

传统方法是遍历一遍
如果listbox 项目过多
明显速度不行
好方法是通过sendmessge发消息给listbox让他把选中项目直接传到参数数组中
You can use the SendMessage() API function instead.
As
you probably know, this function lets you send a message to one or more
windows. The declaration statement conforms ......

VB中filesystemobject对象实现文件存取方法

最简单的方法是使用filesystemobject对象。而它并非VB内置对象,
需引用才可以使用。
1.filesystemObject对象引用
“工程/引用/microsoft scription Runtime”
 在对象浏览器窗口中选“scripting”模块,看到增了许多对象,
drive filesystemobject    textstream &nbs ......

VB中删除数组重复元素

Option Explicit
Function Delete3(Arr As Variant) As Variant
Dim i As Integer
For i = LBound(Arr) To UBound(Arr)
If i > UBound(Arr) Then Exit For
If Arr(i) = 3 Then
Do
Dim j As Integer
For j = i To UBound(Arr) - 1
......

Developer Support Languages VC++, C# and VB.NET


Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues 
I am back with some more PInvoke Stuff.  Recently I was working on a PInvoke issue which I found interesting ......

VB逆向工程实战演习

没壳,没有Command Button,所有的内容都在Form_Load里。用VBDE查看,Form_Load在00406A90,打开W32dsm,载入Casino轮盘智能机器人,查找00406A90,反汇编代码如下:
Quote:
:00406A90 55                   &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号