| 41 | 
   | 
     procedure LoadDatFilePart(FileID, Offset, Size: Integer; var Target: TByteData); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 42 | 
   | 
     procedure LoadDatFilePart(FileID, Offset, Size: Integer; Target: Pointer); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 43 | 
   | 
     procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TStream); overload; virtual; abstract; | 
 
 
 
 
 
 
 
 
 
 | 44 | 
 – | 
     procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TByteData); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 | 
   | 
     procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: Pointer); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 45 | 
   | 
  | 
 
 
 
 
 
 
 
 
 | 46 | 
 + | 
     function GetDatLinks(FileID: Integer): TDatLinkList; virtual; abstract; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 47 | 
   | 
     function GetRawList(FileID: Integer): TRawDataList; virtual; abstract; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 48 | 
   | 
     function GetRawInfo(FileID, DatOffset: Integer): TRawDataInfo; virtual; abstract; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 49 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 55 | 
   | 
     procedure LoadRawFilePart(FileID, DatOffset, Offset, Size: Integer; var Target: TByteData); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 56 | 
   | 
     procedure LoadRawFilePart(FileID, DatOffset, Offset, Size: Integer; Target: Pointer); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 57 | 
   | 
     procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TStream); overload; virtual; abstract; | 
 
 
 
 
 
 
 
 
 
 | 58 | 
 – | 
     procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TByteData); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 58 | 
   | 
     procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: Pointer); overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 59 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 60 | 
 < | 
     function AppendRawFile(LocSep: Boolean; Size: Integer; Src: TStream): Integer; overload; virtual; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 61 | 
 < | 
     function AppendRawFile(LocSep: Boolean; Size: Integer; Src: TByteData): Integer; overload; | 
 
 
 
 
 
 
 
 
 
 | 60 | 
 > | 
     function AppendRawFile(LocSep: Boolean; Src: TStream): Integer; overload; virtual; | 
 
 
 
 
 
 | 61 | 
 > | 
     function AppendRawFile(LocSep: Boolean; Src: TByteData): Integer; overload; | 
 
 
 
 
 
 
 
 
 
 
 
 | 62 | 
   | 
     function AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; overload; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 63 | 
   | 
   published | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 64 | 
   | 
   end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 171 | 
   | 
   end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 172 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 173 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 175 | 
 – | 
 procedure TDataAccess.UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TByteData); | 
 
 
 
 
 
 
 
 
 
 | 176 | 
 – | 
 var | 
 
 
 
 
 
 
 
 
 
 | 177 | 
 – | 
   data: TStream; | 
 
 
 
 
 
 
 
 
 
 | 178 | 
 – | 
 begin | 
 
 
 
 
 
 
 
 
 
 | 179 | 
 – | 
   if fileid < GetFileCount then | 
 
 
 
 
 
 
 
 
 
 | 180 | 
 – | 
   begin | 
 
 
 
 
 
 
 
 
 
 | 181 | 
 – | 
     data := TMemoryStream.Create; | 
 
 
 
 
 
 
 
 
 
 | 182 | 
 – | 
     data.Write(Src[0], Size); | 
 
 
 
 
 
 
 
 
 
 | 183 | 
 – | 
     data.Seek(0, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 | 184 | 
 – | 
     UpdateDatFilePart(FileID, offset, size, data); | 
 
 
 
 
 
 
 
 
 
 | 185 | 
 – | 
     data.Free; | 
 
 
 
 
 
 
 
 
 
 | 186 | 
 – | 
   end; | 
 
 
 
 
 
 
 
 
 
 | 187 | 
 – | 
 end; | 
 
 
 
 
 
 
 
 
 
 | 188 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 174 | 
   | 
 procedure TDataAccess.UpdateDatFilePart(FileID, Offset, Size: Integer; Src: Pointer); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 175 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 176 | 
   | 
   data: TStream; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 244 | 
   | 
   end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 245 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 246 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 262 | 
 – | 
 procedure TDataAccess.UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TByteData); | 
 
 
 
 
 
 
 
 
 
 | 263 | 
 – | 
 var | 
 
 
 
 
 
 
 
 
 
 | 264 | 
 – | 
   data: TStream; | 
 
 
 
 
 
 
 
 
 
 | 265 | 
 – | 
 begin | 
 
 
 
 
 
 
 
 
 
 | 266 | 
 – | 
   if fileid < GetFileCount then | 
 
 
 
 
 
 
 
 
 
 | 267 | 
 – | 
   begin | 
 
 
 
 
 
 
 
 
 
 | 268 | 
 – | 
     data := TMemoryStream.Create; | 
 
 
 
 
 
 
 
 
 
 | 269 | 
 – | 
     data.Write(Src[0], Size); | 
 
 
 
 
 
 
 
 
 
 | 270 | 
 – | 
     data.Seek(0, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 | 271 | 
 – | 
     UpdateRawFilePart(FileID, DatOffset, Offset, Size, data); | 
 
 
 
 
 
 
 
 
 
 | 272 | 
 – | 
     data.Free; | 
 
 
 
 
 
 
 
 
 
 | 273 | 
 – | 
   end; | 
 
 
 
 
 
 
 
 
 
 | 274 | 
 – | 
 end; | 
 
 
 
 
 
 
 
 
 
 | 275 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 247 | 
   | 
 procedure TDataAccess.UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: Pointer); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 248 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 249 | 
   | 
   data: TStream; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 259 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 260 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 261 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 262 | 
 < | 
 function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: TStream): Integer; | 
 
 
 
 
 
 
 
 
 
 | 262 | 
 > | 
 function TDataAccess.AppendRawFile(LocSep: Boolean; Src: TStream): Integer; | 
 
 
 
 
 
 
 
 
 
 
 
 | 263 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 264 | 
   | 
   raise ENotImplemented.Create('ERROR: AppendRawFile not implemented here!!!'); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 265 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 266 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 267 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 268 | 
 < | 
 function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: TByteData): Integer; | 
 
 
 
 
 
 
 
 
 
 | 268 | 
 > | 
 function TDataAccess.AppendRawFile(LocSep: Boolean; Src: TByteData): Integer; | 
 
 
 
 
 
 
 
 
 
 
 
 | 269 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 270 | 
   | 
   data: TStream; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 271 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 272 | 
   | 
   data := TMemoryStream.Create; | 
 
 
 
 
 
 
 
 
 
 
 
 | 273 | 
 < | 
   data.Write(Src[0], Size); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 274 | 
 < | 
   AppendRawFile(LocSep, Size, data); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 273 | 
 > | 
   data.Write(Src[0], Length(Src)); | 
 
 
 
 
 
 | 274 | 
 > | 
   data.Seek(0, soFromBeginning); | 
 
 
 
 
 
 | 275 | 
 > | 
   Result := AppendRawFile(LocSep, data); | 
 
 
 
 
 
 
 
 
 
 
 
 | 276 | 
   | 
   data.Free; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 277 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 278 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 282 | 
   | 
 begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 283 | 
   | 
   data := TMemoryStream.Create; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 284 | 
   | 
   data.Write(Src^, Size); | 
 
 
 
 
 
 
 
 
 
 
 
 | 285 | 
 < | 
   AppendRawFile(LocSep, Size, data); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 285 | 
 > | 
   data.Seek(0, soFromBeginning); | 
 
 
 
 
 
 | 286 | 
 > | 
   Result := AppendRawFile(LocSep, data); | 
 
 
 
 
 
 
 
 
 
 
 
 | 287 | 
   | 
   data.Free; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 288 | 
   | 
 end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 289 | 
   | 
  |