| 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; |