home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / OS2 / RDB084R2.ARJ / RDB084R2.ZIP / MaxBase.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-17  |  47.8 KB  |  2,404 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Choice;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Dimension;
  8. import java.awt.Event;
  9. import java.awt.FileDialog;
  10. import java.awt.FlowLayout;
  11. import java.awt.Font;
  12. import java.awt.FontMetrics;
  13. import java.awt.Frame;
  14. import java.awt.GridLayout;
  15. import java.awt.Label;
  16. import java.awt.List;
  17. import java.awt.Panel;
  18. import java.awt.TextField;
  19. import java.awt.Toolkit;
  20. import java.awt.Window;
  21. import java.io.IOException;
  22. import java.util.Date;
  23. import netrexx.lang.Rexx;
  24. import netrexx.lang.RexxIO;
  25. import netrexx.lang.RexxParse;
  26. import netrexx.lang.RexxSet;
  27.  
  28. public class MaxBase extends Frame {
  29.    private RXDbase dbMine = new RXDbase();
  30.    private int iOldPage;
  31.    private int iDeleted;
  32.    private int iIdx;
  33.    private int[] iDelArc;
  34.    private int[] iDelVis;
  35.    private Rexx[][] rRecArr;
  36.    private Rexx[][] rRecArr2;
  37.    private Rexx rShowed;
  38.    private Rexx[] rDbStats;
  39.    private Rexx rFilter = new Rexx("");
  40.    private Rexx rTXTFileNotPresent = new Rexx("File does not exist. Returning.");
  41.    private Rexx rTXTEnd = new Rexx("Conversion: finished.");
  42.    private Rexx rTXTChoose = new Rexx("Choose a database (.dat)");
  43.    private Rexx rTXTChooseDBF = new Rexx("Choose a database (.dbf)");
  44.    private Rexx rTXTNoDb = new Rexx("One-line view - no database loaded");
  45.    private Rexx rTXTOneLine = new Rexx("One-line view for database ");
  46.    private Rexx rTXTActRec = new Rexx(" active records; ");
  47.    private Rexx rTXTShowHere = new Rexx(" showed here");
  48.    private Rexx rTXTMissInfo = new Rexx("Field not added. Missing informations.");
  49.    private Rexx rTXTName = new Rexx("Field not added. Field length must be non-negative, name must be valid.");
  50.    private Rexx rTXTWrkFld = new Rexx("Currently working on Field ");
  51.    private Rexx rTXTPickName = new Rexx("Pick a name for the db (no extension)");
  52.    private Rexx rTXTMInfo = new Rexx("Can't save. Missing informations for this field.");
  53.    private Rexx rTXTMName = new Rexx("Can't save. Field length must be non-negative, name must be valid.");
  54.    private Rexx rTXTNoIndex = new Rexx("Can't save. At least a field must have an index.");
  55.    private Rexx rTXTBigger = new Rexx("Can't save. File name is bigger than 4 characters.");
  56.    private Rexx rTXTFileExists = new Rexx("Can't save. File exists.");
  57.    private Rexx rTXTSaved = new Rexx("Succesfully saved. Hit 'Cancel' to return to db browsing.");
  58.    private Rexx rTXTFindInfo = new Rexx("Separate filter conditions with the .&. token");
  59.    private Rexx rTXTFindTitle = new Rexx("You are defining the filter conditions. (Empty = resets them)");
  60.    private Rexx rTXTOrderTitle = new Rexx("Select a field to order the database by.");
  61.    private Rexx rTXTFldDelTitle = new Rexx("Select a field to be deleted.");
  62.    private Rexx rTXTModIdxTitle = new Rexx("Select the field whose indexing strategy has to be modified.");
  63.    private Rexx rTXTIdxStratTitle = new Rexx("Select the new indexing strategy for the chosen field.");
  64.    private Rexx rTXTDelDb = new Rexx("You are going to delete the current database.");
  65.    private Rexx rTXTDelDbInfo = new Rexx("Press 'yes' to continue, 'Tools..' to return to the Tools panel.");
  66.    private Rexx rTXTRDel1 = new Rexx("You are going to delete the selected record.");
  67.    private Rexx rTXTRDel2 = new Rexx("You are going to delete the ");
  68.    private Rexx rTXTRDel3 = new Rexx(" selected records.");
  69.    private Rexx rTXTRDel4 = new Rexx("Press 'yes' to continue, 'cancel' to cancel the operation.");
  70.    private Rexx rTXTWarning = new Rexx("Warning!");
  71.    private Rexx rTXTCurWork = new Rexx("Currently working on Field 1/99");
  72.    private Rexx rTXTCreateDb = new Rexx("You are creating a new database.");
  73.    private Rexx rTXTAddFld = new Rexx("Adding a field to the current DB");
  74.    private Rexx rTXTAddFldTitle = new Rexx("You are adding a field to the current DB.");
  75.    private Rexx rTXTRecAdd = new Rexx("Form View (adding a record)");
  76.    private Rexx rTXTRecMod = new Rexx("Form View (modifying this record)");
  77.    private Rexx rTXTRecBrowse = new Rexx("Form View (just browsing)");
  78.    private Rexx rTXTSelPage = new Rexx("Select another page to see the remaining fields.");
  79.    private Rexx rTXTStore = new Rexx("Select 'Store' to save data (if not browsing), 'Cancel' to abort.");
  80.    private Rexx rTXTCantAdd1 = new Rexx("Can't add. Missing informations for this field.");
  81.    private Rexx rTXTCantAdd2 = new Rexx("Can't add. Field length must be non-negative, name must be valid.");
  82.    private Rexx rTXTIdxNONE0 = new Rexx("NONE (NULL values to be accepted)");
  83.    private Rexx rTXTIdxNONE1 = new Rexx("NONE (NULL values to be discarded)");
  84.    private Rexx rTXTIdxISAM00 = new Rexx("ISAM (NULL and duplicate values to be accepted)");
  85.    private Rexx rTXTIdxISAM01 = new Rexx("ISAM (duplicate values to be accepted, but no NULLs)");
  86.    private Rexx rTXTIdxISAM10 = new Rexx("ISAM (NULL values to be accepted, but no duplicates)");
  87.    private Rexx rTXTIdxISAM11 = new Rexx("ISAM (no NULLs and no duplicates)");
  88.    private Rexx[][] rRecordStr = new Rexx[1000][3];
  89.    private Rexx[] rToDele;
  90.    private Rexx rCurrentDb = new Rexx("");
  91.    private Rexx[][] rTempArr = new Rexx[100][3];
  92.    private int iCurrFld;
  93.    private ScrollPanel scrolpan;
  94.    // $FF: renamed from: fm java.awt.FontMetrics
  95.    private FontMetrics field_0;
  96.    // $FF: renamed from: f java.awt.Font
  97.    private Font field_1 = new Font("Courier", 0, 12);
  98.    // $FF: renamed from: f2 java.awt.Font
  99.    private Font field_2 = new Font("Courier", 1, 24);
  100.    private List DbList = new List(0, true);
  101.    private List FieldList = new List(0, false);
  102.    private Label laCrName = new Label("Field name: ");
  103.    private Label laCrLength = new Label("Field Length: ");
  104.    private Label laCrIndex = new Label("Field Indexing: ");
  105.    private Label laCrInfo = new Label("No errors.");
  106.    private Label laFilter = new Label("Search filter: ");
  107.    private Label laPage = new Label("Current page:");
  108.    private Label laOne = new Label();
  109.    private Label laTwo = new Label();
  110.    private Label laThree = new Label();
  111.    private Label laFour = new Label();
  112.    private Label laFive = new Label();
  113.    private Choice chCrIndex = new Choice();
  114.    private Choice chPage = new Choice();
  115.    private Choice chMPage = new Choice();
  116.    private Choice chFPage = new Choice();
  117.    private TextField tfCrName = new TextField();
  118.    private TextField tfCrLength = new TextField();
  119.    private TextField tfOne = new TextField();
  120.    private TextField tfTwo = new TextField();
  121.    private TextField tfThree = new TextField();
  122.    private TextField tfFour = new TextField();
  123.    private TextField tfFive = new TextField();
  124.    private Button bnDbTools = new Button("Tools..");
  125.    private Button bnRecords = new Button("Records..");
  126.    private Button bnSelectAll = new Button("Sel All");
  127.    private Button bnDeselectAll = new Button("Des All");
  128.    private Button bnMainPanel = new Button("Main panel..");
  129.    private Button bnCreate = new Button("New DB");
  130.    private Button bnDestroy = new Button("Del DB");
  131.    private Button bnAddField = new Button("Add Fld");
  132.    private Button bnDelField = new Button("Del Fld");
  133.    private Button bnModFieldIdx = new Button("Mod Index");
  134.    private Button bnModThisField = new Button("Modify This Field's Indexing");
  135.    private Button bnSetThisIdx = new Button("Select This Indexing Method");
  136.    private Button bnYes = new Button("Yes");
  137.    private Button bnFilter = new Button("Set a  filter");
  138.    private Button bnFilterOk = new Button("Set this filter");
  139.    private Button bnNo = new Button("Cancel");
  140.    private Button bnGotOrder = new Button("Order By the selected field");
  141.    private Button bnDelYes = new Button("Yes");
  142.    private Button bnCrPrev = new Button("Previous field");
  143.    private Button bnFirst50 = new Button("Show only the first 50 records");
  144.    private Button bnAll = new Button("Show all the records");
  145.    private Button bnCrNext = new Button("Next field");
  146.    private Button bnCrDone = new Button("Save database");
  147.    private Button bnStoreNewField = new Button("Add this field");
  148.    private Button bnDeleteThisField = new Button("Delete this field");
  149.    private Button bnCrCancel = new Button("Cancel");
  150.    private Button bnConnect = new Button("Login");
  151.    private Button bnDisconnect = new Button("Logout");
  152.    private Button bnRefresh = new Button("Refresh Now");
  153.    private Button bnProperties = new Button("Properties");
  154.    private Button bnFormView = new Button("Form View");
  155.    private Button bnPack = new Button("Pack DB");
  156.    private Button bnAdd = new Button("Add");
  157.    private Button bnModify = new Button("Modify");
  158.    private Button bnDelete = new Button("Delete");
  159.    private Button bnOrder = new Button("Order By..");
  160.    private Button bnAStore = new Button("Store");
  161.    private Button bnMStore = new Button("Store");
  162.    private Button bnDBFtoDAT = new Button(".dbf->.dat");
  163.    private Button bnDATtoDBF = new Button(".dat->.dbf");
  164.    private Button bnPuno = new Button();
  165.    private Button bnPdue = new Button();
  166.    private Button bnPtre = new Button();
  167.    private Button bnPquattro = new Button();
  168.    private Button bnPcinque = new Button();
  169.    private Rexx[] rPluginClass = new Rexx[6];
  170.    // $FF: renamed from: p java.awt.Panel
  171.    private Panel field_3 = new Panel();
  172.    private Panel dbToolsp = new Panel();
  173.    private static final Rexx $$1 = new Rexx("");
  174.    private static final Rexx $$4 = new Rexx(6);
  175.    private static final Rexx $$5 = new Rexx(0);
  176.    private static final Rexx $$7 = new Rexx(1);
  177.    private static final Rexx $$9 = new Rexx(2);
  178.    private static final Rexx $$10 = new Rexx(3);
  179.    private static final Rexx $$11 = new Rexx(4);
  180.    private static final Rexx $$12 = new Rexx(5);
  181.    private static final Rexx $$46 = new Rexx('-');
  182.    private static final Rexx $$87 = new Rexx(99);
  183.    private static final Rexx $$90 = new Rexx("/99");
  184.    private static final Rexx $$112 = new Rexx('1');
  185.    private static final char[] $$150 = new char[]{'\u0002', '\u0003', '.', '&', '.', '\n', '\u0001', '\u0000', '\u0001', '\n', '\u0001', '\u0001', '\u0000'};
  186.    private static final Rexx $$152 = new Rexx('3');
  187.    private static final Rexx $$153 = new Rexx("83");
  188.    private static final Rexx $$160 = new Rexx(34);
  189.    private static final Rexx $$161 = new Rexx(32);
  190.    private static final Rexx $$166 = new Rexx(11);
  191.    private static final Rexx $$167 = new Rexx('0');
  192.    private static final Rexx $$169 = new Rexx(256);
  193.    private static final Rexx $$176 = new Rexx(512);
  194.    private static final Rexx $$192 = new Rexx("13");
  195.    private static final Rexx $$197 = new Rexx("26");
  196.    private static final char[] $$199 = new char[]{'\u0004', '\u0001', '\u0002', '\n', '\u0001', '\u0000', '\u0001', '\n', '\u0001', '\u0001', '\u0000'};
  197.    // $FF: renamed from: $0 java.lang.String
  198.    private static final String field_4 = "MaxBase.nrx";
  199.  
  200.    public static void main(String[] var0) {
  201.       new MaxBase(var0);
  202.    }
  203.  
  204.    private void doInitStuff() {
  205.       RXFile var1 = new RXFile();
  206.       int var2 = 1;
  207.       new Rexx("");
  208.       Rexx var3 = var1.stream(new Rexx("plugin.ini"), new Rexx('c'), new Rexx("query exists"));
  209.       if (var3.OpNotEq((RexxSet)null, $$1)) {
  210.          var1.stream(var3, new Rexx('c'), new Rexx("open read"));
  211.  
  212.          while((new Rexx((new Rexx(var2)).OpLt((RexxSet)null, $$4))).OpAnd((RexxSet)null, new Rexx(var1.lines().OpNotEq((RexxSet)null, $$5)))) {
  213.             if ((new Rexx(var2)).OpEq((RexxSet)null, $$7)) {
  214.                this.bnPuno.setLabel(var1.linein().toString());
  215.             } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$9)) {
  216.                this.bnPdue.setLabel(var1.linein().toString());
  217.             } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$10)) {
  218.                this.bnPtre.setLabel(var1.linein().toString());
  219.             } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$11)) {
  220.                this.bnPquattro.setLabel(var1.linein().toString());
  221.             } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$12)) {
  222.                this.bnPcinque.setLabel(var1.linein().toString());
  223.             }
  224.  
  225.             this.rPluginClass[var2] = var1.linein();
  226.             var2 = (new Rexx(var2)).OpAdd((RexxSet)null, $$7).toint();
  227.          }
  228.  
  229.          var1.stream(var3, new Rexx('c'), new Rexx("close"));
  230.       }
  231.  
  232.       this.rPluginClass[0] = (new Rexx(var2)).OpSub((RexxSet)null, $$7);
  233.       var3 = var1.stream(new Rexx("maxbase.mnu"), new Rexx('c'), new Rexx("query exists"));
  234.       if (var3.OpNotEq((RexxSet)null, $$1)) {
  235.          var1.stream(var3, new Rexx('c'), new Rexx("open read"));
  236.          var1.linein();
  237.          this.bnDbTools.setLabel(var1.linein().toString());
  238.          this.bnRecords.setLabel(var1.linein().toString());
  239.          this.bnSelectAll.setLabel(var1.linein().toString());
  240.          this.bnDeselectAll.setLabel(var1.linein().toString());
  241.          this.bnMainPanel.setLabel(var1.linein().toString());
  242.          this.bnCreate.setLabel(var1.linein().toString());
  243.          this.bnDestroy.setLabel(var1.linein().toString());
  244.          this.bnAddField.setLabel(var1.linein().toString());
  245.          this.bnDelField.setLabel(var1.linein().toString());
  246.          this.bnModFieldIdx.setLabel(var1.linein().toString());
  247.          this.bnModThisField.setLabel(var1.linein().toString());
  248.          this.bnSetThisIdx.setLabel(var1.linein().toString());
  249.          this.bnYes.setLabel(var1.linein().toString());
  250.          this.bnFilter.setLabel(var1.linein().toString());
  251.          this.bnFilterOk.setLabel(var1.linein().toString());
  252.          this.bnNo.setLabel(var1.linein().toString());
  253.          this.bnGotOrder.setLabel(var1.linein().toString());
  254.          this.bnDelYes.setLabel(var1.linein().toString());
  255.          this.bnCrPrev.setLabel(var1.linein().toString());
  256.          this.bnFirst50.setLabel(var1.linein().toString());
  257.          this.bnAll.setLabel(var1.linein().toString());
  258.          this.bnCrNext.setLabel(var1.linein().toString());
  259.          this.bnCrDone.setLabel(var1.linein().toString());
  260.          this.bnStoreNewField.setLabel(var1.linein().toString());
  261.          this.bnDeleteThisField.setLabel(var1.linein().toString());
  262.          this.bnCrCancel.setLabel(var1.linein().toString());
  263.          this.bnConnect.setLabel(var1.linein().toString());
  264.          this.bnDisconnect.setLabel(var1.linein().toString());
  265.          this.bnRefresh.setLabel(var1.linein().toString());
  266.          this.bnProperties.setLabel(var1.linein().toString());
  267.          this.bnFormView.setLabel(var1.linein().toString());
  268.          this.bnPack.setLabel(var1.linein().toString());
  269.          this.bnAdd.setLabel(var1.linein().toString());
  270.          this.bnModify.setLabel(var1.linein().toString());
  271.          this.bnDelete.setLabel(var1.linein().toString());
  272.          this.bnOrder.setLabel(var1.linein().toString());
  273.          this.bnAStore.setLabel(var1.linein().toString());
  274.          this.bnMStore.setLabel(var1.linein().toString());
  275.          this.bnDBFtoDAT.setLabel(var1.linein().toString());
  276.          this.bnDATtoDBF.setLabel(var1.linein().toString());
  277.          var1.linein();
  278.          this.laCrName.setText(var1.linein().toString());
  279.          this.laCrLength.setText(var1.linein().toString());
  280.          this.laCrIndex.setText(var1.linein().toString());
  281.          this.laCrInfo.setText(var1.linein().toString());
  282.          this.laFilter.setText(var1.linein().toString());
  283.          this.laPage.setText(var1.linein().toString());
  284.          var1.linein();
  285.          this.rTXTFileNotPresent = var1.linein();
  286.          this.rTXTEnd = var1.linein();
  287.          this.rTXTChoose = var1.linein();
  288.          this.rTXTChooseDBF = var1.linein();
  289.          this.rTXTNoDb = var1.linein();
  290.          this.rTXTOneLine = var1.linein();
  291.          this.rTXTActRec = var1.linein();
  292.          this.rTXTShowHere = var1.linein();
  293.          this.rTXTMissInfo = var1.linein();
  294.          this.rTXTName = var1.linein();
  295.          this.rTXTWrkFld = var1.linein();
  296.          this.rTXTPickName = var1.linein();
  297.          this.rTXTMInfo = var1.linein();
  298.          this.rTXTMName = var1.linein();
  299.          this.rTXTNoIndex = var1.linein();
  300.          this.rTXTBigger = var1.linein();
  301.          this.rTXTFileExists = var1.linein();
  302.          this.rTXTSaved = var1.linein();
  303.          this.rTXTFindInfo = var1.linein();
  304.          this.rTXTFindTitle = var1.linein();
  305.          this.rTXTOrderTitle = var1.linein();
  306.          this.rTXTFldDelTitle = var1.linein();
  307.          this.rTXTModIdxTitle = var1.linein();
  308.          this.rTXTIdxStratTitle = var1.linein();
  309.          this.rTXTDelDb = var1.linein();
  310.          this.rTXTDelDbInfo = var1.linein();
  311.          this.rTXTRDel1 = var1.linein();
  312.          this.rTXTRDel2 = var1.linein();
  313.          this.rTXTRDel3 = var1.linein();
  314.          this.rTXTRDel4 = var1.linein();
  315.          this.rTXTWarning = var1.linein();
  316.          this.rTXTCurWork = var1.linein();
  317.          this.rTXTCreateDb = var1.linein();
  318.          this.rTXTAddFld = var1.linein();
  319.          this.rTXTAddFldTitle = var1.linein();
  320.          this.rTXTRecAdd = var1.linein();
  321.          this.rTXTRecMod = var1.linein();
  322.          this.rTXTRecBrowse = var1.linein();
  323.          this.rTXTSelPage = var1.linein();
  324.          this.rTXTStore = var1.linein();
  325.          this.rTXTCantAdd1 = var1.linein();
  326.          this.rTXTCantAdd2 = var1.linein();
  327.          this.rTXTIdxNONE0 = var1.linein();
  328.          this.rTXTIdxNONE1 = var1.linein();
  329.          this.rTXTIdxISAM00 = var1.linein();
  330.          this.rTXTIdxISAM01 = var1.linein();
  331.          this.rTXTIdxISAM10 = var1.linein();
  332.          this.rTXTIdxISAM11 = var1.linein();
  333.          var1.stream(var3, new Rexx('c'), new Rexx("close"));
  334.       }
  335.  
  336.       this.rShowed = new Rexx("50");
  337.       this.chCrIndex.addItem(this.rTXTIdxNONE0.toString());
  338.       this.chCrIndex.addItem(this.rTXTIdxNONE1.toString());
  339.       this.chCrIndex.addItem(this.rTXTIdxISAM00.toString());
  340.       this.chCrIndex.addItem(this.rTXTIdxISAM01.toString());
  341.       this.chCrIndex.addItem(this.rTXTIdxISAM10.toString());
  342.       this.chCrIndex.addItem(this.rTXTIdxISAM11.toString());
  343.       Dimension var4 = Toolkit.getDefaultToolkit().getScreenSize();
  344.       ((Component)this).resize(var4.width, (new Rexx(var4.height)).OpMult((RexxSet)null, new Rexx("0.5")).toint());
  345.       ((Component)this).move(0, (new Rexx(var4.height)).OpMult((RexxSet)null, new Rexx("0.25")).toint());
  346.       ((Component)this).setBackground(Color.lightGray);
  347.       ((Component)this).setForeground(Color.black);
  348.       this.field_0 = this.DbList.getFontMetrics(this.field_1);
  349.       this.scrolpan = new ScrollPanel();
  350.       this.DbList.reshape(0, 0, 10, 10);
  351.       this.scrolpan.setClient(this.DbList);
  352.       this.DbLayout();
  353.    }
  354.  
  355.    public MaxBase(String[] var1) {
  356.       Object var2 = null;
  357.       RXFile var3 = new RXFile();
  358.       this.doInitStuff();
  359.  
  360.       try {
  361.          var5 = var3.stream(new Rexx(var1[0]), new Rexx('c'), new Rexx("query exists"));
  362.       } catch (ArrayIndexOutOfBoundsException var4) {
  363.          var5 = new Rexx("");
  364.       }
  365.  
  366.       if (var5.OpNotEq((RexxSet)null, $$1)) {
  367.          this.CmdConnect(new Rexx(var1[0]));
  368.       }
  369.  
  370.    }
  371.  
  372.    public boolean handleEvent(Event var1) {
  373.       if ((new Rexx(var1.id)).OpEq((RexxSet)null, new Rexx(1001))) {
  374.          if (var1.target instanceof Button) {
  375.             if (var1.target == this.bnFilter) {
  376.                this.CreateFilterLayout();
  377.             } else if (var1.target == this.bnFilterOk) {
  378.                this.SetFilter();
  379.             } else if (var1.target == this.bnSelectAll) {
  380.                this.SelectAll();
  381.             } else if (var1.target == this.bnDeselectAll) {
  382.                this.DeselectAll();
  383.             } else if (var1.target == this.bnConnect) {
  384.                this.Connect();
  385.             } else if (var1.target == this.bnDbTools) {
  386.                this.DbToolsLayout();
  387.             } else if (var1.target == this.bnRecords) {
  388.                this.RecordsLayout();
  389.             } else if (var1.target == this.bnMainPanel) {
  390.                this.DbLayout();
  391.             } else if (var1.target == this.bnAddField) {
  392.                this.AddField();
  393.             } else if (var1.target == this.bnModFieldIdx) {
  394.                this.ModIdx();
  395.             } else if (var1.target == this.bnSetThisIdx) {
  396.                this.SetThisIdx();
  397.             } else if (var1.target == this.bnModThisField) {
  398.                this.SelectIdx();
  399.             } else if (var1.target == this.bnDelField) {
  400.                this.DelField();
  401.             } else if (var1.target == this.bnStoreNewField) {
  402.                this.StoreNewField();
  403.             } else if (var1.target == this.bnDeleteThisField) {
  404.                this.DeleteThisField();
  405.             } else if (var1.target == this.bnFirst50) {
  406.                this.SetFirst50();
  407.             } else if (var1.target == this.bnAll) {
  408.                this.SetAllRecords();
  409.             } else if (var1.target == this.bnRefresh) {
  410.                this.RefreshView();
  411.             } else if (var1.target == this.bnProperties) {
  412.                this.PropertiesLayout();
  413.             } else if (var1.target == this.bnFormView) {
  414.                this.FormView();
  415.             } else if (var1.target == this.bnCreate) {
  416.                this.Create();
  417.             } else if (var1.target == this.bnDestroy) {
  418.                this.DbDestroy();
  419.             } else if (var1.target == this.bnDisconnect) {
  420.                this.Disconnect();
  421.             } else if (var1.target == this.bnAdd) {
  422.                this.AddRecord();
  423.             } else if (var1.target == this.bnModify) {
  424.                this.ModiRecord();
  425.             } else if (var1.target == this.bnDelete) {
  426.                this.DeleRec();
  427.             } else if (var1.target == this.bnOrder) {
  428.                this.OrderBy();
  429.             } else if (var1.target == this.bnPack) {
  430.                this.PackIt();
  431.             } else if (var1.target == this.bnGotOrder) {
  432.                this.GotOrder();
  433.             } else if (var1.target == this.bnYes) {
  434.                this.DbDel();
  435.             } else if (var1.target == this.bnDelYes) {
  436.                this.RecDel();
  437.             } else if (var1.target == this.bnNo) {
  438.                this.CancelWithoutReload();
  439.             } else if (var1.target == this.bnCrCancel) {
  440.                this.CancelWithoutReload();
  441.             } else if (var1.target == this.bnCrNext) {
  442.                this.DbCrNext();
  443.             } else if (var1.target == this.bnCrPrev) {
  444.                this.DbCrPrev();
  445.             } else if (var1.target == this.bnCrDone) {
  446.                this.DbCrDone();
  447.             } else if (var1.target == this.bnAStore) {
  448.                this.AStore();
  449.             } else if (var1.target == this.bnMStore) {
  450.                this.MStore();
  451.             } else if (var1.target == this.bnPuno) {
  452.                this.Lancia(1);
  453.             } else if (var1.target == this.bnPdue) {
  454.                this.Lancia(2);
  455.             } else if (var1.target == this.bnPtre) {
  456.                this.Lancia(3);
  457.             } else if (var1.target == this.bnPquattro) {
  458.                this.Lancia(4);
  459.             } else if (var1.target == this.bnPcinque) {
  460.                this.Lancia(5);
  461.             } else if (var1.target == this.bnDBFtoDAT) {
  462.                this.DBFtoDAT();
  463.             } else if (var1.target == this.bnDATtoDBF) {
  464.                this.DATtoDBF();
  465.             }
  466.          } else if (var1.target instanceof Choice) {
  467.             if (var1.target == this.chPage) {
  468.                this.AddRecordLayout(new Rexx(this.chPage.getSelectedItem()), 1);
  469.             } else if (var1.target == this.chMPage) {
  470.                this.AddRecordLayout(new Rexx(this.chMPage.getSelectedItem()), 0);
  471.             } else if (var1.target == this.chFPage) {
  472.                this.AddRecordLayout(new Rexx(this.chFPage.getSelectedItem()), 2);
  473.             }
  474.          }
  475.       } else if ((new Rexx(var1.id)).OpEq((RexxSet)null, new Rexx(201))) {
  476.          if (this.rCurrentDb.OpNotEq((RexxSet)null, $$1)) {
  477.             this.dbMine.disconnect();
  478.          }
  479.  
  480.          System.exit(0);
  481.          return false;
  482.       }
  483.  
  484.       return super.handleEvent(var1);
  485.    }
  486.  
  487.    private void Lancia(int var1) {
  488.       Object var3 = null;
  489.       Process var4 = null;
  490.       Object var5 = null;
  491.       int var6 = 0;
  492.       RXFile var2 = new RXFile();
  493.       int var7 = 1;
  494.       boolean var8 = false;
  495.       boolean var9 = false;
  496.       int[] var19 = this.DbList.getSelectedIndexes();
  497.  
  498.       try {
  499.          var6 = var19[0];
  500.       } catch (ArrayIndexOutOfBoundsException var16) {
  501.          return;
  502.       }
  503.  
  504.       try {
  505.          while((new Rexx(var9)).OpEq((RexxSet)null, $$5)) {
  506.             int var10000 = var19[(new Rexx(var7)).OpSub((RexxSet)null, $$7).toint()];
  507.             var7 = (new Rexx(var7)).OpAdd((RexxSet)null, $$7).toint();
  508.          }
  509.       } catch (ArrayIndexOutOfBoundsException var17) {
  510.          var9 = true;
  511.       }
  512.  
  513.       int var10 = (new Rexx(var7)).OpSub((RexxSet)null, $$7).toint();
  514.  
  515.       for(int var21 = 1; !(new Rexx(var21)).OpGt((RexxSet)null, new Rexx(var10)); ++var21) {
  516.          if ((new Rexx(var19[(new Rexx(var21)).OpSub((RexxSet)null, $$7).toint()])).OpEq((RexxSet)null, $$5)) {
  517.             return;
  518.          }
  519.       }
  520.  
  521.       Runtime var18 = Runtime.getRuntime();
  522.  
  523.       try {
  524.          var4 = var18.exec(this.rPluginClass[var1].toString());
  525.       } catch (IOException var14) {
  526.       } catch (NullPointerException var15) {
  527.          RexxIO.Say((new Rexx("problem with plugin!:")).OpCc((RexxSet)null, new Rexx(String.valueOf(var4))).OpCc((RexxSet)null, new Rexx(' ')).OpCc((RexxSet)null, new Rexx(String.valueOf(var18))));
  528.       }
  529.  
  530.       var2.attachtooutputstream(var4.getOutputStream());
  531.       var2.attachtoinputstream(var4.getInputStream());
  532.       var2.lineout(this.rRecordStr[0][0]);
  533.       int var11 = this.rRecordStr[0][0].toint();
  534.  
  535.       for(int var22 = 1; !(new Rexx(var22)).OpGt((RexxSet)null, new Rexx(var11)); ++var22) {
  536.          var2.lineout(this.rRecordStr[var22][1]);
  537.       }
  538.  
  539.       var2.lineout((new Rexx(var7)).OpSub((RexxSet)null, $$7));
  540.       int var12 = (new Rexx(var7)).OpSub((RexxSet)null, $$7).toint();
  541.  
  542.       for(int var23 = 1; !(new Rexx(var23)).OpGt((RexxSet)null, new Rexx(var12)); ++var23) {
  543.          int var13 = this.rRecordStr[0][0].toint();
  544.  
  545.          for(int var24 = 1; !(new Rexx(var24)).OpGt((RexxSet)null, new Rexx(var13)); ++var24) {
  546.             var2.lineout(this.rRecArr[var24][var19[(new Rexx(var23)).OpSub((RexxSet)null, $$7).toint()]]);
  547.          }
  548.       }
  549.  
  550.    }
  551.  
  552.    private void Connect() {
  553.       boolean var2 = false;
  554.       Object var3 = null;
  555.       FileDialog var1 = new FileDialog(this, this.rTXTChoose.toString());
  556.       RXFile var4 = new RXFile();
  557.       ((Window)var1).show();
  558.       if (var1.getFile() != null) {
  559.          Rexx var7 = new Rexx(var1.getFile());
  560.          if (!var7.right(new Rexx((byte)4), new Rexx(' ')).upper().OpNotEq((RexxSet)null, new Rexx(".DAT"))) {
  561.             if (!var4.stream(var7, new Rexx('c'), new Rexx("query exists")).length().OpEq((RexxSet)null, $$5)) {
  562.                this.dbMine.disconnect();
  563.                this.dbMine = null;
  564.                this.dbMine = new RXDbase();
  565.                this.rCurrentDb = var7.left(var7.length().OpSub((RexxSet)null, $$11));
  566.                this.dbMine.connect(this.rCurrentDb);
  567.                this.rRecordStr = this.dbMine.getdbinfo();
  568.                this.iIdx = 0;
  569.                int var5 = this.rRecordStr[0][0].toint();
  570.  
  571.                for(int var6 = 1; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var5)); ++var6) {
  572.                   if (this.rRecordStr[var6][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  573.                      this.iIdx = var6;
  574.                   }
  575.                }
  576.  
  577.                this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  578.                this.rDbStats = this.dbMine.getdbstats();
  579.                ((Component)this).hide();
  580.                this.DbList.clear();
  581.                this.DBHeader();
  582.                this.DBFill();
  583.                this.DbLayout();
  584.             }
  585.          }
  586.       }
  587.    }
  588.  
  589.    private void CmdConnect(Rexx var1) {
  590.       boolean var2 = false;
  591.       this.dbMine.disconnect();
  592.       this.dbMine = null;
  593.       this.dbMine = new RXDbase();
  594.       this.rCurrentDb = var1.left(var1.length().OpSub((RexxSet)null, $$11));
  595.       this.dbMine.connect(this.rCurrentDb);
  596.       this.rRecordStr = this.dbMine.getdbinfo();
  597.       this.iIdx = 0;
  598.       int var3 = this.rRecordStr[0][0].toint();
  599.  
  600.       for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  601.          if (this.rRecordStr[var4][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  602.             this.iIdx = var4;
  603.          }
  604.       }
  605.  
  606.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  607.       this.rDbStats = this.dbMine.getdbstats();
  608.       ((Component)this).hide();
  609.       this.DbList.clear();
  610.       this.DBHeader();
  611.       this.DBFill();
  612.       this.DbLayout();
  613.    }
  614.  
  615.    private void RefreshView() {
  616.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  617.       this.rDbStats = this.dbMine.getdbstats();
  618.       ((Component)this).hide();
  619.       this.DbList.clear();
  620.       this.DBHeader();
  621.       this.DBFill();
  622.       this.RecordsLayout();
  623.    }
  624.  
  625.    private void Disconnect() {
  626.       this.dbMine.disconnect();
  627.       this.iIdx = 0;
  628.       ((Component)this).hide();
  629.       this.DbList.clear();
  630.       this.dbMine = null;
  631.       this.dbMine = new RXDbase();
  632.       this.rCurrentDb = new Rexx("");
  633.       ((Frame)this).setTitle(this.rTXTNoDb.toString());
  634.       this.DbLayout();
  635.    }
  636.  
  637.    private void DbDestroy() {
  638.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  639.          this.ConfirmLayout();
  640.       }
  641.    }
  642.  
  643.    private void DbDel() {
  644.       this.dbMine.disconnect();
  645.       this.dbMine.deletedb(this.rCurrentDb);
  646.       this.dbMine = null;
  647.       this.dbMine = new RXDbase();
  648.       this.rCurrentDb = new Rexx("");
  649.       this.DbLayout();
  650.       ((Component)this).hide();
  651.       this.DbList.clear();
  652.       ((Window)this).show();
  653.    }
  654.  
  655.    private void DBHeader() {
  656.       boolean var2 = false;
  657.       Rexx var1 = new Rexx("");
  658.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  659.          int var3 = this.rRecordStr[0][0].toint();
  660.  
  661.          for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  662.             var1 = var1.OpCc((RexxSet)null, this.rRecordStr[var4][1].right(this.rRecordStr[var4][0])).OpCc((RexxSet)null, new Rexx('.'));
  663.          }
  664.  
  665.          this.DbList.addItem(var1.toString());
  666.       }
  667.    }
  668.  
  669.    private void DBFill() {
  670.       boolean var2 = false;
  671.       boolean var3 = false;
  672.       new Rexx("");
  673.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  674.          int var4 = this.rRecArr[0][1].toint();
  675.  
  676.          for(int var6 = 1; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var4)); ++var6) {
  677.             Rexx var1 = new Rexx("");
  678.             int var5 = this.rRecordStr[0][0].toint();
  679.  
  680.             for(int var7 = 1; !(new Rexx(var7)).OpGt((RexxSet)null, new Rexx(var5)); ++var7) {
  681.                var1 = var1.OpCc((RexxSet)null, this.rRecArr[var7][var6]).OpCc((RexxSet)null, new Rexx('.'));
  682.             }
  683.  
  684.             this.DbList.addItem(var1.toString());
  685.          }
  686.  
  687.          ((Frame)this).setTitle(this.rTXTOneLine.OpCc((RexxSet)null, this.rCurrentDb).OpCc((RexxSet)null, new Rexx("; ")).OpCc((RexxSet)null, this.rDbStats[3]).OpCc((RexxSet)null, this.rTXTActRec).OpCc((RexxSet)null, this.rRecArr[0][1]).OpCc((RexxSet)null, this.rTXTShowHere).toString());
  688.          this.DbList.reshape(0, 0, (new Rexx(this.field_0.stringWidth(this.DbList.getItem((new Rexx(this.DbList.countItems())).OpSub((RexxSet)null, $$7).toint())))).OpMult((RexxSet)null, new Rexx("1.2")).OpDivI((RexxSet)null, $$7).toint(), (new Rexx(this.field_0.getHeight())).OpMult((RexxSet)null, (new Rexx(this.DbList.countItems())).OpAdd((RexxSet)null, $$7)).toint());
  689.       }
  690.    }
  691.  
  692.    private void CreateFilterLayout() {
  693.       Panel var1 = new Panel();
  694.       Panel var2 = new Panel();
  695.       ((Container)var1).setLayout(new FlowLayout());
  696.       if ((new Rexx(this.bnFilterOk.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  697.          ((Container)var1).add(this.bnFilterOk);
  698.       }
  699.  
  700.       if ((new Rexx(this.bnRecords.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  701.          ((Container)var1).add(this.bnRecords);
  702.       }
  703.  
  704.       ((Container)var2).add(this.laFilter);
  705.       ((Container)var2).add(this.tfCrName);
  706.       this.tfCrName.setText(this.rFilter.toString());
  707.       ((Container)var2).setLayout(new GridLayout(1, 2));
  708.       this.laCrInfo.setText(this.rTXTFindInfo.toString());
  709.       ((Container)this).removeAll();
  710.       ((Container)this).setLayout(new BorderLayout());
  711.       ((Container)this).add("South", this.laCrInfo);
  712.       ((Container)this).add("Center", var1);
  713.       ((Container)this).add("North", var2);
  714.       ((Frame)this).setTitle(this.rTXTFindTitle.toString());
  715.       ((Window)this).show();
  716.    }
  717.  
  718.    private void DbLayout() {
  719.       boolean var1 = false;
  720.       ((Container)this).removeAll();
  721.       ((Container)this).setLayout(new BorderLayout());
  722.       this.DbList.setFont(this.field_1);
  723.       this.field_3 = new Panel();
  724.       this.field_3.setLayout(new FlowLayout());
  725.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  726.          this.field_3.add(this.bnDbTools);
  727.       }
  728.  
  729.       if (this.rCurrentDb.OpNotEq((RexxSet)null, $$1)) {
  730.          if ((new Rexx(this.bnRecords.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  731.             this.field_3.add(this.bnRecords);
  732.          }
  733.  
  734.          if ((new Rexx(this.bnDisconnect.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  735.             this.field_3.add(this.bnDisconnect);
  736.          }
  737.  
  738.          if ((new Rexx(this.bnSelectAll.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  739.             this.field_3.add(this.bnSelectAll);
  740.          }
  741.  
  742.          if ((new Rexx(this.bnDeselectAll.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  743.             this.field_3.add(this.bnDeselectAll);
  744.          }
  745.  
  746.          if (this.rPluginClass[0].OpGt((RexxSet)null, $$5)) {
  747.             int var2 = this.rPluginClass[0].toint();
  748.  
  749.             for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  750.                if ((new Rexx(var3)).OpEq((RexxSet)null, $$7)) {
  751.                   this.field_3.add(this.bnPuno);
  752.                } else if ((new Rexx(var3)).OpEq((RexxSet)null, $$9)) {
  753.                   this.field_3.add(this.bnPdue);
  754.                } else if ((new Rexx(var3)).OpEq((RexxSet)null, $$10)) {
  755.                   this.field_3.add(this.bnPtre);
  756.                } else if ((new Rexx(var3)).OpEq((RexxSet)null, $$11)) {
  757.                   this.field_3.add(this.bnPquattro);
  758.                } else if ((new Rexx(var3)).OpEq((RexxSet)null, $$12)) {
  759.                   this.field_3.add(this.bnPcinque);
  760.                }
  761.             }
  762.          }
  763.       } else if ((new Rexx(this.bnConnect.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  764.          this.field_3.add(this.bnConnect);
  765.       }
  766.  
  767.       ((Container)this).add("South", this.field_3);
  768.       ((Container)this).add("Center", this.scrolpan);
  769.       if (this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  770.          ((Frame)this).setTitle(this.rTXTNoDb.toString());
  771.       } else {
  772.          ((Frame)this).setTitle(this.rTXTOneLine.OpCc((RexxSet)null, this.rCurrentDb).OpCc((RexxSet)null, new Rexx("; ")).OpCc((RexxSet)null, this.rDbStats[3]).OpCc((RexxSet)null, this.rTXTActRec).OpCc((RexxSet)null, this.rRecArr[0][1]).OpCc((RexxSet)null, this.rTXTShowHere).toString());
  773.       }
  774.  
  775.       ((Window)this).show();
  776.    }
  777.  
  778.    private void RecordsLayout() {
  779.       ((Container)this).removeAll();
  780.       ((Container)this).setLayout(new BorderLayout());
  781.       this.DbList.setFont(this.field_1);
  782.       Panel var1 = new Panel();
  783.       ((Container)var1).setLayout(new FlowLayout());
  784.       if ((new Rexx(this.bnAdd.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  785.          ((Container)var1).add(this.bnAdd);
  786.       }
  787.  
  788.       if ((new Rexx(this.bnModify.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  789.          ((Container)var1).add(this.bnModify);
  790.       }
  791.  
  792.       if ((new Rexx(this.bnDelete.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  793.          ((Container)var1).add(this.bnDelete);
  794.       }
  795.  
  796.       if ((new Rexx(this.bnOrder.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  797.          ((Container)var1).add(this.bnOrder);
  798.       }
  799.  
  800.       if ((new Rexx(this.bnFilter.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  801.          ((Container)var1).add(this.bnFilter);
  802.       }
  803.  
  804.       if ((new Rexx(this.bnFormView.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  805.          ((Container)var1).add(this.bnFormView);
  806.       }
  807.  
  808.       if ((new Rexx(this.bnRefresh.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  809.          ((Container)var1).add(this.bnRefresh);
  810.       }
  811.  
  812.       if ((new Rexx(this.bnMainPanel.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  813.          ((Container)var1).add(this.bnMainPanel);
  814.       }
  815.  
  816.       ((Container)this).add("South", var1);
  817.       ((Container)this).add("Center", this.scrolpan);
  818.       ((Window)this).show();
  819.    }
  820.  
  821.    private void DbToolsLayout() {
  822.       ((Container)this).removeAll();
  823.       ((Container)this).setLayout(new BorderLayout());
  824.       this.DbList.setFont(this.field_1);
  825.       this.dbToolsp = new Panel();
  826.       this.dbToolsp.setLayout(new FlowLayout());
  827.       if ((new Rexx(this.bnCreate.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  828.          this.dbToolsp.add(this.bnCreate);
  829.       }
  830.  
  831.       if (this.rCurrentDb.OpNotEq((RexxSet)null, $$1)) {
  832.          if ((new Rexx(this.bnDestroy.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  833.             this.dbToolsp.add(this.bnDestroy);
  834.          }
  835.  
  836.          if ((new Rexx(this.bnPack.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  837.             this.dbToolsp.add(this.bnPack);
  838.          }
  839.  
  840.          if ((new Rexx(this.bnAddField.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  841.             this.dbToolsp.add(this.bnAddField);
  842.          }
  843.  
  844.          if ((new Rexx(this.bnDelField.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  845.             this.dbToolsp.add(this.bnDelField);
  846.          }
  847.  
  848.          if ((new Rexx(this.bnModFieldIdx.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  849.             this.dbToolsp.add(this.bnModFieldIdx);
  850.          }
  851.       }
  852.  
  853.       if ((new Rexx(this.bnDBFtoDAT.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  854.          this.dbToolsp.add(this.bnDBFtoDAT);
  855.       }
  856.  
  857.       if ((new Rexx(this.bnDATtoDBF.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  858.          this.dbToolsp.add(this.bnDATtoDBF);
  859.       }
  860.  
  861.       if ((new Rexx(this.bnProperties.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  862.          this.dbToolsp.add(this.bnProperties);
  863.       }
  864.  
  865.       if ((new Rexx(this.bnMainPanel.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  866.          this.dbToolsp.add(this.bnMainPanel);
  867.       }
  868.  
  869.       ((Container)this).add("South", this.dbToolsp);
  870.       ((Container)this).add("Center", this.scrolpan);
  871.       if (this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  872.          ((Frame)this).setTitle(this.rTXTNoDb.toString());
  873.       } else {
  874.          ((Frame)this).setTitle(this.rTXTOneLine.OpCc((RexxSet)null, this.rCurrentDb).OpCc((RexxSet)null, new Rexx("; ")).OpCc((RexxSet)null, this.rDbStats[3]).OpCc((RexxSet)null, this.rTXTActRec).OpCc((RexxSet)null, this.rRecArr[0][1]).OpCc((RexxSet)null, this.rTXTShowHere).toString());
  875.       }
  876.  
  877.       ((Window)this).show();
  878.    }
  879.  
  880.    private void PropertiesLayout() {
  881.       ((Container)this).removeAll();
  882.       ((Container)this).setLayout(new BorderLayout());
  883.       this.DbList.setFont(this.field_1);
  884.       Panel var1 = new Panel();
  885.       ((Container)var1).setLayout(new FlowLayout());
  886.       if ((new Rexx(this.bnFirst50.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  887.          ((Container)var1).add(this.bnFirst50);
  888.       }
  889.  
  890.       if ((new Rexx(this.bnAll.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  891.          ((Container)var1).add(this.bnAll);
  892.       }
  893.  
  894.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  895.          ((Container)var1).add(this.bnDbTools);
  896.       }
  897.  
  898.       ((Container)this).add("South", var1);
  899.       ((Container)this).add("Center", this.scrolpan);
  900.       if (this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  901.          ((Frame)this).setTitle(this.rTXTNoDb.toString());
  902.       } else {
  903.          ((Frame)this).setTitle(this.rTXTOneLine.OpCc((RexxSet)null, this.rCurrentDb).OpCc((RexxSet)null, new Rexx("; ")).OpCc((RexxSet)null, this.rDbStats[3]).OpCc((RexxSet)null, this.rTXTActRec).OpCc((RexxSet)null, this.rRecArr[0][1]).OpCc((RexxSet)null, this.rTXTShowHere).toString());
  904.       }
  905.  
  906.       ((Window)this).show();
  907.    }
  908.  
  909.    private void OrderLayout(int[] var1) {
  910.       boolean var3 = false;
  911.       Panel var2 = new Panel();
  912.       this.FieldList.clear();
  913.       int var4 = var1[0];
  914.  
  915.       for(int var5 = 1; !(new Rexx(var5)).OpGt((RexxSet)null, new Rexx(var4)); ++var5) {
  916.          this.FieldList.addItem(this.rRecordStr[var1[var5]][1].toString());
  917.       }
  918.  
  919.       this.FieldList.setFont(this.field_2);
  920.       ((Container)var2).setLayout(new FlowLayout());
  921.       if ((new Rexx(this.bnGotOrder.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  922.          ((Container)var2).add(this.bnGotOrder);
  923.       }
  924.  
  925.       if ((new Rexx(this.bnRecords.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  926.          ((Container)var2).add(this.bnRecords);
  927.       }
  928.  
  929.       ((Container)this).removeAll();
  930.       ((Container)this).setLayout(new BorderLayout());
  931.       ((Container)this).add("South", var2);
  932.       ((Container)this).add("Center", this.FieldList);
  933.       ((Frame)this).setTitle(this.rTXTOrderTitle.toString());
  934.       ((Window)this).show();
  935.    }
  936.  
  937.    private void DelFieldLayout() {
  938.       boolean var2 = false;
  939.       Panel var1 = new Panel();
  940.       this.FieldList.clear();
  941.       int var3 = this.rRecordStr[0][0].toint();
  942.  
  943.       for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  944.          this.FieldList.addItem(this.rRecordStr[var4][1].toString());
  945.       }
  946.  
  947.       this.FieldList.setFont(this.field_2);
  948.       ((Container)var1).setLayout(new FlowLayout());
  949.       if ((new Rexx(this.bnDeleteThisField.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  950.          ((Container)var1).add(this.bnDeleteThisField);
  951.       }
  952.  
  953.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  954.          ((Container)var1).add(this.bnDbTools);
  955.       }
  956.  
  957.       ((Container)this).removeAll();
  958.       ((Container)this).setLayout(new BorderLayout());
  959.       ((Container)this).add("South", var1);
  960.       ((Container)this).add("Center", this.FieldList);
  961.       ((Frame)this).setTitle(this.rTXTFldDelTitle.toString());
  962.       ((Window)this).show();
  963.    }
  964.  
  965.    private void ModIdxLayout(int[] var1) {
  966.       boolean var3 = false;
  967.       Panel var2 = new Panel();
  968.       this.FieldList.clear();
  969.       int var4 = var1[0];
  970.  
  971.       for(int var5 = 1; !(new Rexx(var5)).OpGt((RexxSet)null, new Rexx(var4)); ++var5) {
  972.          this.FieldList.addItem(this.rRecordStr[var1[var5]][1].toString());
  973.       }
  974.  
  975.       this.FieldList.setFont(this.field_2);
  976.       ((Container)var2).setLayout(new FlowLayout());
  977.       if ((new Rexx(this.bnModThisField.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  978.          ((Container)var2).add(this.bnModThisField);
  979.       }
  980.  
  981.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  982.          ((Container)var2).add(this.bnDbTools);
  983.       }
  984.  
  985.       ((Container)this).removeAll();
  986.       ((Container)this).setLayout(new BorderLayout());
  987.       ((Container)this).add("South", var2);
  988.       ((Container)this).add("Center", this.FieldList);
  989.       ((Frame)this).setTitle(this.rTXTModIdxTitle.toString());
  990.       ((Window)this).show();
  991.    }
  992.  
  993.    private void SelectIdxLayout(Rexx[] var1) {
  994.       boolean var3 = false;
  995.       Panel var2 = new Panel();
  996.       this.FieldList.clear();
  997.       int var4 = var1[0].toint();
  998.  
  999.       for(int var5 = 1; !(new Rexx(var5)).OpGt((RexxSet)null, new Rexx(var4)); ++var5) {
  1000.          this.FieldList.addItem(var1[var5].toString());
  1001.       }
  1002.  
  1003.       this.FieldList.setFont(this.field_2);
  1004.       ((Container)var2).setLayout(new FlowLayout());
  1005.       if ((new Rexx(this.bnSetThisIdx.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1006.          ((Container)var2).add(this.bnSetThisIdx);
  1007.       }
  1008.  
  1009.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1010.          ((Container)var2).add(this.bnDbTools);
  1011.       }
  1012.  
  1013.       ((Container)this).removeAll();
  1014.       ((Container)this).setLayout(new BorderLayout());
  1015.       ((Container)this).add("South", var2);
  1016.       ((Container)this).add("Center", this.FieldList);
  1017.       ((Frame)this).setTitle(this.rTXTIdxStratTitle.toString());
  1018.       ((Window)this).show();
  1019.    }
  1020.  
  1021.    private void ConfirmLayout() {
  1022.       Panel var1 = new Panel();
  1023.       List var2 = new List(2, false);
  1024.       var2.addItem(this.rTXTDelDb.toString());
  1025.       var2.addItem(this.rTXTDelDbInfo.toString());
  1026.       ((Component)var2).setFont(this.field_2);
  1027.       ((Container)var1).setLayout(new FlowLayout());
  1028.       if ((new Rexx(this.bnYes.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1029.          ((Container)var1).add(this.bnYes);
  1030.       }
  1031.  
  1032.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1033.          ((Container)var1).add(this.bnDbTools);
  1034.       }
  1035.  
  1036.       ((Container)this).removeAll();
  1037.       ((Container)this).setLayout(new BorderLayout());
  1038.       ((Container)this).add("South", var1);
  1039.       ((Container)this).add("Center", var2);
  1040.       ((Frame)this).setTitle(this.rTXTWarning.toString());
  1041.       ((Window)this).show();
  1042.    }
  1043.  
  1044.    private void DeleteConfirmLayout() {
  1045.       Panel var1 = new Panel();
  1046.       List var2 = new List(2, false);
  1047.       if ((new Rexx(this.iOldPage)).OpEq((RexxSet)null, $$5)) {
  1048.          var2.addItem(this.rTXTRDel1.toString());
  1049.       } else {
  1050.          var2.addItem(this.rTXTRDel2.OpCc((RexxSet)null, (new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$7)).OpCc((RexxSet)null, this.rTXTRDel3).toString());
  1051.       }
  1052.  
  1053.       var2.addItem(this.rTXTRDel4.toString());
  1054.       ((Component)var2).setFont(this.field_2);
  1055.       ((Container)var1).setLayout(new FlowLayout());
  1056.       if ((new Rexx(this.bnDelYes.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1057.          ((Container)var1).add(this.bnDelYes);
  1058.       }
  1059.  
  1060.       if ((new Rexx(this.bnNo.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1061.          ((Container)var1).add(this.bnNo);
  1062.       }
  1063.  
  1064.       ((Container)this).removeAll();
  1065.       ((Container)this).setLayout(new BorderLayout());
  1066.       ((Container)this).add("South", var1);
  1067.       ((Container)this).add("Center", var2);
  1068.       ((Frame)this).setTitle(this.rTXTWarning.toString());
  1069.       ((Window)this).show();
  1070.    }
  1071.  
  1072.    private void CreateDbLayout() {
  1073.       Panel var1 = new Panel();
  1074.       Panel var2 = new Panel();
  1075.       ((Container)var1).setLayout(new FlowLayout());
  1076.       if ((new Rexx(this.bnCrPrev.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1077.          ((Container)var1).add(this.bnCrPrev);
  1078.       }
  1079.  
  1080.       if ((new Rexx(this.bnCrNext.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1081.          ((Container)var1).add(this.bnCrNext);
  1082.       }
  1083.  
  1084.       if ((new Rexx(this.bnCrDone.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1085.          ((Container)var1).add(this.bnCrDone);
  1086.       }
  1087.  
  1088.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1089.          ((Container)var1).add(this.bnDbTools);
  1090.       }
  1091.  
  1092.       ((Container)var2).add(this.laCrName);
  1093.       ((Container)var2).add(this.tfCrName);
  1094.       this.tfCrName.setText(this.rTempArr[1][1].toString());
  1095.       ((Container)var2).add(this.laCrLength);
  1096.       this.tfCrLength.setText(this.rTempArr[1][0].toString());
  1097.       ((Container)var2).add(this.tfCrLength);
  1098.       ((Container)var2).add(this.laCrIndex);
  1099.       ((Container)var2).add(this.chCrIndex);
  1100.       this.chCrIndex.select(this.rTXTIdxNONE0.toString());
  1101.       ((Container)var2).setLayout(new GridLayout(3, 2));
  1102.       this.laCrInfo.setText(this.rTXTCurWork.toString());
  1103.       ((Container)this).removeAll();
  1104.       ((Container)this).setLayout(new BorderLayout());
  1105.       ((Container)this).add("South", this.laCrInfo);
  1106.       ((Container)this).add("Center", var1);
  1107.       ((Container)this).add("North", var2);
  1108.       ((Frame)this).setTitle(this.rTXTCreateDb.toString());
  1109.       ((Window)this).show();
  1110.    }
  1111.  
  1112.    private void AddFieldLayout() {
  1113.       Panel var1 = new Panel();
  1114.       Panel var2 = new Panel();
  1115.       ((Container)var1).setLayout(new FlowLayout());
  1116.       if ((new Rexx(this.bnStoreNewField.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1117.          ((Container)var1).add(this.bnStoreNewField);
  1118.       }
  1119.  
  1120.       if ((new Rexx(this.bnDbTools.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1121.          ((Container)var1).add(this.bnDbTools);
  1122.       }
  1123.  
  1124.       ((Container)var2).add(this.laCrName);
  1125.       ((Container)var2).add(this.tfCrName);
  1126.       this.tfCrName.setText(this.rTempArr[1][1].toString());
  1127.       ((Container)var2).add(this.laCrLength);
  1128.       this.tfCrLength.setText(this.rTempArr[1][0].toString());
  1129.       ((Container)var2).add(this.tfCrLength);
  1130.       ((Container)var2).add(this.laCrIndex);
  1131.       ((Container)var2).add(this.chCrIndex);
  1132.       this.chCrIndex.select(this.rTXTIdxNONE0.toString());
  1133.       ((Container)var2).setLayout(new GridLayout(3, 2));
  1134.       this.laCrInfo.setText(this.rTXTAddFld.toString());
  1135.       ((Container)this).removeAll();
  1136.       ((Container)this).setLayout(new BorderLayout());
  1137.       ((Container)this).add("South", this.laCrInfo);
  1138.       ((Container)this).add("Center", var1);
  1139.       ((Container)this).add("North", var2);
  1140.       ((Frame)this).setTitle(this.rTXTAddFldTitle.toString());
  1141.       ((Window)this).show();
  1142.    }
  1143.  
  1144.    private void AddRecordLayout(Rexx var1, int var2) {
  1145.       int var5 = 0;
  1146.       boolean var6 = false;
  1147.       Panel var3 = new Panel();
  1148.       Panel var4 = new Panel();
  1149.       ((Container)this).removeAll();
  1150.       ((Container)this).setLayout(new BorderLayout());
  1151.       ((Container)var3).setLayout(new FlowLayout());
  1152.       if ((new Rexx(var2)).OpEq((RexxSet)null, $$7)) {
  1153.          ((Frame)this).setTitle(this.rTXTRecAdd.toString());
  1154.          if ((new Rexx(this.bnAStore.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1155.             ((Container)var3).add(this.bnAStore);
  1156.          }
  1157.       } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$5)) {
  1158.          ((Frame)this).setTitle(this.rTXTRecMod.toString());
  1159.          if ((new Rexx(this.bnMStore.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1160.             ((Container)var3).add(this.bnMStore);
  1161.          }
  1162.       } else {
  1163.          ((Frame)this).setTitle(this.rTXTRecBrowse.toString());
  1164.       }
  1165.  
  1166.       if ((new Rexx(this.bnNo.getLabel())).OpNotEq((RexxSet)null, $$46)) {
  1167.          ((Container)var3).add(this.bnNo);
  1168.       }
  1169.  
  1170.       if ((new Rexx(this.iOldPage)).OpNotEq((RexxSet)null, $$5)) {
  1171.          this.rRecArr2[$$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfOne.getText());
  1172.          if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1173.             this.rRecArr2[$$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfTwo.getText());
  1174.          }
  1175.  
  1176.          if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1177.             this.rRecArr2[$$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfThree.getText());
  1178.          }
  1179.  
  1180.          if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1181.             this.rRecArr2[$$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFour.getText());
  1182.          }
  1183.  
  1184.          if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1185.             this.rRecArr2[$$12.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFive.getText());
  1186.          }
  1187.       }
  1188.  
  1189.       this.iOldPage = var1.toint();
  1190.       this.laOne.setText(this.rRecordStr[$$7.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].toString());
  1191.       ((Container)var4).add(this.laOne);
  1192.       this.tfOne.setText(this.rRecArr2[$$7.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].strip().toString());
  1193.       ((Container)var4).add(this.tfOne);
  1194.       var5 = 1;
  1195.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$7.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1196.          ((Container)var4).add(this.laTwo);
  1197.          this.tfTwo.setText(this.rRecArr2[$$9.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].strip().toString());
  1198.          ((Container)var4).add(this.tfTwo);
  1199.          this.laTwo.setText(this.rRecordStr[$$9.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].toString());
  1200.          var5 = 2;
  1201.       }
  1202.  
  1203.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$9.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1204.          ((Container)var4).add(this.laThree);
  1205.          this.tfThree.setText(this.rRecArr2[$$10.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].strip().toString());
  1206.          ((Container)var4).add(this.tfThree);
  1207.          this.laThree.setText(this.rRecordStr[$$10.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].toString());
  1208.          var5 = 3;
  1209.       }
  1210.  
  1211.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$10.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1212.          ((Container)var4).add(this.laFour);
  1213.          this.tfFour.setText(this.rRecArr2[$$11.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].strip().toString());
  1214.          ((Container)var4).add(this.tfFour);
  1215.          this.laFour.setText(this.rRecordStr[$$11.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].toString());
  1216.          var5 = 4;
  1217.       }
  1218.  
  1219.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$11.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1220.          ((Container)var4).add(this.laFive);
  1221.          this.tfFive.setText(this.rRecArr2[$$12.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].strip().toString());
  1222.          ((Container)var4).add(this.tfFive);
  1223.          this.laFive.setText(this.rRecordStr[$$12.OpAdd((RexxSet)null, var1.OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1].toString());
  1224.          var5 = 5;
  1225.       }
  1226.  
  1227.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$12)) {
  1228.          ((Container)var4).add(this.laPage);
  1229.          if ((new Rexx(var2)).OpEq((RexxSet)null, $$7)) {
  1230.             this.chPage = new Choice();
  1231.             int var13 = this.rRecordStr[0][0].OpDivI((RexxSet)null, $$12).OpAdd((RexxSet)null, $$7).toint();
  1232.  
  1233.             for(int var11 = 1; !(new Rexx(var11)).OpGt((RexxSet)null, new Rexx(var13)); ++var11) {
  1234.                this.chPage.addItem(String.valueOf(var11));
  1235.             }
  1236.  
  1237.             ((Container)var4).add(this.chPage);
  1238.             this.chPage.select(var1.toString());
  1239.          } else if ((new Rexx(var2)).OpEq((RexxSet)null, $$5)) {
  1240.             this.chMPage = new Choice();
  1241.             int var12 = this.rRecordStr[0][0].OpDivI((RexxSet)null, $$12).OpAdd((RexxSet)null, $$7).toint();
  1242.  
  1243.             for(int var10 = 1; !(new Rexx(var10)).OpGt((RexxSet)null, new Rexx(var12)); ++var10) {
  1244.                this.chMPage.addItem(String.valueOf(var10));
  1245.             }
  1246.  
  1247.             ((Container)var4).add(this.chMPage);
  1248.             this.chMPage.select(var1.toString());
  1249.          } else {
  1250.             this.chFPage = new Choice();
  1251.             int var7 = this.rRecordStr[0][0].OpDivI((RexxSet)null, $$12).OpAdd((RexxSet)null, $$7).toint();
  1252.  
  1253.             for(int var9 = 1; !(new Rexx(var9)).OpGt((RexxSet)null, new Rexx(var7)); ++var9) {
  1254.                this.chFPage.addItem(String.valueOf(var9));
  1255.             }
  1256.  
  1257.             ((Container)var4).add(this.chFPage);
  1258.             this.chFPage.select(var1.toString());
  1259.          }
  1260.  
  1261.          this.laCrInfo.setText(this.rTXTSelPage.toString());
  1262.          var5 = (new Rexx(var5)).OpAdd((RexxSet)null, $$7).toint();
  1263.       } else {
  1264.          this.laCrInfo.setText(this.rTXTStore.toString());
  1265.       }
  1266.  
  1267.       ((Container)var4).setLayout(new GridLayout(var5, 2));
  1268.       ((Container)this).add("South", this.laCrInfo);
  1269.       ((Container)this).add("Center", var3);
  1270.       ((Container)this).add("North", var4);
  1271.       ((Window)this).show();
  1272.    }
  1273.  
  1274.    private void Create() {
  1275.       boolean var1 = false;
  1276.       this.Disconnect();
  1277.       byte var2 = 99;
  1278.  
  1279.       for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  1280.          this.rTempArr[var3][0] = new Rexx((byte)20);
  1281.          this.rTempArr[var3][1] = new Rexx("");
  1282.          this.rTempArr[var3][2] = this.rTXTIdxNONE0;
  1283.       }
  1284.  
  1285.       this.CreateDbLayout();
  1286.       this.iCurrFld = 1;
  1287.       this.rTempArr[0][0] = new Rexx((byte)1);
  1288.    }
  1289.  
  1290.    private void AddField() {
  1291.       this.rTempArr[1][0] = new Rexx((byte)20);
  1292.       this.rTempArr[1][1] = new Rexx("");
  1293.       this.rTempArr[1][2] = this.rTXTIdxNONE0;
  1294.       this.iCurrFld = 1;
  1295.       this.rTempArr[0][0] = new Rexx((byte)1);
  1296.       this.AddFieldLayout();
  1297.    }
  1298.  
  1299.    private void StoreNewField() {
  1300.       Object var1 = null;
  1301.       Object var2 = null;
  1302.       Rexx var3 = null;
  1303.       Object var4 = null;
  1304.       Rexx var5 = new Rexx(this.tfCrName.getText());
  1305.       Rexx var6 = new Rexx(this.tfCrLength.getText());
  1306.       if ((new Rexx(var5 == null)).OpOr((RexxSet)null, new Rexx(var6 == null))) {
  1307.          this.laCrInfo.setText(this.rTXTCantAdd1.toString());
  1308.       } else if ((new Rexx((new Rexx(var5.length().OpEq((RexxSet)null, $$5))).OpOr((RexxSet)null, new Rexx(var6.datatype(new Rexx('N')).OpNotEq((RexxSet)null, $$7))))).OpOr((RexxSet)null, new Rexx(var6.OpLt((RexxSet)null, $$7)))) {
  1309.          this.laCrInfo.setText(this.rTXTCantAdd2.toString());
  1310.       } else {
  1311.          Rexx var7 = new Rexx(this.chCrIndex.getSelectedItem());
  1312.          if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE0)) {
  1313.             var3 = new Rexx("NONE0");
  1314.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE1)) {
  1315.             var3 = new Rexx("NONE1");
  1316.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM00)) {
  1317.             var3 = new Rexx("ISAM00");
  1318.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM01)) {
  1319.             var3 = new Rexx("ISAM01");
  1320.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM10)) {
  1321.             var3 = new Rexx("ISAM10");
  1322.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM11)) {
  1323.             var3 = new Rexx("ISAM11");
  1324.          }
  1325.  
  1326.          this.dbMine.addfield(var5, var6, var3);
  1327.          this.dbMine.disconnect();
  1328.          this.dbMine = null;
  1329.          this.dbMine = new RXDbase();
  1330.          this.dbMine.connect(this.rCurrentDb);
  1331.          this.rRecordStr = this.dbMine.getdbinfo();
  1332.          this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1333.          this.rDbStats = this.dbMine.getdbstats();
  1334.          ((Component)this).hide();
  1335.          this.DbList.clear();
  1336.          this.DBHeader();
  1337.          this.DBFill();
  1338.          this.DbLayout();
  1339.       }
  1340.    }
  1341.  
  1342.    private void DeleteThisField() {
  1343.       int var1 = 0;
  1344.       var1 = (new Rexx(this.FieldList.getSelectedIndex())).OpAdd((RexxSet)null, $$7).toint();
  1345.       if (!(new Rexx(var1)).OpLt((RexxSet)null, $$7)) {
  1346.          this.dbMine.delfield(new Rexx(var1));
  1347.          this.dbMine.disconnect();
  1348.          this.dbMine = null;
  1349.          this.dbMine = new RXDbase();
  1350.          this.dbMine.connect(this.rCurrentDb);
  1351.          this.rRecordStr = this.dbMine.getdbinfo();
  1352.          this.iIdx = 0;
  1353.          int var2 = this.rRecordStr[0][0].toint();
  1354.  
  1355.          for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var2)); ++var4) {
  1356.             if (this.rRecordStr[var4][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  1357.                this.iIdx = var4;
  1358.             }
  1359.          }
  1360.  
  1361.          this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1362.          this.rDbStats = this.dbMine.getdbstats();
  1363.          ((Component)this).hide();
  1364.          this.DbList.clear();
  1365.          this.DBHeader();
  1366.          this.DBFill();
  1367.          this.DbLayout();
  1368.       }
  1369.    }
  1370.  
  1371.    private void CancelWithoutReload() {
  1372.       this.RecordsLayout();
  1373.       this.iOldPage = 0;
  1374.       if (this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1375.          ((Frame)this).setTitle(this.rTXTNoDb.toString());
  1376.       } else {
  1377.          ((Frame)this).setTitle(this.rTXTOneLine.OpCc((RexxSet)null, this.rCurrentDb).OpCc((RexxSet)null, new Rexx("; ")).OpCc((RexxSet)null, this.rDbStats[3]).OpCc((RexxSet)null, this.rTXTActRec).OpCc((RexxSet)null, this.rRecArr[0][1]).OpCc((RexxSet)null, this.rTXTShowHere).toString());
  1378.       }
  1379.  
  1380.       ((Window)this).show();
  1381.    }
  1382.  
  1383.    private void DbCrNext() {
  1384.       Object var1 = null;
  1385.       Object var2 = null;
  1386.       Rexx var3 = null;
  1387.       Object var4 = null;
  1388.       Rexx var5 = new Rexx(this.tfCrName.getText());
  1389.       Rexx var6 = new Rexx(this.tfCrLength.getText());
  1390.       if ((new Rexx(var5 == null)).OpOr((RexxSet)null, new Rexx(var6 == null))) {
  1391.          this.laCrInfo.setText(this.rTXTMissInfo.toString());
  1392.       } else if ((new Rexx((new Rexx(var5.length().OpEq((RexxSet)null, $$5))).OpOr((RexxSet)null, new Rexx(var6.datatype(new Rexx('N')).OpNotEq((RexxSet)null, $$7))))).OpOr((RexxSet)null, new Rexx(var6.OpLt((RexxSet)null, $$7)))) {
  1393.          this.laCrInfo.setText(this.rTXTName.toString());
  1394.       } else {
  1395.          this.rTempArr[this.iCurrFld][0] = var6;
  1396.          this.rTempArr[this.iCurrFld][1] = var5;
  1397.          Rexx var7 = new Rexx(this.chCrIndex.getSelectedItem());
  1398.          if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE0)) {
  1399.             var3 = new Rexx("NONE0");
  1400.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE1)) {
  1401.             var3 = new Rexx("NONE1");
  1402.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM00)) {
  1403.             var3 = new Rexx("ISAM00");
  1404.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM01)) {
  1405.             var3 = new Rexx("ISAM01");
  1406.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM10)) {
  1407.             var3 = new Rexx("ISAM10");
  1408.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM11)) {
  1409.             var3 = new Rexx("ISAM11");
  1410.          }
  1411.  
  1412.          this.rTempArr[this.iCurrFld][2] = var3;
  1413.          if ((new Rexx(this.iCurrFld)).OpLt((RexxSet)null, $$87)) {
  1414.             this.iCurrFld = (new Rexx(this.iCurrFld)).OpAdd((RexxSet)null, $$7).toint();
  1415.             if ((new Rexx(this.iCurrFld)).OpGt((RexxSet)null, this.rTempArr[0][0])) {
  1416.                this.rTempArr[0][0] = new Rexx(this.iCurrFld);
  1417.             }
  1418.          }
  1419.  
  1420.          this.tfCrLength.setText(this.rTempArr[this.iCurrFld][0].toString());
  1421.          this.tfCrName.setText(this.rTempArr[this.iCurrFld][1].toString());
  1422.          var7 = this.rTempArr[this.iCurrFld][2];
  1423.          if (var7.OpEq((RexxSet)null, new Rexx("NONE0"))) {
  1424.             var3 = this.rTXTIdxNONE0;
  1425.          } else if (var7.OpEq((RexxSet)null, new Rexx("NONE1"))) {
  1426.             var3 = this.rTXTIdxNONE1;
  1427.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM00"))) {
  1428.             var3 = this.rTXTIdxISAM00;
  1429.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM01"))) {
  1430.             var3 = this.rTXTIdxISAM01;
  1431.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM10"))) {
  1432.             var3 = this.rTXTIdxISAM10;
  1433.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM11"))) {
  1434.             var3 = this.rTXTIdxISAM11;
  1435.          }
  1436.  
  1437.          this.chCrIndex.select(var3.toString());
  1438.          this.laCrInfo.setText(this.rTXTWrkFld.OpCc((RexxSet)null, new Rexx(this.iCurrFld)).OpCc((RexxSet)null, $$90).toString());
  1439.       }
  1440.    }
  1441.  
  1442.    private void DbCrPrev() {
  1443.       Object var1 = null;
  1444.       Object var2 = null;
  1445.       Object var3 = null;
  1446.       Rexx var4 = null;
  1447.       Rexx var5 = new Rexx(this.tfCrName.getText());
  1448.       Rexx var6 = new Rexx(this.tfCrLength.getText());
  1449.       if ((new Rexx(var5 == null)).OpOr((RexxSet)null, new Rexx(var6 == null))) {
  1450.          this.laCrInfo.setText(this.rTXTMissInfo.toString());
  1451.       } else if ((new Rexx((new Rexx(var5.length().OpEq((RexxSet)null, $$5))).OpOr((RexxSet)null, new Rexx(var6.datatype(new Rexx('N')).OpNotEq((RexxSet)null, $$7))))).OpOr((RexxSet)null, new Rexx(var6.OpLt((RexxSet)null, $$7)))) {
  1452.          this.laCrInfo.setText(this.rTXTName.toString());
  1453.       } else {
  1454.          this.rTempArr[this.iCurrFld][0] = var6;
  1455.          this.rTempArr[this.iCurrFld][1] = var5;
  1456.          Rexx var7 = new Rexx(this.chCrIndex.getSelectedItem());
  1457.          if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE0)) {
  1458.             var4 = new Rexx("NONE0");
  1459.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxNONE1)) {
  1460.             var4 = new Rexx("NONE1");
  1461.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM00)) {
  1462.             var4 = new Rexx("ISAM00");
  1463.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM01)) {
  1464.             var4 = new Rexx("ISAM01");
  1465.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM10)) {
  1466.             var4 = new Rexx("ISAM10");
  1467.          } else if (var7.OpEq((RexxSet)null, this.rTXTIdxISAM11)) {
  1468.             var4 = new Rexx("ISAM11");
  1469.          }
  1470.  
  1471.          this.rTempArr[this.iCurrFld][2] = var4;
  1472.          if ((new Rexx(this.iCurrFld)).OpGt((RexxSet)null, $$7)) {
  1473.             this.iCurrFld = (new Rexx(this.iCurrFld)).OpSub((RexxSet)null, $$7).toint();
  1474.          }
  1475.  
  1476.          this.tfCrLength.setText(this.rTempArr[this.iCurrFld][0].toString());
  1477.          this.tfCrName.setText(this.rTempArr[this.iCurrFld][1].toString());
  1478.          var7 = this.rTempArr[this.iCurrFld][2];
  1479.          if (var7.OpEq((RexxSet)null, new Rexx("NONE0"))) {
  1480.             var4 = this.rTXTIdxNONE0;
  1481.          } else if (var7.OpEq((RexxSet)null, new Rexx("NONE1"))) {
  1482.             var4 = this.rTXTIdxNONE1;
  1483.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM00"))) {
  1484.             var4 = this.rTXTIdxISAM00;
  1485.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM01"))) {
  1486.             var4 = this.rTXTIdxISAM01;
  1487.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM10"))) {
  1488.             var4 = this.rTXTIdxISAM10;
  1489.          } else if (var7.OpEq((RexxSet)null, new Rexx("ISAM11"))) {
  1490.             var4 = this.rTXTIdxISAM11;
  1491.          }
  1492.  
  1493.          this.chCrIndex.select(var4.toString());
  1494.          this.laCrInfo.setText(this.rTXTWrkFld.OpCc((RexxSet)null, new Rexx(this.iCurrFld)).OpCc((RexxSet)null, $$90).toString());
  1495.       }
  1496.    }
  1497.  
  1498.    private void DbCrDone() {
  1499.       Object var2 = null;
  1500.       Object var3 = null;
  1501.       Rexx var5 = null;
  1502.       Object var7 = null;
  1503.       FileDialog var1 = new FileDialog(this, this.rTXTPickName.toString());
  1504.       RXFile var4 = new RXFile();
  1505.       Rexx var10 = new Rexx(this.tfCrName.getText());
  1506.       Rexx var11 = new Rexx(this.tfCrLength.getText());
  1507.       if ((new Rexx(var10 == null)).OpOr((RexxSet)null, new Rexx(var11 == null))) {
  1508.          this.laCrInfo.setText(this.rTXTMInfo.toString());
  1509.       } else if ((new Rexx((new Rexx(var10.length().OpEq((RexxSet)null, $$5))).OpOr((RexxSet)null, new Rexx(var11.datatype(new Rexx('N')).OpNotEq((RexxSet)null, $$7))))).OpOr((RexxSet)null, new Rexx(var11.OpLt((RexxSet)null, $$7)))) {
  1510.          this.laCrInfo.setText(this.rTXTMName.toString());
  1511.       } else {
  1512.          this.rTempArr[this.iCurrFld][0] = var11;
  1513.          this.rTempArr[this.iCurrFld][1] = var10;
  1514.          String var6 = this.chCrIndex.getSelectedItem();
  1515.          if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxNONE0)) {
  1516.             var5 = new Rexx("NONE0");
  1517.          } else if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxNONE1)) {
  1518.             var5 = new Rexx("NONE1");
  1519.          } else if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxISAM00)) {
  1520.             var5 = new Rexx("ISAM00");
  1521.          } else if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxISAM01)) {
  1522.             var5 = new Rexx("ISAM01");
  1523.          } else if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxISAM10)) {
  1524.             var5 = new Rexx("ISAM10");
  1525.          } else if ((new Rexx(var6)).OpEq((RexxSet)null, this.rTXTIdxISAM11)) {
  1526.             var5 = new Rexx("ISAM11");
  1527.          }
  1528.  
  1529.          this.rTempArr[this.iCurrFld][2] = var5;
  1530.          this.iIdx = 0;
  1531.          Rexx var9 = this.rTempArr[0][0];
  1532.  
  1533.          for(Rexx var12 = new Rexx((byte)1); !var12.OpGt((RexxSet)null, var9); var12 = var12.OpAdd((RexxSet)null, $$7)) {
  1534.             if (this.rTempArr[var12.toint()][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  1535.                this.iIdx = var12.toint();
  1536.             }
  1537.          }
  1538.  
  1539.          if ((new Rexx(this.iIdx)).OpEq((RexxSet)null, $$5)) {
  1540.             this.laCrInfo.setText(this.rTXTNoIndex.toString());
  1541.          } else {
  1542.             ((Window)var1).show();
  1543.             if (var1.getFile() != null) {
  1544.                String var8 = var1.getFile();
  1545.                if ((new Rexx(var8.length())).OpGt((RexxSet)null, $$11)) {
  1546.                   this.laCrInfo.setText(this.rTXTBigger.toString());
  1547.                } else if (var4.stream(new Rexx(var8), new Rexx('c'), new Rexx("query exists")).length().OpNotEq((RexxSet)null, $$5)) {
  1548.                   this.laCrInfo.setText(this.rTXTFileExists.toString());
  1549.                } else {
  1550.                   this.dbMine.connect(new Rexx(var8), this.rTempArr);
  1551.                   this.dbMine.disconnect();
  1552.                   this.dbMine = null;
  1553.                   this.dbMine = new RXDbase();
  1554.                   this.laCrInfo.setText(this.rTXTSaved.toString());
  1555.                }
  1556.             }
  1557.          }
  1558.       }
  1559.    }
  1560.  
  1561.    private void AddRecord() {
  1562.       boolean var1 = false;
  1563.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1564.          this.rRecArr2 = new Rexx[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$7).toint()][2];
  1565.          this.rRecArr2[0][0] = new Rexx((byte)1);
  1566.          int var2 = this.rRecordStr[0][0].toint();
  1567.  
  1568.          for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  1569.             this.rRecArr2[var3][1] = new Rexx("");
  1570.          }
  1571.  
  1572.          this.AddRecordLayout(new Rexx((byte)1), 1);
  1573.       }
  1574.    }
  1575.  
  1576.    private void AStore() {
  1577.       this.rRecArr2[$$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfOne.getText());
  1578.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1579.          this.rRecArr2[$$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfTwo.getText());
  1580.       }
  1581.  
  1582.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1583.          this.rRecArr2[$$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfThree.getText());
  1584.       }
  1585.  
  1586.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1587.          this.rRecArr2[$$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFour.getText());
  1588.       }
  1589.  
  1590.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1591.          this.rRecArr2[$$12.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFive.getText());
  1592.       }
  1593.  
  1594.       this.dbMine.saverec(this.rRecArr2, new Rexx("APPEND"));
  1595.       this.rDbStats[3] = this.rDbStats[3].OpAdd((RexxSet)null, $$7);
  1596.       this.CancelWithoutReload();
  1597.    }
  1598.  
  1599.    private void ModiRecord() {
  1600.       boolean var1 = false;
  1601.       this.iDeleted = this.DbList.getSelectedIndex();
  1602.       if (!(new Rexx((new Rexx(this.iDeleted)).OpLt((RexxSet)null, $$7))).OpOr((RexxSet)null, new Rexx(this.rCurrentDb.OpEq((RexxSet)null, $$1)))) {
  1603.          this.rRecArr2 = new Rexx[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$11).toint()][2];
  1604.          this.rRecArr2[0][0] = new Rexx((byte)1);
  1605.          this.rRecArr2[0][1] = this.rRecArr[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$9).toint()][this.iDeleted];
  1606.          int var2 = this.rRecordStr[0][0].toint();
  1607.  
  1608.          for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  1609.             this.rRecArr2[var3][1] = this.rRecArr[var3][this.iDeleted];
  1610.          }
  1611.  
  1612.          this.AddRecordLayout(new Rexx((byte)1), 0);
  1613.       }
  1614.    }
  1615.  
  1616.    private void FormView() {
  1617.       boolean var1 = false;
  1618.       int var2 = 0;
  1619.       var2 = this.DbList.getSelectedIndex();
  1620.       if (!(new Rexx((new Rexx(var2)).OpLt((RexxSet)null, $$7))).OpOr((RexxSet)null, new Rexx(this.rCurrentDb.OpEq((RexxSet)null, $$1)))) {
  1621.          this.rRecArr2 = new Rexx[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$11).toint()][2];
  1622.          this.rRecArr2[0][0] = new Rexx((byte)1);
  1623.          this.rRecArr2[0][1] = this.rRecArr[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$9).toint()][var2];
  1624.          int var3 = this.rRecordStr[0][0].toint();
  1625.  
  1626.          for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  1627.             this.rRecArr2[var4][1] = this.rRecArr[var4][var2];
  1628.          }
  1629.  
  1630.          this.AddRecordLayout(new Rexx((byte)1), 2);
  1631.       }
  1632.    }
  1633.  
  1634.    private Rexx spaces(Rexx var1) {
  1635.       Rexx var2 = new Rexx("");
  1636.       if (var1.OpGt((RexxSet)null, $$5)) {
  1637.          for(int var3 = var1.OpAdd((RexxSet)null, $$5).toint(); var3 > 0; var2 = var2.OpCc((RexxSet)null, new Rexx(' '))) {
  1638.             --var3;
  1639.          }
  1640.       }
  1641.  
  1642.       return var2;
  1643.    }
  1644.  
  1645.    private void MStore() {
  1646.       boolean var1 = false;
  1647.       Object var2 = null;
  1648.       this.rRecArr2[$$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfOne.getText());
  1649.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$7.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1650.          this.rRecArr2[$$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfTwo.getText());
  1651.       }
  1652.  
  1653.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$9.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1654.          this.rRecArr2[$$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfThree.getText());
  1655.       }
  1656.  
  1657.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$10.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1658.          this.rRecArr2[$$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFour.getText());
  1659.       }
  1660.  
  1661.       if (this.rRecordStr[0][0].OpGt((RexxSet)null, $$11.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)))) {
  1662.          this.rRecArr2[$$12.OpAdd((RexxSet)null, (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).OpMult((RexxSet)null, $$12)).toint()][1] = new Rexx(this.tfFive.getText());
  1663.       }
  1664.  
  1665.       Rexx var5 = this.dbMine.modirec(this.rRecArr2);
  1666.       if (var5.left(new Rexx((byte)1)).OpEq((RexxSet)null, $$112)) {
  1667.          int var3 = this.rRecordStr[0][0].toint();
  1668.  
  1669.          for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  1670.             this.rRecArr[var4][this.iDeleted] = this.spaces(this.rRecordStr[var4][0].OpSub((RexxSet)null, this.rRecArr2[var4][1].length())).OpCc((RexxSet)null, this.rRecArr2[var4][1]);
  1671.          }
  1672.       }
  1673.  
  1674.       ((Component)this).hide();
  1675.       this.DbList.clear();
  1676.       this.DBHeader();
  1677.       this.DBFill();
  1678.       this.CancelWithoutReload();
  1679.    }
  1680.  
  1681.    private void DeleRec() {
  1682.       boolean var2 = false;
  1683.       boolean var1 = false;
  1684.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1685.          this.iDelVis = this.DbList.getSelectedIndexes();
  1686.          if ((new Rexx(this.iDelVis[0])).OpEq((RexxSet)null, $$5)) {
  1687.             this.DbList.deselect(0);
  1688.          } else {
  1689.             this.iOldPage = 0;
  1690.             boolean var3 = true;
  1691.  
  1692.             while(true) {
  1693.                if (var3) {
  1694.                   var3 = false;
  1695.                } else if ((new Rexx(var1)).OpEq((RexxSet)null, $$7)) {
  1696.                   this.iOldPage = (new Rexx(this.iOldPage)).OpSub((RexxSet)null, $$7).toint();
  1697.                   if ((new Rexx(this.iOldPage)).OpLt((RexxSet)null, $$5)) {
  1698.                      return;
  1699.                   }
  1700.  
  1701.                   this.iDelArc = new int[(new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$7).toint()];
  1702.                   int var4 = this.iOldPage;
  1703.  
  1704.                   for(int var6 = 0; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var4)); ++var6) {
  1705.                      this.iDelArc[var6] = this.rRecArr[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$9).toint()][this.iDelVis[var6]].toint();
  1706.                   }
  1707.  
  1708.                   this.DeleteConfirmLayout();
  1709.                   return;
  1710.                }
  1711.  
  1712.                try {
  1713.                   int var10000 = this.iDelVis[this.iOldPage];
  1714.                   this.iOldPage = (new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$7).toint();
  1715.                } catch (ArrayIndexOutOfBoundsException var5) {
  1716.                   var1 = true;
  1717.                }
  1718.             }
  1719.          }
  1720.       }
  1721.    }
  1722.  
  1723.    private void RecDel() {
  1724.       boolean var1 = false;
  1725.       this.rToDele = new Rexx[(new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$9).toint()];
  1726.       this.rToDele[0] = (new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$7);
  1727.       int var2 = (new Rexx(this.iOldPage)).OpAdd((RexxSet)null, $$7).toint();
  1728.  
  1729.       for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  1730.          this.rToDele[var3] = new Rexx(this.iDelArc[(new Rexx(var3)).OpSub((RexxSet)null, $$7).toint()]);
  1731.       }
  1732.  
  1733.       this.dbMine.delerec(this.rToDele, true);
  1734.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1735.       this.rDbStats = this.dbMine.getdbstats();
  1736.       ((Component)this).hide();
  1737.       this.DbList.clear();
  1738.       this.DBHeader();
  1739.       this.DBFill();
  1740.       this.RecordsLayout();
  1741.    }
  1742.  
  1743.    private void OrderBy() {
  1744.       Object var1 = null;
  1745.       boolean var2 = false;
  1746.       int var3 = 1;
  1747.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1748.          int[] var5 = new int[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$9).toint()];
  1749.          int var4 = this.rRecordStr[0][0].toint();
  1750.  
  1751.          for(int var6 = 1; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var4)); ++var6) {
  1752.             if (this.rRecordStr[var6][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  1753.                var5[var3] = var6;
  1754.                var3 = (new Rexx(var3)).OpAdd((RexxSet)null, $$7).toint();
  1755.             }
  1756.          }
  1757.  
  1758.          var5[0] = (new Rexx(var3)).OpSub((RexxSet)null, $$7).toint();
  1759.          this.OrderLayout(var5);
  1760.       }
  1761.    }
  1762.  
  1763.    private void DelField() {
  1764.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1765.          this.DelFieldLayout();
  1766.       }
  1767.    }
  1768.  
  1769.    private void ModIdx() {
  1770.       Object var1 = null;
  1771.       boolean var2 = false;
  1772.       int var3 = 1;
  1773.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1774.          int[] var5 = new int[this.rRecordStr[0][0].OpAdd((RexxSet)null, $$9).toint()];
  1775.          int var4 = this.rRecordStr[0][0].toint();
  1776.  
  1777.          for(int var6 = 1; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var4)); ++var6) {
  1778.             var5[var3] = var6;
  1779.             var3 = (new Rexx(var3)).OpAdd((RexxSet)null, $$7).toint();
  1780.          }
  1781.  
  1782.          var5[0] = (new Rexx(var3)).OpSub((RexxSet)null, $$7).toint();
  1783.          this.ModIdxLayout(var5);
  1784.       }
  1785.    }
  1786.  
  1787.    private void SelectIdx() {
  1788.       Rexx[] var1 = new Rexx[7];
  1789.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1790.          this.iOldPage = (new Rexx(this.FieldList.getSelectedIndex())).OpAdd((RexxSet)null, $$7).toint();
  1791.          if (!(new Rexx(this.iOldPage)).OpLt((RexxSet)null, $$7)) {
  1792.             var1[1] = this.rTXTIdxNONE0;
  1793.             var1[2] = this.rTXTIdxNONE1;
  1794.             var1[3] = this.rTXTIdxISAM00;
  1795.             var1[4] = this.rTXTIdxISAM01;
  1796.             var1[5] = this.rTXTIdxISAM10;
  1797.             var1[6] = this.rTXTIdxISAM11;
  1798.             var1[0] = new Rexx((byte)6);
  1799.             this.SelectIdxLayout(var1);
  1800.          }
  1801.       }
  1802.    }
  1803.  
  1804.    private void SetThisIdx() {
  1805.       boolean var2 = false;
  1806.       Rexx var3 = null;
  1807.       Object var4 = null;
  1808.       int var1 = 0;
  1809.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1810.          this.iDeleted = this.FieldList.getSelectedIndex();
  1811.          if (!(new Rexx(this.iDeleted)).OpLt((RexxSet)null, $$5)) {
  1812.             Rexx var8 = new Rexx(this.FieldList.getSelectedItem());
  1813.             if (var8.OpEq((RexxSet)null, this.rTXTIdxNONE0)) {
  1814.                var3 = new Rexx("NONE0");
  1815.             } else if (var8.OpEq((RexxSet)null, this.rTXTIdxNONE1)) {
  1816.                var3 = new Rexx("NONE1");
  1817.             } else if (var8.OpEq((RexxSet)null, this.rTXTIdxISAM00)) {
  1818.                var3 = new Rexx("ISAM00");
  1819.             } else if (var8.OpEq((RexxSet)null, this.rTXTIdxISAM01)) {
  1820.                var3 = new Rexx("ISAM01");
  1821.             } else if (var8.OpEq((RexxSet)null, this.rTXTIdxISAM10)) {
  1822.                var3 = new Rexx("ISAM10");
  1823.             } else if (var8.OpEq((RexxSet)null, this.rTXTIdxISAM11)) {
  1824.                var3 = new Rexx("ISAM11");
  1825.             }
  1826.  
  1827.             if (var3.left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("NONE"))) {
  1828.                int var5 = this.rRecordStr[0][0].toint();
  1829.  
  1830.                for(int var6 = 1; !(new Rexx(var6)).OpGt((RexxSet)null, new Rexx(var5)); ++var6) {
  1831.                   if (this.rRecordStr[var6][2].left(new Rexx((byte)4)).OpNotEq((RexxSet)null, new Rexx("NONE"))) {
  1832.                      var1 = (new Rexx(var1)).OpAdd((RexxSet)null, $$7).toint();
  1833.                   }
  1834.                }
  1835.  
  1836.                if ((new Rexx(var1)).OpLt((RexxSet)null, $$9)) {
  1837.                   return;
  1838.                }
  1839.             }
  1840.  
  1841.             this.dbMine.modfieldidx(new Rexx(this.iOldPage), var3);
  1842.             this.dbMine.disconnect();
  1843.             this.dbMine = null;
  1844.             this.dbMine = new RXDbase();
  1845.             this.dbMine.connect(this.rCurrentDb);
  1846.             this.rRecordStr = this.dbMine.getdbinfo();
  1847.             this.iIdx = 0;
  1848.             int var9 = this.rRecordStr[0][0].toint();
  1849.  
  1850.             for(int var7 = 1; !(new Rexx(var7)).OpGt((RexxSet)null, new Rexx(var9)); ++var7) {
  1851.                if (this.rRecordStr[var7][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  1852.                   this.iIdx = var7;
  1853.                }
  1854.             }
  1855.  
  1856.             this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1857.             this.rDbStats = this.dbMine.getdbstats();
  1858.             ((Component)this).hide();
  1859.             this.DbList.clear();
  1860.             this.DBHeader();
  1861.             this.DBFill();
  1862.             this.DbLayout();
  1863.          }
  1864.       }
  1865.    }
  1866.  
  1867.    private void GotOrder() {
  1868.       int var1 = 0;
  1869.       var1 = this.FieldList.getSelectedIndex();
  1870.       if (!(new Rexx(var1)).OpLt((RexxSet)null, $$5)) {
  1871.          this.iIdx = (new Rexx(this.FieldList.getSelectedIndex())).OpAdd((RexxSet)null, $$7).toint();
  1872.          this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1873.          ((Component)this).hide();
  1874.          this.DbList.clear();
  1875.          this.RecordsLayout();
  1876.          this.DBHeader();
  1877.          this.DBFill();
  1878.       }
  1879.    }
  1880.  
  1881.    private void SetFirst50() {
  1882.       this.rShowed = new Rexx("50");
  1883.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1884.       this.rDbStats = this.dbMine.getdbstats();
  1885.       ((Component)this).hide();
  1886.       this.DbList.clear();
  1887.       this.DbLayout();
  1888.       this.DBHeader();
  1889.       this.DBFill();
  1890.    }
  1891.  
  1892.    private void SetAllRecords() {
  1893.       this.rShowed = new Rexx("all");
  1894.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1895.       this.rDbStats = this.dbMine.getdbstats();
  1896.       ((Component)this).hide();
  1897.       this.DbList.clear();
  1898.       this.DbLayout();
  1899.       this.DBHeader();
  1900.       this.DBFill();
  1901.    }
  1902.  
  1903.    private void DeselectAll() {
  1904.       Object var1 = null;
  1905.       int var2 = 0;
  1906.       int var3 = 1;
  1907.       boolean var4 = false;
  1908.       int[] var8 = this.DbList.getSelectedIndexes();
  1909.  
  1910.       try {
  1911.          var2 = var8[0];
  1912.       } catch (ArrayIndexOutOfBoundsException var6) {
  1913.          return;
  1914.       }
  1915.  
  1916.       try {
  1917.          while((new Rexx(var4)).OpEq((RexxSet)null, $$5)) {
  1918.             int var10000 = var8[(new Rexx(var3)).OpSub((RexxSet)null, $$7).toint()];
  1919.             var3 = (new Rexx(var3)).OpAdd((RexxSet)null, $$7).toint();
  1920.          }
  1921.       } catch (ArrayIndexOutOfBoundsException var7) {
  1922.          var4 = true;
  1923.       }
  1924.  
  1925.       ((Component)this).hide();
  1926.       int var5 = (new Rexx(var3)).OpSub((RexxSet)null, $$7).toint();
  1927.  
  1928.       for(int var10 = 1; !(new Rexx(var10)).OpGt((RexxSet)null, new Rexx(var5)); ++var10) {
  1929.          this.DbList.deselect(var8[(new Rexx(var10)).OpSub((RexxSet)null, $$7).toint()]);
  1930.       }
  1931.  
  1932.       ((Window)this).show();
  1933.    }
  1934.  
  1935.    private void SelectAll() {
  1936.       boolean var1 = false;
  1937.       int var2 = 0;
  1938.       var2 = this.DbList.countItems();
  1939.       if ((new Rexx(var2)).OpGt((RexxSet)null, $$5)) {
  1940.          ((Component)this).hide();
  1941.          int var3 = (new Rexx(var2)).OpSub((RexxSet)null, $$7).toint();
  1942.  
  1943.          for(int var4 = 1; !(new Rexx(var4)).OpGt((RexxSet)null, new Rexx(var3)); ++var4) {
  1944.             this.DbList.select(var4);
  1945.          }
  1946.  
  1947.          ((Window)this).show();
  1948.       }
  1949.  
  1950.    }
  1951.  
  1952.    private void PackIt() {
  1953.       boolean var1 = false;
  1954.       if (!this.rCurrentDb.OpEq((RexxSet)null, $$1)) {
  1955.          this.dbMine.pack();
  1956.          this.dbMine.disconnect();
  1957.          this.dbMine = null;
  1958.          this.dbMine = new RXDbase();
  1959.          this.dbMine.connect(this.rCurrentDb);
  1960.          this.rRecordStr = this.dbMine.getdbinfo();
  1961.          this.iIdx = 0;
  1962.          int var2 = this.rRecordStr[0][0].toint();
  1963.  
  1964.          for(int var3 = 1; !(new Rexx(var3)).OpGt((RexxSet)null, new Rexx(var2)); ++var3) {
  1965.             if (this.rRecordStr[var3][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM"))) {
  1966.                this.iIdx = var3;
  1967.             }
  1968.          }
  1969.  
  1970.          this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  1971.          this.rDbStats = this.dbMine.getdbstats();
  1972.          ((Component)this).hide();
  1973.          this.DbList.clear();
  1974.          this.DBHeader();
  1975.          this.DBFill();
  1976.          this.DbToolsLayout();
  1977.       }
  1978.    }
  1979.  
  1980.    private void SetFilter() {
  1981.       Object var2 = null;
  1982.       Object var3 = null;
  1983.       Rexx[] var1 = new Rexx[100];
  1984.       int var4 = 0;
  1985.       this.rFilter = new Rexx(this.tfCrName.getText());
  1986.       Rexx var7 = this.rFilter;
  1987.       if (this.rFilter.OpNotEq((RexxSet)null, $$1)) {
  1988.          boolean var5 = true;
  1989.  
  1990.          while(true) {
  1991.             if (var5) {
  1992.                var5 = false;
  1993.             } else if (var7.OpEq((RexxSet)null, $$1)) {
  1994.                var1[0] = new Rexx(var4);
  1995.                break;
  1996.             }
  1997.  
  1998.             var4 = (new Rexx(var4)).OpAdd((RexxSet)null, $$7).toint();
  1999.             Rexx[] var6 = new Rexx[2];
  2000.             RexxParse.parse(var7, $$150, var6);
  2001.             Rexx var8 = var6[0];
  2002.             var7 = var6[1];
  2003.             var1[var4] = var8;
  2004.          }
  2005.       } else {
  2006.          var1[0] = new Rexx("");
  2007.       }
  2008.  
  2009.       this.dbMine.definefilter(var1);
  2010.       this.rRecArr = this.dbMine.loadrec(new Rexx(this.iIdx), this.rShowed, new Rexx('1'), true);
  2011.       this.rDbStats = this.dbMine.getdbstats();
  2012.       ((Component)this).hide();
  2013.       this.DbList.clear();
  2014.       this.DBHeader();
  2015.       this.DBFill();
  2016.       this.RecordsLayout();
  2017.    }
  2018.  
  2019.    private void ConvertDbfToDat(Rexx var1, Rexx var2) {
  2020.       Object var3 = null;
  2021.       Object var12 = null;
  2022.       Object var17 = null;
  2023.       Object var18 = null;
  2024.       Object var19 = null;
  2025.       Object var20 = null;
  2026.       Object var21 = null;
  2027.       Object var22 = null;
  2028.       Object var23 = null;
  2029.       Rexx var4 = new Rexx((byte)0);
  2030.       Rexx[] var5 = new Rexx[7];
  2031.       RXFile var6 = new RXFile();
  2032.       RXFile var7 = new RXFile();
  2033.       RXDbase var8 = new RXDbase();
  2034.       RXFile var9 = new RXFile();
  2035.       var6.stream(var1, new Rexx('c'), new Rexx("open read"));
  2036.       Rexx var10 = var6.charin(0L, 32);
  2037.       if ((new Rexx(var10.substr(new Rexx((byte)1), new Rexx((byte)1)).OpNotEq((RexxSet)null, $$152.d2c()))).OpAnd((RexxSet)null, new Rexx(var10.substr(new Rexx((byte)1), new Rexx((byte)1)).OpNotEq((RexxSet)null, $$153.x2c())))) {
  2038.          System.exit(0);
  2039.       } else {
  2040.          if (var10.substr(new Rexx((byte)1), new Rexx((byte)1)).OpEq((RexxSet)null, $$153.x2c())) {
  2041.             Rexx var27 = var1.substr(new Rexx((byte)1), var1.length().OpSub((RexxSet)null, $$11)).OpCc((RexxSet)null, new Rexx(".dbt"));
  2042.             if (var7.stream(var27, new Rexx('c'), new Rexx("query exists")).length().OpEq((RexxSet)null, $$5)) {
  2043.                var4 = new Rexx((byte)0);
  2044.             } else {
  2045.                var4 = new Rexx((byte)1);
  2046.                var7.stream(var27, new Rexx('c'), new Rexx("open read"));
  2047.                var9.delete(new Rexx("_$$$.dbt"));
  2048.                Object var33 = null;
  2049.                var9 = new RXFile();
  2050.                var9.stream(new Rexx("_$$$.dbt"), new Rexx('c'), new Rexx("open write"));
  2051.             }
  2052.          }
  2053.  
  2054.          var5[1] = var10.substr(new Rexx((byte)2), new Rexx((byte)1));
  2055.          var5[1] = var5[1].c2x();
  2056.          var5[1] = var5[1].x2d();
  2057.          var5[2] = var10.substr(new Rexx((byte)3), new Rexx((byte)1));
  2058.          var5[2] = var5[2].c2x();
  2059.          var5[2] = var5[2].x2d();
  2060.          var5[3] = var10.substr(new Rexx((byte)4), new Rexx((byte)1));
  2061.          var5[3] = var5[3].c2x();
  2062.          var5[3] = var5[3].x2d();
  2063.          var5[4] = var10.substr(new Rexx((byte)5), new Rexx((byte)4)).reverse();
  2064.          Rexx var11 = new Rexx("");
  2065.  
  2066.          for(Rexx var42 = new Rexx((byte)1); !var42.OpGt((RexxSet)null, $$11); var42 = var42.OpAdd((RexxSet)null, $$7)) {
  2067.             var11 = var11.OpCc((RexxSet)null, var5[4].substr(var42, new Rexx((byte)1)).c2x());
  2068.          }
  2069.  
  2070.          var5[4] = var11.x2d();
  2071.          var5[5] = var10.substr(new Rexx((byte)9), new Rexx((byte)2)).reverse();
  2072.          var11 = new Rexx("");
  2073.  
  2074.          for(Rexx var43 = new Rexx((byte)1); !var43.OpGt((RexxSet)null, $$9); var43 = var43.OpAdd((RexxSet)null, $$7)) {
  2075.             var11 = var11.OpCc((RexxSet)null, var5[5].substr(var43, new Rexx((byte)1)).c2x());
  2076.          }
  2077.  
  2078.          var5[5] = var11.x2d();
  2079.          Rexx var13 = var5[5].OpSub((RexxSet)null, $$160).OpDivI((RexxSet)null, $$161);
  2080.          var5[6] = var10.substr(new Rexx((byte)11), new Rexx((byte)2)).reverse();
  2081.          var11 = new Rexx("");
  2082.  
  2083.          for(Rexx var44 = new Rexx((byte)1); !var44.OpGt((RexxSet)null, $$9); var44 = var44.OpAdd((RexxSet)null, $$7)) {
  2084.             var11 = var11.OpCc((RexxSet)null, var5[6].substr(var44, new Rexx((byte)1)).c2x());
  2085.          }
  2086.  
  2087.          var5[6] = var11.x2d();
  2088.          Rexx[] var14 = new Rexx[var13.OpAdd((RexxSet)null, $$7).toint()];
  2089.          Rexx[][] var15 = new Rexx[var13.OpAdd((RexxSet)null, $$7).toint()][3];
  2090.          Rexx[][] var16 = new Rexx[var13.OpAdd((RexxSet)null, $$7).toint()][var5[4].OpAdd((RexxSet)null, $$7).toint()];
  2091.          var15[0][0] = var13;
  2092.          Rexx var24 = var13;
  2093.  
  2094.          for(Rexx var45 = new Rexx((byte)1); !var45.OpGt((RexxSet)null, var24); var45 = var45.OpAdd((RexxSet)null, $$7)) {
  2095.             var10 = var6.charin(0L, 32);
  2096.             Rexx var47 = var10.substr(new Rexx((byte)1), new Rexx((byte)11));
  2097.             Rexx var49 = new Rexx("");
  2098.  
  2099.             for(Rexx var51 = new Rexx((byte)1); !var51.OpGt((RexxSet)null, $$166) && !var47.substr(var51, new Rexx((byte)1)).OpEq((RexxSet)null, $$167.d2c()); var51 = var51.OpAdd((RexxSet)null, $$7)) {
  2100.                var49 = var49.OpCc((RexxSet)null, var47.substr(var51, new Rexx((byte)1)));
  2101.             }
  2102.  
  2103.             var15[var45.toint()][0] = new Rexx((byte)0);
  2104.             var15[var45.toint()][1] = var49;
  2105.             var15[var45.toint()][2] = new Rexx("NONE0");
  2106.             var14[var45.toint()] = var10.substr(new Rexx((byte)12), new Rexx((byte)1));
  2107.             var47 = var10.substr(new Rexx((byte)17), new Rexx((byte)1)).c2x().x2d();
  2108.             var49 = var10.substr(new Rexx((byte)18), new Rexx((byte)1)).c2x().x2d();
  2109.             if ((new Rexx(var14[var45.toint()].OpEq((RexxSet)null, new Rexx('C')))).OpAnd((RexxSet)null, new Rexx(var49.OpGt((RexxSet)null, $$5)))) {
  2110.                var15[var45.toint()][0] = var49.OpMult((RexxSet)null, $$169).OpAdd((RexxSet)null, var47);
  2111.             } else {
  2112.                var15[var45.toint()][0] = var47;
  2113.             }
  2114.          }
  2115.  
  2116.          var15[1][2] = new Rexx("ISAM00");
  2117.          var8.deletedb(new Rexx("_$$$"));
  2118.          Object var30 = null;
  2119.          RXDbase var31 = new RXDbase();
  2120.          var31.connect(new Rexx("_$$$"), var15);
  2121.          var10 = var6.charin(0L, 2);
  2122.          var16[0][0] = var5[4];
  2123.          Rexx var25 = var5[4];
  2124.  
  2125.          for(Rexx var46 = new Rexx((byte)1); !var46.OpGt((RexxSet)null, var25); var46 = var46.OpAdd((RexxSet)null, $$7)) {
  2126.             var10 = var6.charin(0L, var5[6].toint());
  2127.             Rexx var53 = new Rexx((byte)1);
  2128.             Rexx var26 = var13;
  2129.  
  2130.             for(Rexx var52 = new Rexx((byte)1); !var52.OpGt((RexxSet)null, var26); var52 = var52.OpAdd((RexxSet)null, $$7)) {
  2131.                var16[var52.toint()][var46.toint()] = var10.substr(var53.OpAdd((RexxSet)null, $$7), var15[var52.toint()][0]);
  2132.                if (var14[var52.toint()].upper().OpEq((RexxSet)null, new Rexx('L'))) {
  2133.                   if ((new Rexx(var16[var52.toint()][var46.toint()].OpEq((RexxSet)null, new Rexx(' ')))).OpXor((RexxSet)null, new Rexx(var16[var52.toint()][1].OpEq((RexxSet)null, new Rexx('F'))))) {
  2134.                      var16[var52.toint()][var46.toint()] = new Rexx('N');
  2135.                   } else {
  2136.                      var16[var52.toint()][var46.toint()] = new Rexx('S');
  2137.                   }
  2138.                }
  2139.  
  2140.                if ((new Rexx(var14[var52.toint()].upper().OpEq((RexxSet)null, new Rexx('M')))).OpAnd((RexxSet)null, new Rexx(var4.OpEq((RexxSet)null, $$7)))) {
  2141.                   Rexx var54 = var16[var52.toint()][var46.toint()].OpMult((RexxSet)null, $$176);
  2142.                   var7.stream(new Rexx('c'), new Rexx("seek =1"));
  2143.                   var7.charin(0L, var54.toint());
  2144.                   Rexx var55 = var7.charin(0L, 512);
  2145.                   var9.lineout((new Rexx("Record ")).OpCcblank((RexxSet)null, var46));
  2146.  
  2147.                   while(true) {
  2148.                      Rexx var56 = var55.pos((new Rexx("1A")).x2c());
  2149.                      if (var56.OpGt((RexxSet)null, $$5)) {
  2150.                         var9.lineout(var55.left(var56.OpSub((RexxSet)null, $$7)));
  2151.                         break;
  2152.                      }
  2153.  
  2154.                      var9.charout(var55);
  2155.                      var55 = var7.charin(0L, 512);
  2156.                   }
  2157.                }
  2158.  
  2159.                var53 = var53.OpAdd((RexxSet)null, var15[var52.toint()][0]);
  2160.             }
  2161.          }
  2162.  
  2163.          var31.saverec(var16, new Rexx("OVERWRITE"));
  2164.          var31.disconnect();
  2165.          Object var32 = null;
  2166.          var6.stream(new Rexx('c'), new Rexx("close"));
  2167.          Object var28 = null;
  2168.          var7.stream(new Rexx('c'), new Rexx("close"));
  2169.          Object var29 = null;
  2170.          var9.stream(new Rexx('c'), new Rexx("close"));
  2171.          Object var34 = null;
  2172.          if (var2.right(new Rexx((byte)4)).OpNotEq((RexxSet)null, new Rexx("____"))) {
  2173.             RXFile var35 = new RXFile();
  2174.             var35.rename(new Rexx("_$$$.dat"), var2.OpCc((RexxSet)null, new Rexx(".dat")));
  2175.             var35.rename(new Rexx("_$$$1___.idx"), var2.OpCc((RexxSet)null, new Rexx("1___.idx")));
  2176.             if (var4.OpEq((RexxSet)null, $$7)) {
  2177.                var35.rename(new Rexx("_$$$.dbt"), var2.OpCc((RexxSet)null, new Rexx(".dbt")));
  2178.             }
  2179.  
  2180.             Object var36 = null;
  2181.          }
  2182.  
  2183.       }
  2184.    }
  2185.  
  2186.    private void ConvertDatToDbf(Rexx var1, Rexx var2) {
  2187.       Object var7 = null;
  2188.       Object var8 = null;
  2189.       Object var14 = null;
  2190.       Object var18 = null;
  2191.       Object var3 = null;
  2192.       Rexx[] var4 = new Rexx[7];
  2193.       RXFile var5 = new RXFile();
  2194.       RXDbase var6 = new RXDbase();
  2195.       Date var9 = new Date();
  2196.       if (var1.lower().right(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx(".dat"))) {
  2197.          var1 = var1.left(var1.length().OpSub((RexxSet)null, $$11));
  2198.       }
  2199.  
  2200.       var6.connect(var1);
  2201.       Rexx[][] var10 = var6.getdbinfo();
  2202.       Rexx[] var11 = var6.getdbstats();
  2203.       Rexx[][] var12 = new Rexx[var10[0][0].OpAdd((RexxSet)null, $$7).toint()][5];
  2204.       var12[0][0] = new Rexx((byte)2);
  2205.       Rexx var13 = new Rexx((byte)0);
  2206.       Rexx var19 = var10[0][0];
  2207.  
  2208.       for(Rexx var58 = new Rexx((byte)1); !var58.OpGt((RexxSet)null, var19); var58 = var58.OpAdd((RexxSet)null, $$7)) {
  2209.          if ((new Rexx(var10[var58.toint()][2].left(new Rexx((byte)4)).OpEq((RexxSet)null, new Rexx("ISAM")))).OpAnd((RexxSet)null, new Rexx(var13.OpEq((RexxSet)null, $$5)))) {
  2210.             var13 = var58;
  2211.          }
  2212.  
  2213.          var12[var58.toint()][1] = var10[var58.toint()][1].left(new Rexx((byte)10), new Rexx(' '));
  2214.          var12[var58.toint()][2] = new Rexx('C');
  2215.          if (var10[var58.toint()][0].OpLt((RexxSet)null, $$169)) {
  2216.             var12[var58.toint()][3] = var10[var58.toint()][0];
  2217.             var12[var58.toint()][4] = new Rexx((byte)0);
  2218.          } else {
  2219.             var12[var58.toint()][3] = var10[var58.toint()][0].OpRem((RexxSet)null, $$169);
  2220.             var12[var58.toint()][4] = var10[var58.toint()][0].OpDivI((RexxSet)null, $$169);
  2221.          }
  2222.       }
  2223.  
  2224.       var5.delete(var2);
  2225.       Object var45 = null;
  2226.       RXFile var46 = new RXFile();
  2227.       var46.stream(var2, new Rexx('c'), new Rexx("open write"));
  2228.       Rexx var24 = new Rexx(var9.getYear());
  2229.       var24 = var24.d2c();
  2230.       var4[1] = var24;
  2231.       var24 = (new Rexx(var9.getMonth())).OpAdd((RexxSet)null, $$7);
  2232.       var24 = var24.d2c();
  2233.       var4[2] = var24;
  2234.       var24 = new Rexx(var9.getDate());
  2235.       var24 = var24.d2c();
  2236.       var4[3] = var24;
  2237.       var24 = var11[2].d2x(new Rexx((byte)8));
  2238.       var24 = this.xToc(var24);
  2239.       var24 = var24.reverse();
  2240.       var4[4] = var24;
  2241.       var24 = $$160.OpAdd((RexxSet)null, var10[0][0].OpMult((RexxSet)null, $$161)).d2x(new Rexx((byte)4));
  2242.       var24 = this.xToc(var24);
  2243.       var24 = var24.reverse();
  2244.       var4[5] = var24;
  2245.       Rexx var15 = new Rexx((byte)0);
  2246.       Rexx var20 = var10[0][0];
  2247.  
  2248.       for(Rexx var59 = new Rexx((byte)1); !var59.OpGt((RexxSet)null, var20); var59 = var59.OpAdd((RexxSet)null, $$7)) {
  2249.          if (var12[var59.toint()][4].OpGt((RexxSet)null, $$5)) {
  2250.             var15 = var15.OpAdd((RexxSet)null, var12[var59.toint()][4].OpMult((RexxSet)null, $$169)).OpAdd((RexxSet)null, var12[var59.toint()][3]);
  2251.          } else {
  2252.             var15 = var15.OpAdd((RexxSet)null, var12[var59.toint()][3]);
  2253.          }
  2254.       }
  2255.  
  2256.       var15 = var15.OpAdd((RexxSet)null, $$7);
  2257.       var24 = var15.d2x(new Rexx((byte)4));
  2258.       var24 = this.xToc(var24);
  2259.       var24 = var24.reverse();
  2260.       var4[6] = var24;
  2261.       Rexx var51 = $$152.d2c().OpCc((RexxSet)null, var4[1]).OpCc((RexxSet)null, var4[2]).OpCc((RexxSet)null, var4[3]).OpCc((RexxSet)null, var4[4]).OpCc((RexxSet)null, var4[5]).OpCc((RexxSet)null, var4[6]);
  2262.       Rexx var16 = $$167.d2c();
  2263.       var51 = var51.left(new Rexx((byte)32), var16);
  2264.       Rexx var53 = new Rexx("");
  2265.       Rexx var21 = var10[0][0];
  2266.  
  2267.       for(Rexx var60 = new Rexx((byte)1); !var60.OpGt((RexxSet)null, var21); var60 = var60.OpAdd((RexxSet)null, $$7)) {
  2268.          var24 = var12[var60.toint()][1].OpCc((RexxSet)null, $$167.d2c());
  2269.          var53 = var53.OpCc((RexxSet)null, var24);
  2270.          var24 = var12[var60.toint()][2].left(new Rexx((byte)5), var16);
  2271.          var53 = var53.OpCc((RexxSet)null, var24);
  2272.          var24 = var12[var60.toint()][3].d2c();
  2273.          var53 = var53.OpCc((RexxSet)null, var24);
  2274.          var24 = var12[var60.toint()][4].d2c();
  2275.          var53 = var53.OpCc((RexxSet)null, var24.left(new Rexx((byte)15), var16));
  2276.          Object var43 = null;
  2277.       }
  2278.  
  2279.       var53 = var53.OpCc((RexxSet)null, $$192.d2c()).OpCc((RexxSet)null, $$167.d2c());
  2280.       var46.charout(var51);
  2281.       var46.charout(var53);
  2282.       var6.disconnect();
  2283.       Object var48 = null;
  2284.       RXDbase var49 = new RXDbase();
  2285.       var49.connect(var1);
  2286.       Rexx[][] var17 = var49.loadrec(var13, new Rexx("all"), new Rexx('1'), true);
  2287.       Rexx var22 = var17[0][0];
  2288.  
  2289.       for(Rexx var61 = new Rexx((byte)1); !var61.OpGt((RexxSet)null, var22); var61 = var61.OpAdd((RexxSet)null, $$7)) {
  2290.          var24 = new Rexx(' ');
  2291.          Rexx var23 = var10[0][0];
  2292.  
  2293.          for(Rexx var63 = new Rexx((byte)1); !var63.OpGt((RexxSet)null, var23); var63 = var63.OpAdd((RexxSet)null, $$7)) {
  2294.             var24 = var24.OpCc((RexxSet)null, var17[var63.toint()][var61.toint()]);
  2295.          }
  2296.  
  2297.          var46.charout(var24);
  2298.       }
  2299.  
  2300.       var46.charout($$197.d2c());
  2301.       var49.disconnect();
  2302.       Object var50 = null;
  2303.       var46.stream(new Rexx('c'), new Rexx("close"));
  2304.       Object var47 = null;
  2305.    }
  2306.  
  2307.    public Rexx xToc(Rexx var1) {
  2308.       Object var3 = null;
  2309.  
  2310.       Rexx var2;
  2311.       for(var2 = new Rexx(""); var1.OpNotEq((RexxSet)null, $$1); var2 = var2.OpCc((RexxSet)null, var5.x2c())) {
  2312.          Rexx[] var4 = new Rexx[2];
  2313.          RexxParse.parse(var1, $$199, var4);
  2314.          var5 = var4[0];
  2315.          var1 = var4[1];
  2316.       }
  2317.  
  2318.       return var2;
  2319.    }
  2320.  
  2321.    public void DATtoDBF() {
  2322.       Object var3 = null;
  2323.       Object var4 = null;
  2324.       FileDialog var1 = new FileDialog(this, this.rTXTChoose.toString());
  2325.       FileDialog var2 = new FileDialog(this, this.rTXTChooseDBF.toString());
  2326.       Rexx var5 = new Rexx("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
  2327.       RXFile var6 = new RXFile();
  2328.       this.DbList.clear();
  2329.       this.DbList.reshape(0, 0, (new Rexx(this.field_0.stringWidth(var5.toString()))).OpMult((RexxSet)null, $$11).OpDivI((RexxSet)null, $$7).toint(), (new Rexx(this.field_0.getHeight())).OpMult((RexxSet)null, $$12).toint());
  2330.       this.dbMine.disconnect();
  2331.       this.dbMine = null;
  2332.       this.dbMine = new RXDbase();
  2333.       ((Window)var1).show();
  2334.       if (var1.getFile() == null) {
  2335.          this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2336.       } else {
  2337.          Rexx var7 = new Rexx(var1.getFile());
  2338.          if (var7.right(new Rexx((byte)4), new Rexx(' ')).upper().OpNotEq((RexxSet)null, new Rexx(".DAT"))) {
  2339.             var7 = var7.OpCc((RexxSet)null, new Rexx(".dat"));
  2340.          }
  2341.  
  2342.          if (var6.stream(var7, new Rexx('c'), new Rexx("query exists")).length().OpEq((RexxSet)null, $$5)) {
  2343.             this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2344.          } else {
  2345.             ((Window)var2).show();
  2346.             if (var2.getFile() == null) {
  2347.                this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2348.             } else {
  2349.                Rexx var8 = new Rexx(var2.getFile());
  2350.                if (var8.right(new Rexx((byte)4), new Rexx(' ')).upper().OpNotEq((RexxSet)null, new Rexx(".DBF"))) {
  2351.                   var8 = var8.OpCc((RexxSet)null, new Rexx(".dbf"));
  2352.                }
  2353.  
  2354.                this.DbList.addItem(var7.OpCc((RexxSet)null, new Rexx("-->")).OpCc((RexxSet)null, var8).toString());
  2355.                this.DbList.reshape(0, 0, (new Rexx(this.field_0.stringWidth(this.DbList.getItem((new Rexx(this.DbList.countItems())).OpSub((RexxSet)null, $$7).toint())))).OpMult((RexxSet)null, $$11).OpDivI((RexxSet)null, $$7).toint(), (new Rexx(this.field_0.getHeight())).OpMult((RexxSet)null, $$12).toint());
  2356.                this.ConvertDatToDbf(var7, var8);
  2357.                this.DbList.addItem(this.rTXTEnd.toString());
  2358.             }
  2359.          }
  2360.       }
  2361.    }
  2362.  
  2363.    public void DBFtoDAT() {
  2364.       Object var3 = null;
  2365.       Object var4 = null;
  2366.       FileDialog var1 = new FileDialog(this, this.rTXTChooseDBF.toString());
  2367.       FileDialog var2 = new FileDialog(this, this.rTXTChoose.toString());
  2368.       Rexx var5 = new Rexx("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
  2369.       RXFile var6 = new RXFile();
  2370.       this.DbList.clear();
  2371.       this.DbList.reshape(0, 0, (new Rexx(this.field_0.stringWidth(var5.toString()))).OpMult((RexxSet)null, $$11).OpDivI((RexxSet)null, $$7).toint(), (new Rexx(this.field_0.getHeight())).OpMult((RexxSet)null, $$12).toint());
  2372.       this.dbMine.disconnect();
  2373.       this.dbMine = null;
  2374.       this.dbMine = new RXDbase();
  2375.       ((Window)var1).show();
  2376.       if (var1.getFile() == null) {
  2377.          this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2378.       } else {
  2379.          Rexx var7 = new Rexx(var1.getFile());
  2380.          if (var7.right(new Rexx((byte)4), new Rexx(' ')).upper().OpNotEq((RexxSet)null, new Rexx(".DBF"))) {
  2381.             var7 = var7.OpCc((RexxSet)null, new Rexx(".dbf"));
  2382.          }
  2383.  
  2384.          if (var6.stream(var7, new Rexx('c'), new Rexx("query exists")).length().OpEq((RexxSet)null, $$5)) {
  2385.             this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2386.          } else {
  2387.             ((Window)var2).show();
  2388.             if (var2.getFile() == null) {
  2389.                this.DbList.addItem(this.rTXTFileNotPresent.toString());
  2390.             } else {
  2391.                Rexx var8 = new Rexx(var2.getFile());
  2392.                if (var8.right(new Rexx((byte)4), new Rexx(' ')).upper().OpNotEq((RexxSet)null, new Rexx(".DAT"))) {
  2393.                   var8 = var8.OpCc((RexxSet)null, new Rexx(".dat"));
  2394.                }
  2395.  
  2396.                this.DbList.addItem(var7.OpCc((RexxSet)null, new Rexx("-->")).OpCc((RexxSet)null, var8).toString());
  2397.                this.ConvertDbfToDat(var7, var8.left(var8.length().OpSub((RexxSet)null, $$11)));
  2398.                this.DbList.addItem(this.rTXTEnd.toString());
  2399.             }
  2400.          }
  2401.       }
  2402.    }
  2403. }
  2404.