| 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; |
| 742 |
|
btn_abortok.Default := True; |
| 743 |
|
|
| 744 |
|
converting := False; |
| 745 |
+ |
TAccess_OniArchive(Connection).UnloadWhenUnused := True; |
| 746 |
|
|
| 747 |
|
Query.Close; |
| 748 |
|
Query.Free; |