home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
dbstruct.zip
/
DBDOC1.TXT
< prev
Wrap
Text File
|
1990-12-06
|
3KB
|
116 lines
Description of SmartwareII .DB files.
-------------------------------------
BYTES DESCRIPTION
------------- ------------------------------------------------------
2064 - 2067 Number Of Records. X1+(256*X2)+(256^2*X3)+(256^3*X4).
2080 - 2081 Number Of fields. X1+(256*X2).
For i = 1 to Number Of Fields. (Starting at 2104)
2 Bytes Field Length. X1+(256*X2).
2 Bytes Field Offset X1+(256*X2).
1 Bytes Field Type
1=Inverted
2=Alpha
3=Numeric
4=Counter
5=Date
6=Time
1 Bytes Key Field
0=Non-KeyField.
1=KeyField.
22 Bytes Field Name X1+(256*X2).
End For
(2104+
(98*NumOfFields)) Start reading data.
----------------------------------------------------------------------------
Global FieldNames[100]
Global FieldTypes[100]
Global FieldLengths[100]
Global DbFields()
Global FileName
FileName = Upper(Ask("Enter FileName:"))
quiet off
DbFields()
Function DbFields()
Local NumOfFields Ctr
Local BinHeader BinNumOfFields BinDummy
Local BinFieldLength BinFieldOffset BinFieldType BinFieldName
Local FieldLength FieldOffset FieldType FieldName
Local mydata BinData locat
Local BinRecNum
Local Recs[4]
Local TotalRecs
BUFFER BinRecNum SIZE 1
BUFFER BinHeader SIZE 2080
BUFFER BinNumOfFields SIZE 2
BUFFER BinDummy SIZE 22
BUFFER BinData SIZE 22
BUFFER BinFieldLength SIZE 2
BUFFER BinFieldOffset Size 2
BUFFER BinFieldType Size 2
BUFFER BinFieldName Size 22
clear recs[]
Fopen FileName as 1
Fseek 1 2064
For Ctr = 1 to 4
Fread 1 Binary 1 Into BinRecNum
UnPack BinRecNum "B" Recs[Ctr]
End For
TotalRecs = Recs[1] + (256*Recs[2]) + (256^2*Recs[3]) + (256^3*Recs[4])
Fseek 1 2080
Fread 1 Binary 2 Into BinNumOfFields
UnPack BinNumOfFields "B" NumOfFields
Fread 1 Binary 22 Into BinDummy
For Ctr = 1 to NumOfFields
Fread 1 Binary 2 Into BinFieldLength
UnPack BinFieldLength "B" FieldLengths[Ctr]
Fread 1 Binary 2 Into BinFieldOffset
UnPack BinFieldLength "B" FieldOffset
Fread 1 Binary 2 Into BinFieldType
UnPack BinFieldType "B" FieldTypes[Ctr]
Fread 1 Binary 22 Into BinFieldName
UnPack BinFieldName "S" FieldNames[Ctr]
' All = All & fieldname
End For
locat = (2104+(98*NumOfFields))
Fseek 1 locat+4+NumOfFields
For Ctr = 1 to TotalRecs
Fread 1 Binary FieldLengths[1] Into BinData
UnPack BinData "S" MyData
message mydata
Fread 1 Binary FieldLengths[2] Into BinData
UnPack BinData "B" MyData
Fread 1 Binary 6 Into BinData
' message FieldLengths[Ctr]
End For
fclose 1
End Function