public void Read(BinaryReader nfile) { int i, j, k; long longrecn = intRecordNumber; nfile.BaseStream.Position = (longrecn * 512); intKeysInThisNode = nfile.ReadInt32(); for (i = 0; i < intGeneralKeysPerNode; i++) { lower_level[i] = nfile.ReadInt32(); key_record_number[i] = nfile.ReadInt32(); if (objKeyType == dBaseType.N) { //Key is a double number key_expression[i] = new NodeKey(Convert.ToDouble(nfile.ReadInt64())); } else { key_buffer = nfile.ReadBytes(intKeyExpressionSize); for (k = 0; k < intKeyExpressionSize && key_buffer[k] != 0; k++) { ; } key_expression[i] = new NodeKey(dBaseConverter.C_ToString(key_buffer)); } j = intKeyExpressionSize % 4; if (j > 0) { j = 4 - j; } for (k = 0; k < j; k++) { nfile.ReadByte(); } } // for i if (lower_level[0] > 0) { boolBranch = true; } else { boolBranch = false; } lower_level[i] = nfile.ReadInt32(); }
public bool CompareKey(String keyToCompare) { NodeKey tempKey; if (objKeyType == dBaseType.F) { tempKey = new NodeKey(new NodeFloat(Double.Parse(keyToCompare))); } else { if (objKeyType == dBaseType.N) { Double d = Double.Parse(keyToCompare); tempKey = new NodeKey(d); } else { tempKey = new NodeKey(keyToCompare); } } return(objActiveKey.CompareKey(tempKey) == 0); }
public int CompareKey(NodeKey keyCompareTo) { int ret = 0; if (this.objType != keyCompareTo.NodeKeyType) { return(-1); // throw new xBaseJException("Node key types do not match"); } if (this.objType == dBaseType.C) { String s = (String)this.objKey; s = RebuildString(s); String t = keyCompareTo.ToString(); t = RebuildString(t); return(s.CompareTo(t)); } if (this.objType == dBaseType.F) { NodeFloat nf = (NodeFloat)this.objKey; NodeFloat nft = (NodeFloat)keyCompareTo.objKey; return(nf.CompareTo(nft)); } Double d = (Double)this.objKey; double d2 = d - keyCompareTo.GetDouble; if (d2 < 0.0) { return(-1); } if (d2 > 0.0) { return(1); } return(ret); }
public void SetKeyValue(double key) { key_expression[intPosition] = new NodeKey(key); }
public void SetKeyValue(NodeKey key) { key_expression[intPosition] = key; }
public KeyList(NodeKey Key, int i) { this.objKey = Key; this.intWhere = i; }
public int add_entry(int recno) { NodeKey newkey = BuildKey(); return(add_entry(newkey, recno)); }
public abstract int add_entry(NodeKey key, int recno);