| 238 | 
   | 
   for i := 0 to High(DatHeader.OSIdent) do | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 239 | 
   | 
     case Connection.DataOS of | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 240 | 
   | 
       DOS_WIN: DatHeader.OSIdent[i] := HeaderOSIdentWin[i]; | 
 
 
 
 
 
 
 
 
 
 
 
 | 241 | 
 < | 
       DOS_MAC: DatHeader.OSIdent[i] := HeaderOSIdentMac[i]; | 
 
 
 
 
 
 
 
 
 
 | 241 | 
 > | 
       DOS_MAC, DOS_WINDEMO: DatHeader.OSIdent[i] := HeaderOSIdentMac[i]; | 
 
 
 
 
 
 
 
 
 
 
 
 | 242 | 
   | 
       DOS_MACBETA: DatHeader.OSIdent[i] := HeaderOSIdentMacBeta[i]; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 243 | 
   | 
     end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 244 | 
   | 
   for i := 0 to High(DatHeader.GlobalIdent) do | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 279 | 
   | 
     begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 280 | 
   | 
       case Connection.DataOS of | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 281 | 
   | 
         DOS_WIN:     ExtensionsHeader[i].Ident := FileTypes[j].IdentWin; | 
 
 
 
 
 
 
 
 
 
 
 
 | 282 | 
 < | 
         DOS_WINDEMO: ExtensionsHeader[i].Ident := FileTypes[j].IdentMac; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 282 | 
 > | 
         DOS_WINDEMO: | 
 
 
 
 
 
 | 283 | 
 > | 
             if FileTypes[j].Extension = 'SNDD' then | 
 
 
 
 
 
 | 284 | 
 > | 
               ExtensionsHeader[i].Ident := FileTypes[j].IdentWin | 
 
 
 
 
 
 | 285 | 
 > | 
             else | 
 
 
 
 
 
 | 286 | 
 > | 
               ExtensionsHeader[i].Ident := FileTypes[j].IdentMac; | 
 
 
 
 
 
 
 
 
 
 
 
 | 287 | 
   | 
         DOS_MAC:     ExtensionsHeader[i].Ident := FileTypes[j].IdentMac; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 288 | 
   | 
         DOS_MACBETA: ExtensionsHeader[i].Ident := FileTypes[j].IdentMac; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 289 | 
   | 
       end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 495 | 
   | 
     begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 496 | 
   | 
       DeleteFile(target); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 497 | 
   | 
     end; | 
 
 
 
 
 
 
 
 
 
 
 
 | 498 | 
 < | 
 end; | 
 
 
 
 
 
 
 
 
 
 | 498 | 
 > | 
   end; | 
 
 
 
 
 
 
 
 
 
 
 
 | 499 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 500 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 501 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 593 | 
   | 
   Query.SQL.Text := 'CREATE INDEX idtargetid ON linkmap (target_id);'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 594 | 
   | 
   Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 595 | 
   | 
   Query.SQL.Text := | 
 
 
 
 
 
 
 
 
 
 
 
 | 596 | 
 < | 
     'CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, ' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 597 | 
 < | 
     'src_link_offset INTEGER, sep BOOLEAN, size INTEGER, ' + | 
 
 
 
 
 
 
 
 
 
 | 596 | 
 > | 
     'CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, name STRING(32), src_id INTEGER, ' + | 
 
 
 
 
 
 | 597 | 
 > | 
     'src_link_offset INTEGER, sep BOOLEAN, type STRING(8), size INTEGER, ' + | 
 
 
 
 
 
 
 
 
 
 
 
 | 598 | 
   | 
     'data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib);'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 599 | 
   | 
   //    Query.SQL.Text:='CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, size INTEGER, data BLOB BlobCompressionAlgorithm None );'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 600 | 
   | 
   Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 601 | 
   | 
   Query.SQL.Text := 'CREATE INDEX idsrcid ON rawmap (src_id);'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 602 | 
   | 
   Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 | 603 | 
 + | 
   Query.SQL.Text := 'CREATE INDEX idtype ON rawmap (type);'; | 
 
 
 
 
 
 
 
 
 | 604 | 
 + | 
   Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 605 | 
   | 
   Query.SQL.Text := | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 606 | 
   | 
     'CREATE TABLE datfiles  ( id INTEGER PRIMARY KEY, extension CHAR(4), ' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 607 | 
   | 
     'name STRING(128), contenttype INTEGER, size INTEGER, ' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 668 | 
   | 
             Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, tempdata); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 669 | 
   | 
             mimecoder      := TStringFormat_MIME64.Create; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 670 | 
   | 
             Query.SQL.Text := | 
 
 
 
 
 
 
 
 
 
 
 
 | 671 | 
 < | 
               'INSERT INTO rawmap (src_id,src_link_offset,sep,size,data) VALUES (' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 671 | 
 > | 
               'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size,data) VALUES (' + | 
 
 
 
 
 
 | 672 | 
 > | 
               '"' + RawLinks[i].Name + '", ' + | 
 
 
 
 
 
 
 
 
 
 
 
 | 673 | 
   | 
               IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ',' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 674 | 
   | 
               BoolToStr(RawLinks[i].LocSep) + ', ' + | 
 
 
 
 
 
 
 
 
 | 675 | 
 + | 
               '"' + RawLinks[i].RawType + '", ' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 676 | 
   | 
               IntToStr(RawLinks[i].RawSize) + ', ' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 677 | 
   | 
               'MimeToBin("' + MimeCoder.StrTo(@tempdata[0], RawLinks[i].RawSize) + '") );'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 678 | 
   | 
             Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 681 | 
   | 
           else | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 682 | 
   | 
           begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 683 | 
   | 
             Query.SQL.Text := | 
 
 
 
 
 
 
 
 
 
 
 
 | 684 | 
 < | 
               'INSERT INTO rawmap (src_id,src_link_offset,sep,size) VALUES (' + | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 684 | 
 > | 
               'INSERT INTO rawmap (name,src_id,src_link_offset,sep,type,size) VALUES (' + | 
 
 
 
 
 
 | 685 | 
 > | 
               '"' + RawLinks[i].Name + '", ' + | 
 
 
 
 
 
 
 
 
 
 
 
 | 686 | 
   | 
               IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ', ' + | 
 
 
 
 
 
 
 
 
 
 
 
 | 687 | 
 < | 
               BoolToStr(RawLinks[i].LocSep) + ', 0);'; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 687 | 
 > | 
               BoolToStr(RawLinks[i].LocSep) + ', ' + | 
 
 
 
 
 
 | 688 | 
 > | 
               '"' + RawLinks[i].RawType + '", ' + | 
 
 
 
 
 
 | 689 | 
 > | 
               '0);'; | 
 
 
 
 
 
 
 
 
 
 
 
 | 690 | 
   | 
             Query.ExecSQL; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 691 | 
   | 
           end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 692 | 
   | 
         end; |