| 4 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 5 | 
   | 
 uses Classes, Dialogs, SysUtils, StrUtils, Math, Data; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 7 | 
 – | 
 type | 
 
 
 
 
 
 
 
 
 
 | 8 | 
 – | 
   TExportSet = set of (DO_dat, DO_raw, DO_convert, DO_toone); | 
 
 
 
 
 
 
 
 
 
 | 9 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 | 
   | 
 function BoolToStr(bool: Boolean): String; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 8 | 
   | 
 function HexToLong(hex: String): LongWord; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 9 | 
   | 
 function Decode_Int(buffer: Tdata): LongWord; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 13 | 
   | 
 function DataToBin(Data: Tdata): String; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 14 | 
   | 
 function BinToInt(bin: String): Byte; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 15 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 19 | 
 – | 
 function ExportFile(fileid: LongWord; filename: String; settings: TExportSet; | 
 
 
 
 
 
 
 
 
 
 | 20 | 
 – | 
   path: String): Integer; | 
 
 
 
 
 
 
 
 
 
 | 21 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 | 
   | 
 function StringSmaller(string1, string2: String): Boolean; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 18 | 
   | 
 function FormatNumber(Value: LongWord; Width: Byte; leadingzeros: Char): String; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 317 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 318 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 319 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 | 326 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 | 327 | 
 – | 
 function ExportFile(fileid: LongWord; filename: String; settings: TExportSet; | 
 
 
 
 
 
 
 
 
 
 | 328 | 
 – | 
   path: String): Integer; | 
 
 
 
 
 
 
 
 
 
 | 329 | 
 – | 
 var | 
 
 
 
 
 
 
 
 
 
 | 330 | 
 – | 
   i: Byte; | 
 
 
 
 
 
 
 
 
 
 | 331 | 
 – | 
   extension: String; | 
 
 
 
 
 
 
 
 
 
 | 332 | 
 – | 
   rawlist: TRawList; | 
 
 
 
 
 
 
 
 
 
 | 333 | 
 – | 
 begin | 
 
 
 
 
 
 
 
 
 
 | 334 | 
 – | 
   Result    := export_noerror; | 
 
 
 
 
 
 
 
 
 
 | 335 | 
 – | 
   extension := RightStr(filename, 4); | 
 
 
 
 
 
 
 
 
 
 | 336 | 
 – | 
   if DO_toone in settings then | 
 
 
 
 
 
 
 
 
 
 | 337 | 
 – | 
   begin | 
 
 
 
 
 
 
 
 
 
 | 338 | 
 – | 
     ExportDatFile(fileid, path + '\' + GetWinFileName(filename)); | 
 
 
 
 
 
 
 
 
 
 | 339 | 
 – | 
   end | 
 
 
 
 
 
 
 
 
 
 | 340 | 
 – | 
   else | 
 
 
 
 
 
 
 
 
 
 | 341 | 
 – | 
   begin | 
 
 
 
 
 
 
 
 
 
 | 342 | 
 – | 
     if DO_dat in settings then | 
 
 
 
 
 
 
 
 
 
 | 343 | 
 – | 
       ExportDatFile(fileid, path + '\' + GetWinFileName(filename)); | 
 
 
 
 
 
 
 
 
 
 | 344 | 
 – | 
     if DO_raw in settings then | 
 
 
 
 
 
 
 
 
 
 | 345 | 
 – | 
     begin | 
 
 
 
 
 
 
 
 
 
 | 346 | 
 – | 
       rawlist := OniDataConnection.GetRawList(fileid); | 
 
 
 
 
 
 
 
 
 
 | 347 | 
 – | 
       if Length(rawlist) > 0 then | 
 
 
 
 
 
 
 
 
 
 | 348 | 
 – | 
       begin | 
 
 
 
 
 
 
 
 
 
 | 349 | 
 – | 
         for i := 0 to High(rawlist) do | 
 
 
 
 
 
 
 
 
 
 | 350 | 
 – | 
         begin | 
 
 
 
 
 
 
 
 
 
 | 351 | 
 – | 
           ExportRawFile(fileid, rawlist[i].src_offset, path + '\' + | 
 
 
 
 
 
 
 
 
 
 | 352 | 
 – | 
             GetWinFileName(filename)); | 
 
 
 
 
 
 
 
 
 
 | 353 | 
 – | 
         end; | 
 
 
 
 
 
 
 
 
 
 | 354 | 
 – | 
       end; | 
 
 
 
 
 
 
 
 
 
 | 355 | 
 – | 
     end; | 
 
 
 
 
 
 
 
 
 
 | 356 | 
 – | 
   end; | 
 
 
 
 
 
 
 
 
 
 | 357 | 
 – | 
 end; | 
 
 
 
 
 
 
 
 
 
 | 358 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 | 359 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 | 360 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 | 361 | 
 – | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 320 | 
   | 
 function Explode(_string: String; delimiter: Char): TStringArray; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 321 | 
   | 
 var | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 322 | 
   | 
   start, len: Word; |