home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbstruct.zip / DBDATA.PF3 < prev    next >
Text File  |  1990-12-06  |  2KB  |  87 lines

  1.  
  2. Global   FieldNames[100]
  3. Global   FieldTypes[100]
  4. Global   FieldLengths[100]
  5.  
  6. Global DbFields()
  7. Global FileName
  8.  
  9. FileName = Upper(Ask("Enter FileName:"))
  10. quiet off
  11. DbFields()
  12.  
  13. Function DbFields()
  14.  Local NumOfFields Ctr
  15.  Local BinHeader BinNumOfFields BinDummy
  16.  Local  BinFieldLength   BinFieldOffset   BinFieldType   BinFieldName
  17.  Local  FieldLength   FieldOffset   FieldType   FieldName
  18.  Local mydata BinData locat
  19.  Local BinRecNum
  20.  Local Recs[4]
  21.  Local TotalRecs
  22.  
  23.   BUFFER BinRecNum         SIZE 1
  24.   BUFFER BinHeader         SIZE 2080
  25.   BUFFER BinNumOfFields    SIZE 2
  26.   BUFFER BinDummy          SIZE 22
  27.   BUFFER BinData           SIZE 22
  28.  
  29.   BUFFER BinFieldLength    SIZE 2
  30.   BUFFER BinFieldOffset    Size 2
  31.   BUFFER BinFieldType      Size 2
  32.  
  33.   BUFFER BinFieldName      Size 22
  34.  
  35. clear recs[]
  36.  
  37. Fopen FileName as 1
  38.  
  39.     Fseek 1 2064
  40.     For Ctr = 1 to 4
  41.       Fread 1 Binary 1 Into BinRecNum
  42.       UnPack BinRecNum "B" Recs[Ctr]
  43.     End For
  44.     TotalRecs = Recs[1] + (256*Recs[2]) + (256^2*Recs[3]) + (256^3*Recs[4])
  45.     Fseek 1 2080
  46.     Fread 1 Binary 2 Into BinNumOfFields
  47.     UnPack BinNumOfFields "B" NumOfFields
  48.     Fread 1 Binary 22 Into BinDummy
  49.  
  50. For Ctr = 1 to NumOfFields
  51.     Fread 1 Binary 2 Into BinFieldLength
  52.     UnPack BinFieldLength "B" FieldLengths[Ctr]
  53.     Fread 1 Binary 2 Into BinFieldOffset
  54.     UnPack BinFieldLength "B" FieldOffset
  55.     Fread 1 Binary 2 Into BinFieldType
  56.     UnPack BinFieldType "B" FieldTypes[Ctr]
  57.     Fread 1 Binary 22 Into BinFieldName
  58.     UnPack BinFieldName "S" FieldNames[Ctr]
  59. '    All = All & fieldname
  60. End For
  61.  
  62.   locat = (2104+(98*NumOfFields))
  63.   Fseek 1 locat+4+NumOfFields
  64. For Ctr = 1 to TotalRecs
  65.   Fread 1 Binary FieldLengths[ctr] Into BinData
  66.   UnPack BinData "C" MyData
  67.   message chr(mydata)
  68. '  Fread 1 Binary FieldLengths[2] Into BinData
  69. '  UnPack BinData "B" MyData
  70. '  Fread 1 Binary 6 Into BinData
  71. '  message FieldLengths[Ctr]
  72.  
  73. End For
  74.  
  75. fclose 1
  76.  
  77. End Function
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.