bde2javaV2.faq1 - RJL050103 --------------------------- In src/Key.java, why do version and row digit chars overlap: setAbb ( strval[0-1] ) setVersion ( strval[2-5] ) setRow ( strval[4-11] ) This looks like a 12-byte key string with 8-byte Row including last 2 digits of 4-byte version.??? Yet, *size shows 2,2 and 4 bytes in privae data? ----------------------------------------- ... public class Key { private int value = 0; public static final int size = 8; public static final int versize = 2; public static final int abbsize = 2; public static final int rowsize = 4; private final int abbmask = 0x000000FF; private final int abbshift = 24; private final int vermask = 0x000000FF; private final int vershift = 16; private final int rowmask = 0x0000FFFF; private final int rowshift = 0; private Database TheSchema; private boolean Constructed; public Key(String strval, Database mySchema) { String buffer; int tmpint; Constructed = false; do { setTheSchema(mySchema); buffer = strval.substring(0,2); if(!setAbb(buffer)) break; buffer = strval.substring(2,4); tmpint = Integer.parseInt(buffer); if(!setVersion(tmpint)) break; buffer = strval.substring(4,8); tmpint = Integer.parseInt(buffer); if(!setRow(tmpint)) break; Constructed = true; } while(false); ... ------------------------------------------