Public Function ReadLIGH(ByVal FileHandle As Integer, ByRef NextRecordType As String) As ES_LIGH
With ReadLIGH
Get FileHandle, , .Size
Get FileHandle, , .UnknownHeader1
Get FileHandle, , .Flag
Get FileHandle, , NextRecordType
ReadNext:
Select Case NextRecordType
Case "NAME"
Get FileHandle, , .NAMESize
.NAMEValue = Space$(.NAMESize - 1)
Get FileHandle, , .NAMEValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "MODL"
Get FileHandle, , .MODLSize
.MODLValue = Space$(.MODLSize - 1)
Get FileHandle, , .MODLValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "FNAM"
Get FileHandle, , .FNAMSize
.FNAMValue = Space$(.FNAMSize - 1)
Get FileHandle, , .FNAMValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "ITEX"
Get FileHandle, , .ITEXSize
.ITEXValue = Space$(.ITEXSize - 1)
Get FileHandle, , .ITEXValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "SCRI"
Get FileHandle, , .SCRISize
.SCRIValue = Space$(.SCRISize - 1)
Get FileHandle, , .SCRIValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "SNAM"
Get FileHandle, , .SNAMSize
.SNAMValue = Space$(.SNAMSize - 1)
Get FileHandle, , .SNAMValue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "LHDT"
Get FileHandle, , .LHDTSize
Get FileHandle, , .LHDTWeight
Get FileHandle, , .LHDTValue
Get FileHandle, , .LHDTTime
Get FileHandle, , .LHDTRadius
Get FileHandle, , .LHDTRed
Get FileHandle, , .LHDTGreen
Get FileHandle, , .LHDTBlue
Seek FileHandle, Seek(FileHandle) + 1
Get FileHandle, , .LHDTFlags
Get FileHandle, , NextRecordType
GoTo ReadNext
Case "DELE"
'Record Deleted. Skip the data.
Seek FileHandle, Seek(FileHandle) + 8
Get FileHandle, , NextRecordType
GoTo ReadNext
End Select
End With
End Function