
имеется файл (типизованный). В нем находятся записи (все одинаковой длины). Длина известна 562 байта.
Записи содержат в себе поля с данными разных типов.
Тип такой:
Public Type AreaRecord
Index As Long
StructLen As Long
Stattus As Long
Description As String * 129
Echotag As String * 101
Filename As String * 128
LastRead As Long
Hheader As Long
Hmessage As Long
AKA As String * 21
Uplink As String * 31
Group As String * 11
PurgeAgeCreate As Integer
PurgeAgeRecipt As Integer
PurgeMaxNum As Integer
PurgeFlagCreate As Integer
PurgeFlagAgeRecipt As Integer
PurgeFlagNrmails As Integer
NumberOfMails As Integer
NumberOfAlreadyRead As Integer
LocalMail As Long
AdditionalDays As Integer
AreaCreationDate As Long
NoName As String * 68
NextAreaIndex As Long
End Type
С описанием разобрались. Теперь я хочу открыть этот файл на чтение и загнать эти записи в массив.
Массив я объявляю так:
arrAreas() as AreaRecord
Объявляю промежуточную переменную
AreaRec as AreaRecord
Объявляю переменные
RecNum, i as Integer
AreasFile, fil as Variant
После получения доступа к файлу, я узнаю его размер и делю его на 562.
Таким образом я узнаю сколько записей в файле.
Переопределяю размер массива и открываю файл на чтение
AreasFile = FreeFile
Set fil = fso.GetFile("C:\user\work\msgbase\areas.wwd")
RecNum = fil.Size / 562
ReDim arrAreas(RecNum)
Open fil For Random As #AreasFile Len = 562
For i = 1 To RecNum
Get #AreasFile,i, AreaRec
arrAreas(i) = AreaRec
'Я загоняю поля Echotag записей в комбобокс
ConfList.AddItem AreaRec.Echotag
Next
После этого я могу обращаться к элементам массива.
и при выборе из списка вывожу соответствующие данные на форму
Но...
при выводе данных на форму в Label'ы поля типа String выводятся нормально. А вот вместо данных содержащихся в полях других типов (Long, Integer) я вижу одни нули.
Подскажите плиз, что я не правильно делаю?
