[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: server2009, Сергей  
Форум » VB6 и всё с ним связанное » VB6 ДЛЯ НОВИЧКОВ » Чтение бинарных файлов
Чтение бинарных файлов
mltДата: Четверг, 22.12.2011, 22:53 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
Нужна помощь новичку в программировании. Мне необходимо считать двоичный файл размером около 100кБ. Реализовал вот так:
Dim nFile As Integer
Dim sPath As String
Dim sFileName As String
Dim bTemp(103000) As Byte
Dim lFileSize As Long
Open sPath & sFileName For Binary As #nFile
Get #nFile, , bTemp
Close #nFile
Далее массив btemp необходимо считать и присвоить значения массиву переменной пользовательского типа, например такой:
Private Type Table
cdr_type As Integer
cdr_size As Integer
cdr_index As Long
call_id As Long
End Type
Структура бинарника известна, вопрос заключается в том как определенные 4 байта присвоить cdr_index (4 байта это индекс записи и в моем массиве должно быть число)
 
server2009Дата: Среда, 26.09.2018, 19:02 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 18
Репутация: 0
Статус: Offline
Можно изначально читать различными диапазонами:

Код
КодReDim bytes(0)
Get file_num, , bytes
Form1.Print StrConv(bytes, vbUnicode)

ReDim bytes(1)
Get file_num, , bytes
Form1.Print StrConv(bytes, vbUnicode)

А можно выделять диапазоны из общего массива данных:
Код
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, source As Any, ByVal bytes As Long)

Dim n As Integer
CopyMemory n, bytes(0), 4
код выше читает 4 байта с 0 позиции из массива bytes
 
Форум » VB6 и всё с ним связанное » VB6 ДЛЯ НОВИЧКОВ » Чтение бинарных файлов
  • Страница 1 из 1
  • 1
Поиск: