- Timestamp:
- Mar 30, 2007, 2:49:02 AM (18 years ago)
- Location:
- oup/current
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
oup/current/Global/Data.pas
r113 r138 5 5 const 6 6 Version: String = 'v0.34a'; 7 DBVersion: String = '0. 3';7 DBVersion: String = '0.4'; 8 8 CrLf: String[2] = #13 + #10; 9 9 -
oup/current/Helper/LevelDB.pas
r137 r138 13 13 lbl_estimation: TLabel; 14 14 procedure btn_abortokClick(Sender: TObject); 15 private16 procedure HandleFile(Ext: String; FileID: Integer);17 procedure StopConvert;18 15 public 19 16 procedure CreateDatabase(Source, Target: String); … … 28 25 {$R *.dfm} 29 26 uses ABSMain, ABSDecUtil, Main, 30 ConnectionManager, TypeDefs, DataAccess, OniImgClass, Data; 31 32 type 33 THandler = procedure(FileID: Integer); 34 TConvertHandler = record 35 Ext: String[4]; 36 Handler: THandler; 37 end; 27 ConnectionManager, TypeDefs, DataAccess, OniImgClass, Data, RawList; 38 28 39 29 var 40 ConvertHandlers: array of TConvertHandler;41 // loaded_filename: String;42 30 Converting: Boolean = False; 43 31 Abort: Boolean = False; … … 68 56 BeginTime, FileTime: Double; 69 57 Step: Integer; 70 OniImage: TOniImage;71 58 LevelID: Integer; 72 59 TimeFormat: TFormatSettings; … … 106 93 else 107 94 group_progress.Caption := 'Creating Dat (FINISHED)'; 95 end; 96 97 procedure StopConvert; 98 begin 99 btn_abortok.Caption := '&Close'; 100 btn_abortok.Default := True; 101 converting := False; 102 lbl_estimation.Caption := 'ABORTED'; 103 group_progress.Caption := 'Creating Level (ABORTED)'; 104 105 Stream_Body.Free; 106 Stream_Names.Free; 107 DatFileStream.Free; 108 RawFileStream.Free; 109 110 Stream_Dat.Free; 111 Stream_Raw.Free; 112 if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then 113 Stream_Sep.Free; 114 115 if MessageBox(Self.Handle, PChar('Delete the unfinished level-files?'), 116 PChar('Delete files?'), MB_YESNO) = idYes then 117 begin 118 DeleteFile(target); 119 DeleteFile(AnsiReplaceStr(Target, '.dat', '.raw')); 120 if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then 121 DeleteFile(AnsiReplaceStr(Target, '.dat', '.sep')); 122 end; 108 123 end; 109 124 … … 177 192 LevelID := Connection.LevelNumber; 178 193 LevelID := (LevelID * 2) * 256 * 256 * 256 + $01; 179 OniImage := TOniImage.Create;180 194 181 195 Self.Visible := True; … … 421 435 btn_abortok.Default := True; 422 436 423 OniImage.Free;424 425 437 converting := False; 426 438 427 439 // CloseDataConnection(DataConnections[conIndex]); 428 440 end; 429 430 431 432 433 procedure TForm_LevelDB.HandleFile;434 var435 i: Byte;436 begin437 { for i := 1 to Length(ConvertHandlers) do438 if UpperCase(ConvertHandlers[i].Ext) = UpperCase(ext) then439 if ConvertHandlers[i].needed then440 begin441 ConvertHandlers[i].Handler(fileid, dir_dat2db);442 Break;443 end444 else445 Break;446 }end;447 441 448 442 … … 452 446 var 453 447 DataBase: TABSDatabase; 454 { 455 var 456 DataBase: TABSDatabase; 457 Query: TABSQuery; 458 MimeCoder: TStringFormat_MIME64; 459 460 i, j: LongWord; 461 temps, temps2: String; 462 Data: Tdata; 463 absolutebegintime, begintime: Double; 464 step: Byte; 465 rawlist: TRawList; 466 extlist: TExtensionsMap; 467 fileinfo: TFileInfo; 468 timeformat: TFormatSettings; 469 470 conIndex: Integer; 448 Query: TABSQuery; 449 MimeCoder: TStringFormat_MIME64; 450 451 BeginTime, FileTime: Double; 452 Step: Integer; 453 LevelID: Integer; 454 TimeFormat: TFormatSettings; 455 456 ConID: Integer; 457 Connection: TDataAccess; 458 ConRepMsg: TStatusMessages; 459 460 FileID: Integer; 461 462 Strings: TStrings; 463 i: Integer; 464 temps: String; 465 tempi: Integer; 466 tempb: Byte; 467 tempdata: TByteData; 468 FileInfo: TFileInfo; 469 DatLinks: TDatLinkList; 470 RawLinks: TRawDataList; 471 471 const 472 steps: Byte = 4; 473 474 475 472 steps: Byte = 2; 476 473 477 474 procedure DoStep(stepname: String); … … 484 481 group_progress.Caption := 'Creating DB (FINISHED)'; 485 482 end; 486 } 483 484 procedure StopConvert; 485 begin 486 btn_abortok.Caption := '&Close'; 487 btn_abortok.Default := True; 488 converting := False; 489 lbl_estimation.Caption := 'ABORTED'; 490 group_progress.Caption := 'Creating DB (ABORTED)'; 491 DataBase.Close; 492 if MessageBox(Self.Handle, PChar('Delete the unfinished DB-file?'), 493 PChar('Delete file?'), MB_YESNO) = idYes then 494 begin 495 DeleteFile(target); 496 end; 497 end; 498 499 487 500 488 501 begin 489 { if CreateDataConnection(Source, ODB_Dat) = nil then 490 begin 491 ShowMessage('Could not connect to .dat-file'); 502 503 // 504 // FILE EXISTS CHECK FÜR DAT/RAW/SEP!!! 505 // 506 507 TimeFormat.ShortTimeFormat := 'hh:nn:ss'; 508 TimeFormat.LongTimeFormat := 'hh:nn:ss'; 509 TimeFormat.TimeSeparator := ':'; 510 511 ConID := ConManager.OpenConnection(Source, ConRepMsg); 512 if not (ConRepMsg in [SM_OK, SM_AlreadyOpened]) then 513 begin 514 ShowMessage('Source-file couldn''t be opened! Aborting' + CrLf + GetOpenMsg(ConRepMsg)); 492 515 Exit; 493 end 494 else 495 begin 496 TOniDataDat(OniDataConnection).UnloadWhenUnused := False; 497 end; 498 499 timeformat.LongTimeFormat := 'hh:nn:ss'; 500 timeformat.ShortTimeFormat := 'hh:nn:ss'; 501 timeformat.TimeSeparator := ':'; 516 end else 517 Connection := ConManager.Connection[ConID]; 518 519 ConID := ConManager.FileOpened(Target); 520 if ConID >= 0 then 521 begin 522 if MessageBox(Self.Handle, PChar('Destination-file is opened, close it in ' + 523 'order to proceed conversion?'), PChar('Destination-file opened'), 524 MB_YESNO + MB_ICONQUESTION) = ID_YES then 525 begin 526 if Form_Main.CheckConnectionCloseable(ConID) then 527 if not ConManager.CloseConnection(ConID, ConRepMsg) then 528 begin 529 ShowMessage('Couldn''t close destination-file. Aborting'); 530 Exit; 531 end; 532 end else begin 533 ShowMessage('Aborting'); 534 Exit; 535 end; 536 end; 537 538 if FileExists(Target) then 539 begin 540 if MessageBox(Self.Handle, PChar('Destination-file exists. ' + 541 'Overwrite it?'), PChar('Destination-file exists'), 542 MB_YESNO + MB_ICONWARNING) = ID_YES then 543 begin 544 if not DeleteFile(Target) then 545 begin 546 ShowMessage('Couldn''t delete file. Aborting'); 547 Exit; 548 end; 549 end else begin 550 ShowMessage('Aborting'); 551 Exit; 552 end; 553 end; 502 554 503 555 Self.Visible := True; … … 508 560 btn_abortok.Caption := '&Abort...'; 509 561 btn_abortok.Default := False; 510 loaded_filename := target; 511 512 absolutebegintime := Time; 562 563 BeginTime := Time; 513 564 514 565 DataBase := TABSDatabase.Create(Self); 515 }516 566 DataBase.MaxConnections := 1; 517 567 DataBase.PageSize := 8112; 518 568 DataBase.PageCountInExtent := 8; 519 { 569 520 570 DataBase.DatabaseName := 'OLDB'; 521 571 DataBase.DatabaseFileName := target; … … 559 609 dbversion + '");'; 560 610 Query.ExecSQL; 561 SetLength(Data, Length(OniDataConnection.LevelInfo.Ident)); 562 for i := 0 to High(OniDataConnection.LevelInfo.Ident) do 563 Data[i] := OniDataConnection.LevelInfo.Ident[i]; 564 temps := CreateHexString(Data, True); 565 // Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("ident","' + temps + '");'; 566 // Query.ExecSQL; 611 567 612 Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("lvl","' + 568 IntToStr( OniDataConnection.LevelInfo.LevelNumber) + '");';613 IntToStr(Connection.LevelNumber) + '");'; 569 614 Query.ExecSQL; 570 if OniDataConnection.OSisMAC then 571 Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("os","MAC");' 572 else 573 Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("os","PC");'; 615 case Connection.DataOS of 616 DOS_WIN: temps := 'WIN'; 617 DOS_WINDEMO: temps := 'WINDEMO'; 618 DOS_MAC: temps := 'MAC'; 619 DOS_MACBETA: temps := 'MACBETA'; 620 end; 621 Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("os","' + temps + '");'; 574 622 Query.ExecSQL; 575 576 DoStep('Writing extensionslist');577 progress.Max := Length(OniDataConnection.GetExtensionsList);578 Application.ProcessMessages;579 580 extlist := OniDataConnection.GetExtendedExtensionsList;581 for i := 0 to High(extlist) do582 begin583 SetLength(Data, Length(extlist[i].Ident));584 for j := 0 to High(extlist[i].Ident) do585 Data[j] := extlist[i].Ident[j];586 temps := CreateHexString(Data, True);587 temps2 := extlist[i].Extension[3] + extlist[i].Extension[2] +588 extlist[i].Extension[1] + extlist[i].Extension[0];589 Query.SQL.Text := 'INSERT INTO extlist (ext,ident) VALUES ("' +590 temps2 + '","' + temps + '");';591 Query.ExecSQL;592 progress.Position := i;593 lbl_progress.Caption := 'Extensions done: ' + IntToStr(i) + '/' +594 IntToStr(Length(extlist));595 Application.ProcessMessages;596 if abort then597 begin598 stop_convert;599 Exit;600 end;601 end;602 lbl_progress.Caption := '';603 623 604 624 progress.Position := 0; 605 625 lbl_progress.Caption := 'Files done: ' + IntToStr(0) + '/' + IntToStr( 606 OniDataConnection.GetFilesCount);626 Connection.GetFileCount); 607 627 lbl_estimation.Caption := 'Estimated finishing time: unknown'; 608 628 609 DoStep('Loading .dat into memory'); 610 Application.ProcessMessages; 611 612 progress.Max := OniDataConnection.GetFilesCount; 629 progress.Max := Connection.GetFileCount; 613 630 begintime := Time; 614 631 DoStep('Writing .dat-fileslist'); … … 616 633 617 634 Database.StartTransaction; 618 for i := 0 to OniDataConnection.GetFilesCount - 1 do619 begin 620 fileinfo := OniDataConnection.GetFileInfo(i);635 for FileID := 0 to Connection.GetFileCount - 1 do 636 begin 637 fileinfo := Connection.GetFileInfo(FileID); 621 638 if (fileinfo.FileType and $02) = 0 then 622 639 begin 623 640 mimecoder := TStringFormat_MIME64.Create; 624 Data := OniDataConnection.LoadDatFile(i);641 Connection.LoadDatFile(FileID, tempdata); 625 642 Query.SQL.Text := 626 643 'INSERT INTO datfiles (id,extension,name,contenttype,size,data) VALUES (' + 627 IntToStr( i) + ',"' + fileinfo.Extension + '","' + fileinfo.Name + '","' + IntToHex(644 IntToStr(FileID) + ',"' + fileinfo.Extension + '","' + fileinfo.Name + '","' + IntToHex( 628 645 fileinfo.FileType, 8) + '",' + IntToStr(fileinfo.Size) + ',MimeToBin("' + 629 MimeCoder.StrTo(@ Data[0], Length(Data)) + '") );';646 MimeCoder.StrTo(@tempdata[0], Length(tempdata)) + '") );'; 630 647 Query.ExecSQL; 631 648 mimecoder.Free; 632 649 633 rawlist := OniDataConnection.GetRawList(i);634 if Length( rawlist) > 0 then650 RawLinks := Connection.GetRawList(FileID); 651 if Length(RawLinks) > 0 then 635 652 begin 636 for j := 0 to High(rawlist) do653 for i := 0 to High(RawLinks) do 637 654 begin 638 if rawlist[j].raw_size > 0 then655 if RawLinks[i].RawSize > 0 then 639 656 begin 640 SetLength( Data, rawlist[j].raw_size);641 OniDataConnection.LoadRawFile(i, rawlist[j].src_offset, Data);657 SetLength(tempdata, RawLinks[i].RawSize); 658 Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, tempdata); 642 659 mimecoder := TStringFormat_MIME64.Create; 643 660 Query.SQL.Text := 644 661 'INSERT INTO rawmap (src_id,src_link_offset,sep,size,data) VALUES (' + 645 IntToStr(i) + ',' + IntToStr(rawlist[j].src_offset) + ',' + BoolToStr( 646 rawlist[j].loc_sep) + ',' + IntToStr(rawlist[j].raw_size) + ',MimeToBin("' + 647 MimeCoder.StrTo(@Data[0], rawlist[j].raw_size) + '") );'; 662 IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ',' + 663 BoolToStr(RawLinks[i].LocSep) + ', ' + 664 IntToStr(RawLinks[i].RawSize) + ', ' + 665 'MimeToBin("' + MimeCoder.StrTo(@tempdata[0], RawLinks[i].RawSize) + '") );'; 648 666 Query.ExecSQL; 649 667 mimecoder.Free; … … 653 671 Query.SQL.Text := 654 672 'INSERT INTO rawmap (src_id,src_link_offset,sep,size) VALUES (' + 655 IntToStr(i) + ',' + IntToStr(rawlist[j].src_offset) + ',' + BoolToStr(rawlist[j].loc_sep) + ',0);'; 673 IntToStr(FileID) + ', ' + IntToStr(RawLinks[i].SrcOffset) + ', ' + 674 BoolToStr(RawLinks[i].LocSep) + ', 0);'; 656 675 Query.ExecSQL; 657 676 end; … … 659 678 end; 660 679 661 HandleFile(fileinfo.Extension, i, True); 680 DatLinks := Connection.GetDatLinks(FileID); 681 if Length(DatLinks) > 0 then 682 begin 683 for i := 0 to High(DatLinks) do 684 begin 685 Query.SQL.Text := 686 'INSERT INTO linkmap (src_id, src_link_offset, target_id) VALUES (' + 687 IntToStr(FileID) + ', ' + IntToStr(DatLinks[i].SrcOffset) + ', ' + 688 IntToStr(DatLinks[i].DestID) + ');'; 689 Query.ExecSQL; 690 end; 691 end; 662 692 end 663 693 else … … 665 695 Query.SQL.Text := 666 696 'INSERT INTO datfiles (id,extension,name,contenttype,size) VALUES (' + 667 IntToStr( i) + ',"' + fileinfo.Extension + '","' + fileinfo.Name + '","' + IntToHex(668 fileinfo.FileType, 8) + '",0);';697 IntToStr(FileID) + ', "' + fileinfo.Extension + '", ' + 698 '"' + fileinfo.Name + '", "' + IntToHex(fileinfo.FileType, 8) + '", 0);'; 669 699 Query.ExecSQL; 670 700 end; 671 if (( i mod 100) = 0) and (i> 0) then701 if ((FileID mod 100) = 0) and (FileID > 0) then 672 702 begin 673 703 Database.Commit(False); 674 704 Database.StartTransaction; 675 705 end; 676 if (( i mod 10) = 0) and (i>= 100) then706 if ((FileID mod 10) = 0) and (FileID >= 100) then 677 707 lbl_estimation.Caption := 'Estimated time left: ' + TimeToStr( 678 (Time - begintime) / i * (progress.Max - i+ 1) * 1.1, timeformat );679 progress.Position := i;680 lbl_progress.Caption := 'Files done: ' + IntToStr( i) + '/' + IntToStr(progress.Max);708 (Time - BeginTime) / FileID * (progress.Max - FileID + 1) * 1.1, timeformat ); 709 progress.Position := FileID; 710 lbl_progress.Caption := 'Files done: ' + IntToStr(FileID) + '/' + IntToStr(progress.Max); 681 711 Application.ProcessMessages; 682 712 if abort then 683 713 begin 684 stop_convert;714 StopConvert; 685 715 Exit; 686 716 end; … … 691 721 IntToStr(progress.Max); 692 722 693 lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime, timeformat) + ')';723 lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - BeginTime, timeformat) + ')'; 694 724 695 725 DoStep('FIN'); … … 699 729 converting := False; 700 730 701 database.Close; 702 database.Free; 703 704 CloseDataConnection(DataConnections[conIndex]); 705 } 731 Query.Close; 732 Query.Free; 733 DataBase.Close; 734 DataBase.Free; 706 735 end; 707 708 709 710 711 procedure TForm_LevelDB.StopConvert;712 begin713 { btn_abortok.Caption := '&Close';714 btn_abortok.Default := True;715 converting := False;716 lbl_estimation.Caption := 'ABORTED';717 group_progress.Caption := 'Creating DB (ABORTED)';718 DataBase.Close;719 if MessageBox(Self.Handle, PChar('Delete the unfinished DB-file?'),720 PChar('Delete file?'), MB_YESNO) = idYes then721 begin722 DeleteFile(loaded_filename);723 end;724 }end;725 736 726 737 … … 744 755 745 756 746 747 { 748 procedure InsertDatLinkToDB(fileid: LongWord; offset: LongWord); 749 var 750 link: LongWord; 751 begin 752 OniDataConnection.LoadDatFilePart(fileid, offset, 4, @link); 753 if link = 0 then 754 link := $FFFFFFFF 755 else 756 link := link div 256; 757 Query.SQL.Text := 'INSERT INTO linkmap (src_id,src_link_offset,target_id) VALUES (' + 758 IntToStr(fileid) + ',' + IntToStr(offset) + ',' + IntToStr(link) + ');'; 759 Query.ExecSQL; 760 end; 761 762 763 764 765 procedure AISA(fileid: LongWord; dir_dat2db: Boolean); 766 var 767 packages: Word; 768 i: LongWord; 769 begin 770 if dir_dat2db then 771 begin 772 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 773 if packages > 0 then 774 begin 775 for i := 0 to packages - 1 do 776 InsertDatLinkToDB(fileid, $20 + i * $160 + $28); 777 for i := 0 to packages - 1 do 778 InsertDatLinkToDB(fileid, $20 + i * $160 + $150); 779 end; 780 end 781 else 782 begin 783 end; 784 end; 785 786 787 788 789 procedure AKEV(fileid: LongWord; dir_dat2db: Boolean); 790 var 791 i: LongWord; 792 begin 793 if dir_dat2db then 794 begin 795 for i := 0 to 16 do 796 InsertDatLinkToDB(fileid, $8 + i * 4); 797 end 798 else 799 begin 800 end; 801 end; 802 803 804 805 806 procedure AKOT(fileid: LongWord; dir_dat2db: Boolean); 807 var 808 i: LongWord; 809 begin 810 if dir_dat2db then 811 begin 812 for i := 0 to 4 do 813 InsertDatLinkToDB(fileid, $8 + i * 4); 814 end 815 else 816 begin 817 end; 818 end; 819 820 821 822 823 procedure CBPI(fileid: LongWord; dir_dat2db: Boolean); 824 var 825 i: LongWord; 826 begin 827 if dir_dat2db then 828 begin 829 for i := 0 to 56 do 830 InsertDatLinkToDB(fileid, $8 + i * 4); 831 end 832 else 833 begin 834 end; 835 end; 836 837 838 839 840 procedure CBPM(fileid: LongWord; dir_dat2db: Boolean); 841 var 842 i: LongWord; 843 begin 844 if dir_dat2db then 845 begin 846 for i := 0 to 18 do 847 InsertDatLinkToDB(fileid, $8 + i * 4); 848 end 849 else 850 begin 851 end; 852 end; 853 854 855 856 857 procedure CONS(fileid: LongWord; dir_dat2db: Boolean); 858 var 859 i: LongWord; 860 begin 861 if dir_dat2db then 862 begin 863 for i := 0 to 1 do 864 InsertDatLinkToDB(fileid, $24 + i * 4); 865 end 866 else 867 begin 868 end; 869 end; 870 871 872 873 874 procedure CRSA(fileid: LongWord; dir_dat2db: Boolean); 875 var 876 packages: LongWord; 877 i: LongWord; 878 begin 879 if dir_dat2db then 880 begin 881 OniDataConnection.LoadDatFilePart(fileid, $14, 4, @packages); 882 if packages > 0 then 883 for i := 0 to packages - 1 do 884 InsertDatLinkToDB(fileid, $20 + i * 1100 + $A0); 885 end 886 else 887 begin 888 end; 889 end; 890 891 892 893 894 procedure DOOR(fileid: LongWord; dir_dat2db: Boolean); 895 begin 896 if dir_dat2db then 897 begin 898 InsertDatLinkToDB(fileid, $08); 899 InsertDatLinkToDB(fileid, $10); 900 end 901 else 902 begin 903 end; 904 end; 905 906 907 908 909 procedure DPGE(fileid: LongWord; dir_dat2db: Boolean); 910 begin 911 if dir_dat2db then 912 begin 913 InsertDatLinkToDB(fileid, $40); 914 end 915 else 916 begin 917 end; 918 end; 919 920 921 922 923 procedure HPGE(fileid: LongWord; dir_dat2db: Boolean); 924 begin 925 if dir_dat2db then 926 begin 927 InsertDatLinkToDB(fileid, $0C); 928 end 929 else 930 begin 931 end; 932 end; 933 934 935 936 937 procedure IGHH(fileid: LongWord; dir_dat2db: Boolean); 938 begin 939 if dir_dat2db then 940 begin 941 InsertDatLinkToDB(fileid, $24); 942 InsertDatLinkToDB(fileid, $28); 943 end 944 else 945 begin 946 end; 947 end; 948 949 950 951 952 procedure IGPA(fileid: LongWord; dir_dat2db: Boolean); 953 var 954 links: LongWord; 955 i: LongWord; 956 begin 957 if dir_dat2db then 958 begin 959 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @links); 960 if links > 0 then 961 for i := 0 to links - 1 do 962 InsertDatLinkToDB(fileid, $20 + i * 4); 963 end 964 else 965 begin 966 end; 967 end; 968 969 970 971 972 procedure IGPG(fileid: LongWord; dir_dat2db: Boolean); 973 var 974 i: LongWord; 975 begin 976 if dir_dat2db then 977 begin 978 for i := 0 to 1 do 979 InsertDatLinkToDB(fileid, $1C + i * 4); 980 end 981 else 982 begin 983 end; 984 end; 985 986 987 988 989 procedure IGSA(fileid: LongWord; dir_dat2db: Boolean); 990 var 991 links: LongWord; 992 i: LongWord; 993 begin 994 if dir_dat2db then 995 begin 996 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @links); 997 if links > 0 then 998 for i := 0 to links - 1 do 999 InsertDatLinkToDB(fileid, $20 + i * 4); 1000 end 1001 else 1002 begin 1003 end; 1004 end; 1005 1006 1007 1008 1009 procedure IMPT(fileid: LongWord; dir_dat2db: Boolean); 1010 begin 1011 if dir_dat2db then 1012 begin 1013 InsertDatLinkToDB(fileid, $10); 1014 end 1015 else 1016 begin 1017 end; 1018 end; 1019 1020 1021 1022 1023 procedure IPGE(fileid: LongWord; dir_dat2db: Boolean); 1024 begin 1025 if dir_dat2db then 1026 begin 1027 InsertDatLinkToDB(fileid, $0C); 1028 end 1029 else 1030 begin 1031 end; 1032 end; 1033 1034 1035 1036 1037 procedure KEYI(fileid: LongWord; dir_dat2db: Boolean); 1038 var 1039 i: LongWord; 1040 begin 1041 if dir_dat2db then 1042 begin 1043 for i := 0 to 9 do 1044 InsertDatLinkToDB(fileid, $08 + i * 4); 1045 end 1046 else 1047 begin 1048 end; 1049 end; 1050 1051 1052 1053 1054 procedure M3GA(fileid: LongWord; dir_dat2db: Boolean); 1055 var 1056 links: LongWord; 1057 i: LongWord; 1058 begin 1059 if dir_dat2db then 1060 begin 1061 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @links); 1062 if links > 0 then 1063 for i := 0 to links - 1 do 1064 InsertDatLinkToDB(fileid, $20 + i * 4); 1065 end 1066 else 1067 begin 1068 end; 1069 end; 1070 1071 1072 1073 1074 procedure M3GM(fileid: LongWord; dir_dat2db: Boolean); 1075 var 1076 i: LongWord; 1077 begin 1078 if dir_dat2db then 1079 begin 1080 for i := 0 to 6 do 1081 InsertDatLinkToDB(fileid, $0C + i * 4); 1082 end 1083 else 1084 begin 1085 end; 1086 end; 1087 1088 1089 1090 1091 procedure MTRL(fileid: LongWord; dir_dat2db: Boolean); 1092 begin 1093 if dir_dat2db then 1094 begin 1095 InsertDatLinkToDB(fileid, $10); 1096 end 1097 else 1098 begin 1099 end; 1100 end; 1101 1102 1103 1104 1105 procedure OBDC(fileid: LongWord; dir_dat2db: Boolean); 1106 var 1107 packages: Word; 1108 i: LongWord; 1109 begin 1110 if dir_dat2db then 1111 begin 1112 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1113 if packages > 0 then 1114 for i := 0 to packages - 1 do 1115 InsertDatLinkToDB(fileid, $20 + i * $18 + $4); 1116 end 1117 else 1118 begin 1119 end; 1120 end; 1121 1122 1123 1124 1125 procedure OBOA(fileid: LongWord; dir_dat2db: Boolean); 1126 var 1127 packages: Word; 1128 i: LongWord; 1129 begin 1130 if dir_dat2db then 1131 begin 1132 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1133 if packages > 0 then 1134 for i := 0 to packages - 1 do 1135 begin 1136 InsertDatLinkToDB(fileid, $20 + i * 240 + $0); 1137 InsertDatLinkToDB(fileid, $20 + i * 240 + $4); 1138 InsertDatLinkToDB(fileid, $20 + i * 240 + $8); 1139 end; 1140 end 1141 else 1142 begin 1143 end; 1144 end; 1145 1146 1147 1148 1149 procedure OFGA(fileid: LongWord; dir_dat2db: Boolean); 1150 var 1151 packages: LongWord; 1152 i: LongWord; 1153 begin 1154 if dir_dat2db then 1155 begin 1156 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1157 if packages > 0 then 1158 for i := 0 to packages - 1 do 1159 InsertDatLinkToDB(fileid, $20 + i * 12 + $04); 1160 end 1161 else 1162 begin 1163 end; 1164 end; 1165 1166 1167 1168 1169 procedure ONCC(fileid: LongWord; dir_dat2db: Boolean); 1170 var 1171 i: LongWord; 1172 begin 1173 if dir_dat2db then 1174 begin 1175 InsertDatLinkToDB(fileid, $28); 1176 InsertDatLinkToDB(fileid, $434); 1177 InsertDatLinkToDB(fileid, $438); 1178 InsertDatLinkToDB(fileid, $43C); 1179 InsertDatLinkToDB(fileid, $C3C); 1180 InsertDatLinkToDB(fileid, $C40); 1181 InsertDatLinkToDB(fileid, $C44); 1182 InsertDatLinkToDB(fileid, $C48); 1183 InsertDatLinkToDB(fileid, $C88); 1184 InsertDatLinkToDB(fileid, $C8C); 1185 end 1186 else 1187 begin 1188 end; 1189 end; 1190 1191 1192 1193 1194 procedure ONCV(fileid: LongWord; dir_dat2db: Boolean); 1195 begin 1196 if dir_dat2db then 1197 begin 1198 InsertDatLinkToDB(fileid, $08); 1199 end 1200 else 1201 begin 1202 end; 1203 end; 1204 1205 1206 1207 1208 procedure ONLV(fileid: LongWord; dir_dat2db: Boolean); 1209 var 1210 i: LongWord; 1211 begin 1212 if dir_dat2db then 1213 begin 1214 for i := 0 to 5 do 1215 InsertDatLinkToDB(fileid, $48 + i * 4); 1216 for i := 0 to 5 do 1217 InsertDatLinkToDB(fileid, $64 + i * 4); 1218 InsertDatLinkToDB(fileid, $300); 1219 end 1220 else 1221 begin 1222 end; 1223 end; 1224 1225 1226 1227 1228 procedure ONOA(fileid: LongWord; dir_dat2db: Boolean); 1229 var 1230 packages: LongWord; 1231 i: LongWord; 1232 begin 1233 if dir_dat2db then 1234 begin 1235 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1236 if packages > 0 then 1237 for i := 0 to packages - 1 do 1238 InsertDatLinkToDB(fileid, $20 + i * 8 + $04); 1239 end 1240 else 1241 begin 1242 end; 1243 end; 1244 1245 1246 1247 1248 procedure ONSK(fileid: LongWord; dir_dat2db: Boolean); 1249 begin 1250 if dir_dat2db then 1251 begin 1252 InsertDatLinkToDB(fileid, $08); 1253 InsertDatLinkToDB(fileid, $0C); 1254 InsertDatLinkToDB(fileid, $10); 1255 InsertDatLinkToDB(fileid, $14); 1256 InsertDatLinkToDB(fileid, $18); 1257 InsertDatLinkToDB(fileid, $20); 1258 InsertDatLinkToDB(fileid, $44); 1259 end 1260 else 1261 begin 1262 end; 1263 end; 1264 1265 1266 1267 1268 procedure ONVL(fileid: LongWord; dir_dat2db: Boolean); 1269 var 1270 packages: LongWord; 1271 i: LongWord; 1272 begin 1273 if dir_dat2db then 1274 begin 1275 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1276 if packages > 0 then 1277 for i := 0 to packages - 1 do 1278 InsertDatLinkToDB(fileid, $20 + i * 4); 1279 end 1280 else 1281 begin 1282 end; 1283 end; 1284 1285 1286 1287 1288 procedure ONWC(fileid: LongWord; dir_dat2db: Boolean); 1289 begin 1290 if dir_dat2db then 1291 begin 1292 InsertDatLinkToDB(fileid, $28); 1293 InsertDatLinkToDB(fileid, $34); 1294 InsertDatLinkToDB(fileid, $40); 1295 InsertDatLinkToDB(fileid, $54); 1296 InsertDatLinkToDB(fileid, $58); 1297 InsertDatLinkToDB(fileid, $5C); 1298 InsertDatLinkToDB(fileid, $60); 1299 InsertDatLinkToDB(fileid, $6FC); 1300 InsertDatLinkToDB(fileid, $700); 1301 end 1302 else 1303 begin 1304 end; 1305 end; 1306 1307 1308 1309 1310 procedure OPGE(fileid: LongWord; dir_dat2db: Boolean); 1311 begin 1312 if dir_dat2db then 1313 begin 1314 InsertDatLinkToDB(fileid, $0C); 1315 end 1316 else 1317 begin 1318 end; 1319 end; 1320 1321 1322 1323 1324 procedure PSPC(fileid: LongWord; dir_dat2db: Boolean); 1325 begin 1326 if dir_dat2db then 1327 begin 1328 InsertDatLinkToDB(fileid, $50); 1329 end 1330 else 1331 begin 1332 end; 1333 end; 1334 1335 1336 1337 1338 procedure PSPL(fileid: LongWord; dir_dat2db: Boolean); 1339 var 1340 packages: LongWord; 1341 i: LongWord; 1342 begin 1343 if dir_dat2db then 1344 begin 1345 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1346 if packages > 0 then 1347 for i := 0 to packages - 1 do 1348 InsertDatLinkToDB(fileid, $20 + i * 8 + $4); 1349 end 1350 else 1351 begin 1352 end; 1353 end; 1354 1355 1356 1357 1358 procedure PSUI(fileid: LongWord; dir_dat2db: Boolean); 1359 var 1360 i: LongWord; 1361 begin 1362 if dir_dat2db then 1363 begin 1364 for i := 0 to 43 do 1365 InsertDatLinkToDB(fileid, $08 + i * 4); 1366 end 1367 else 1368 begin 1369 end; 1370 end; 1371 1372 1373 1374 1375 procedure STNA(fileid: LongWord; dir_dat2db: Boolean); 1376 var 1377 packages: Word; 1378 i: LongWord; 1379 begin 1380 if dir_dat2db then 1381 begin 1382 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1383 if packages > 0 then 1384 for i := 0 to packages - 1 do 1385 InsertDatLinkToDB(fileid, $20 + i * 4); 1386 end 1387 else 1388 begin 1389 end; 1390 end; 1391 1392 1393 1394 1395 procedure TRAC(fileid: LongWord; dir_dat2db: Boolean); 1396 var 1397 packages: Word; 1398 i: LongWord; 1399 begin 1400 if dir_dat2db then 1401 begin 1402 InsertDatLinkToDB(fileid, $18); 1403 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1404 if packages > 0 then 1405 for i := 0 to packages - 1 do 1406 InsertDatLinkToDB(fileid, $20 + i * 12 + 8); 1407 end 1408 else 1409 begin 1410 end; 1411 end; 1412 1413 1414 1415 1416 procedure TRAM(fileid: LongWord; dir_dat2db: Boolean); 1417 begin 1418 if dir_dat2db then 1419 begin 1420 InsertDatLinkToDB(fileid, $40); 1421 InsertDatLinkToDB(fileid, $44); 1422 end 1423 else 1424 begin 1425 end; 1426 end; 1427 1428 1429 1430 1431 procedure TRAS(fileid: LongWord; dir_dat2db: Boolean); 1432 begin 1433 if dir_dat2db then 1434 begin 1435 InsertDatLinkToDB(fileid, $08); 1436 end 1437 else 1438 begin 1439 end; 1440 end; 1441 1442 1443 1444 1445 procedure TRBS(fileid: LongWord; dir_dat2db: Boolean); 1446 var 1447 i: LongWord; 1448 begin 1449 if dir_dat2db then 1450 begin 1451 for i := 0 to 4 do 1452 InsertDatLinkToDB(fileid, $08 + i * 4); 1453 end 1454 else 1455 begin 1456 end; 1457 end; 1458 1459 1460 1461 1462 procedure TRCM(fileid: LongWord; dir_dat2db: Boolean); 1463 var 1464 i: LongWord; 1465 begin 1466 if dir_dat2db then 1467 begin 1468 for i := 0 to 2 do 1469 InsertDatLinkToDB(fileid, $5C + i * 4); 1470 end 1471 else 1472 begin 1473 end; 1474 end; 1475 1476 1477 1478 1479 procedure TRGA(fileid: LongWord; dir_dat2db: Boolean); 1480 var 1481 i: LongWord; 1482 packages: Word; 1483 begin 1484 if dir_dat2db then 1485 begin 1486 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1487 if packages > 0 then 1488 for i := 0 to packages - 1 do 1489 InsertDatLinkToDB(fileid, $20 + i * 4); 1490 end 1491 else 1492 begin 1493 end; 1494 end; 1495 1496 1497 1498 1499 procedure TRGE(fileid: LongWord; dir_dat2db: Boolean); 1500 begin 1501 if dir_dat2db then 1502 begin 1503 InsertDatLinkToDB(fileid, $20); 1504 end 1505 else 1506 begin 1507 end; 1508 end; 1509 1510 1511 1512 1513 procedure TRIG(fileid: LongWord; dir_dat2db: Boolean); 1514 begin 1515 if dir_dat2db then 1516 begin 1517 InsertDatLinkToDB(fileid, $18); 1518 InsertDatLinkToDB(fileid, $24); 1519 InsertDatLinkToDB(fileid, $28); 1520 end 1521 else 1522 begin 1523 end; 1524 end; 1525 1526 1527 1528 1529 procedure TRMA(fileid: LongWord; dir_dat2db: Boolean); 1530 var 1531 i: LongWord; 1532 packages: Word; 1533 begin 1534 if dir_dat2db then 1535 begin 1536 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1537 if packages > 0 then 1538 for i := 0 to packages - 1 do 1539 InsertDatLinkToDB(fileid, $20 + i * 4); 1540 end 1541 else 1542 begin 1543 end; 1544 end; 1545 1546 1547 1548 1549 procedure TRSC(fileid: LongWord; dir_dat2db: Boolean); 1550 var 1551 i: LongWord; 1552 packages: Word; 1553 begin 1554 if dir_dat2db then 1555 begin 1556 OniDataConnection.LoadDatFilePart(fileid, $1E, 2, @packages); 1557 if packages > 0 then 1558 for i := 0 to packages - 1 do 1559 InsertDatLinkToDB(fileid, $20 + i * 4); 1560 end 1561 else 1562 begin 1563 end; 1564 end; 1565 1566 1567 1568 1569 procedure TSFF(fileid: LongWord; dir_dat2db: Boolean); 1570 var 1571 i: LongWord; 1572 packages: LongWord; 1573 begin 1574 if dir_dat2db then 1575 begin 1576 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1577 if packages > 0 then 1578 for i := 0 to packages - 1 do 1579 InsertDatLinkToDB(fileid, $20 + i * 4); 1580 end 1581 else 1582 begin 1583 end; 1584 end; 1585 1586 1587 1588 1589 procedure TSFT(fileid: LongWord; dir_dat2db: Boolean); 1590 begin 1591 if dir_dat2db then 1592 begin 1593 InsertDatLinkToDB(fileid, $1C); 1594 end 1595 else 1596 begin 1597 end; 1598 end; 1599 1600 1601 1602 1603 procedure TURR(fileid: LongWord; dir_dat2db: Boolean); 1604 begin 1605 if dir_dat2db then 1606 begin 1607 InsertDatLinkToDB(fileid, $60); 1608 InsertDatLinkToDB(fileid, $6C); 1609 InsertDatLinkToDB(fileid, $74); 1610 end 1611 else 1612 begin 1613 end; 1614 end; 1615 1616 1617 1618 1619 procedure TXAN(fileid: LongWord; dir_dat2db: Boolean); 1620 var 1621 i: LongWord; 1622 packages: LongWord; 1623 begin 1624 if dir_dat2db then 1625 begin 1626 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1627 if packages > 0 then 1628 for i := 0 to packages - 1 do 1629 InsertDatLinkToDB(fileid, $20 + i * 4); 1630 end 1631 else 1632 begin 1633 end; 1634 end; 1635 1636 1637 1638 1639 procedure TXMA(fileid: LongWord; dir_dat2db: Boolean); 1640 var 1641 i: LongWord; 1642 packages: LongWord; 1643 begin 1644 if dir_dat2db then 1645 begin 1646 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1647 if packages > 0 then 1648 for i := 0 to packages - 1 do 1649 InsertDatLinkToDB(fileid, $20 + i * 4); 1650 end 1651 else 1652 begin 1653 end; 1654 end; 1655 1656 1657 1658 1659 procedure TXMB(fileid: LongWord; dir_dat2db: Boolean); 1660 var 1661 i: LongWord; 1662 packages: LongWord; 1663 begin 1664 if dir_dat2db then 1665 begin 1666 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1667 if packages > 0 then 1668 for i := 0 to packages - 1 do 1669 InsertDatLinkToDB(fileid, $20 + i * 4); 1670 end 1671 else 1672 begin 1673 end; 1674 end; 1675 1676 1677 1678 1679 procedure TXMP(fileid: LongWord; dir_dat2db: Boolean); 1680 begin 1681 if dir_dat2db then 1682 begin 1683 InsertDatLinkToDB(fileid, $94); 1684 InsertDatLinkToDB(fileid, $98); 1685 end 1686 else 1687 begin 1688 end; 1689 end; 1690 1691 1692 1693 1694 procedure TXTC(fileid: LongWord; dir_dat2db: Boolean); 1695 begin 1696 if dir_dat2db then 1697 begin 1698 InsertDatLinkToDB(fileid, $08); 1699 end 1700 else 1701 begin 1702 end; 1703 end; 1704 1705 1706 1707 1708 procedure WMCL(fileid: LongWord; dir_dat2db: Boolean); 1709 var 1710 i: LongWord; 1711 packages: LongWord; 1712 begin 1713 if dir_dat2db then 1714 begin 1715 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1716 if packages > 0 then 1717 for i := 0 to packages - 1 do 1718 InsertDatLinkToDB(fileid, $20 + i * 8 + $4); 1719 end 1720 else 1721 begin 1722 end; 1723 end; 1724 1725 1726 1727 1728 procedure WMDD(fileid: LongWord; dir_dat2db: Boolean); 1729 var 1730 i: LongWord; 1731 packages: LongWord; 1732 begin 1733 if dir_dat2db then 1734 begin 1735 OniDataConnection.LoadDatFilePart(fileid, $11C, 4, @packages); 1736 if packages > 0 then 1737 for i := 0 to packages - 1 do 1738 InsertDatLinkToDB(fileid, $120 + i * $124 + $114); 1739 end 1740 else 1741 begin 1742 end; 1743 end; 1744 1745 1746 1747 1748 procedure WMMB(fileid: LongWord; dir_dat2db: Boolean); 1749 var 1750 i: LongWord; 1751 packages: LongWord; 1752 begin 1753 if dir_dat2db then 1754 begin 1755 OniDataConnection.LoadDatFilePart(fileid, $1C, 4, @packages); 1756 if packages > 0 then 1757 for i := 0 to packages - 1 do 1758 InsertDatLinkToDB(fileid, $20 + i * 4); 1759 end 1760 else 1761 begin 1762 end; 1763 end; 1764 1765 1766 1767 1768 procedure WPGE(fileid: LongWord; dir_dat2db: Boolean); 1769 begin 1770 if dir_dat2db then 1771 begin 1772 InsertDatLinkToDB(fileid, $08); 1773 InsertDatLinkToDB(fileid, $0C); 1774 end 1775 else 1776 begin 1777 end; 1778 end; 1779 } 1780 1781 1782 { 1783 procedure InsertHandler(ext: String; needed: Boolean; handler: THandler); 1784 begin 1785 SetLength(ConvertHandlers, Length(ConvertHandlers) + 1); 1786 ConvertHandlers[High(ConvertHandlers)].Ext := ext; 1787 ConvertHandlers[High(ConvertHandlers)].needed := needed; 1788 ConvertHandlers[High(ConvertHandlers)].handler := handler; 1789 end; 1790 } 1791 begin 1792 { InsertHandler('ABNA', False, nil); 1793 // InsertHandler('AGDB',True,AGDB); 1794 InsertHandler('AGDB', False, nil); 1795 InsertHandler('AGQC', False, nil); 1796 InsertHandler('AGQG', False, nil); 1797 InsertHandler('AGQR', False, nil); 1798 InsertHandler('AISA', True, AISA); 1799 InsertHandler('AITR', False, nil); 1800 InsertHandler('AKAA', False, nil); 1801 InsertHandler('AKBA', False, nil); 1802 InsertHandler('AKBP', False, nil); 1803 InsertHandler('AKDA', False, nil); 1804 InsertHandler('AKEV', True, AKEV); 1805 InsertHandler('AKOT', True, AKOT); 1806 InsertHandler('AKVA', False, nil); 1807 InsertHandler('BINA', False, nil); 1808 InsertHandler('CBPI', True, CBPI); 1809 InsertHandler('CBPM', True, CBPM); 1810 InsertHandler('CONS', True, CONS); 1811 InsertHandler('CRSA', True, CRSA); 1812 InsertHandler('DOOR', True, DOOR); 1813 InsertHandler('DPGE', True, DPGE); 1814 InsertHandler('ENVP', False, nil); 1815 InsertHandler('FILM', False, nil); 1816 InsertHandler('HPGE', True, HPGE); 1817 InsertHandler('IDXA', False, nil); 1818 InsertHandler('IGHH', True, IGHH); 1819 InsertHandler('IGPA', True, IGPA); 1820 InsertHandler('IGPG', True, IGPG); 1821 InsertHandler('IGSA', True, IGSA); 1822 InsertHandler('IMPT', True, IMPT); 1823 InsertHandler('IPGE', True, IPGE); 1824 InsertHandler('KEYI', True, KEYI); 1825 InsertHandler('M3GA', True, M3GA); 1826 InsertHandler('M3GM', True, M3GM); 1827 InsertHandler('MTRL', True, MTRL); 1828 InsertHandler('OBAN', False, nil); 1829 InsertHandler('OBDC', True, OBDC); 1830 InsertHandler('OBOA', True, OBOA); 1831 InsertHandler('OFGA', True, OFGA); 1832 InsertHandler('ONCC', True, ONCC); 1833 InsertHandler('ONCP', False, nil); 1834 InsertHandler('ONCV', True, ONCV); 1835 InsertHandler('ONFA', False, nil); 1836 InsertHandler('ONGS', False, nil); 1837 InsertHandler('ONIA', False, nil); 1838 InsertHandler('ONLD', False, nil); 1839 InsertHandler('ONLV', True, ONLV); 1840 InsertHandler('ONMA', False, nil); 1841 InsertHandler('ONOA', True, ONOA); 1842 InsertHandler('ONSA', False, nil); 1843 InsertHandler('ONSK', True, ONSK); 1844 InsertHandler('ONTA', False, nil); 1845 InsertHandler('ONVL', True, ONVL); 1846 InsertHandler('ONWC', True, ONWC); 1847 InsertHandler('OPGE', True, OPGE); 1848 InsertHandler('OSBD', False, nil); 1849 InsertHandler('OTIT', False, nil); 1850 InsertHandler('OTLF', False, nil); 1851 InsertHandler('PLEA', False, nil); 1852 InsertHandler('PNTA', False, nil); 1853 InsertHandler('PSPC', True, PSPC); 1854 InsertHandler('PSPL', True, PSPL); 1855 InsertHandler('PSUI', True, PSUI); 1856 InsertHandler('QTNA', False, nil); 1857 InsertHandler('SNDD', False, nil); 1858 InsertHandler('STNA', True, STNA); 1859 InsertHandler('SUBT', False, nil); 1860 InsertHandler('TRAC', True, TRAC); 1861 InsertHandler('TRAM', True, TRAM); 1862 InsertHandler('TRAS', True, TRAS); 1863 InsertHandler('TRBS', True, TRBS); 1864 InsertHandler('TRCM', True, TRCM); 1865 InsertHandler('TRGA', True, TRGA); 1866 InsertHandler('TRGE', True, TRGE); 1867 InsertHandler('TRIA', False, nil); 1868 InsertHandler('TRIG', True, TRIG); 1869 InsertHandler('TRMA', True, TRMA); 1870 InsertHandler('TRSC', True, TRSC); 1871 InsertHandler('TRTA', False, nil); 1872 InsertHandler('TSFF', True, TSFF); 1873 InsertHandler('TSFL', False, nil); 1874 InsertHandler('TSFT', True, TSFT); 1875 InsertHandler('TSGA', False, nil); 1876 InsertHandler('TSTR', False, nil); 1877 InsertHandler('TURR', True, TURR); 1878 InsertHandler('TXAN', True, TXAN); 1879 InsertHandler('TXCA', False, nil); 1880 InsertHandler('TXMA', True, TXMA); 1881 InsertHandler('TXMB', True, TXMB); 1882 InsertHandler('TXMP', True, TXMP); 1883 InsertHandler('TXTC', True, TXTC); 1884 InsertHandler('VCRA', False, nil); 1885 InsertHandler('WMCL', True, WMCL); 1886 InsertHandler('WMDD', True, WMDD); 1887 InsertHandler('WMM_', False, nil); 1888 InsertHandler('WMMB', True, WMMB); 1889 InsertHandler('WPGE', True, WPGE); 1890 }end. 757 end.
Note:
See TracChangeset
for help on using the changeset viewer.