I don't know any Delphi, and have never heard of Paradox, but couldn't you with some trickage shift the bits of the integer a few places.
If the value of every unsigned integer does not go over 255 (1 byte) you will be able to fit four of those in one integer (4 bytes).
I'm a C++ person, but I'd do some binary trickage like this:
Code:
int a = 10;
int b = 11;
int c = 12;
int d = 13;
int result = 0;
result = a;
result = (result << 8) | b; // shift left 8 bits, add the second int. Use the OR operator to prevent numerical overflow.
result = (result << 8) | c; // same trick, shift a and b left a byte, and put c in the lowest byte
result = (result << 8) | d; // add d, now a is in the highest order byte, and d in the lowest order byte
// Recovering a, b c and d
d = result & 255; // filter out the lowest byte (& is logical AND operator)
c = (result >> 8) & 255; // move the number right a byte, c is now the lowest order byte, again AND with 255 to filter out the lowest order byte
b = (result >> 16) & 255; // b is the third byte, move the number right two bytes (pushing c and d away) and filter out b.
a = (result >> 24) & 255; // you should get this now
You should find out how to shift bits around in Delphi and how to do an AND and OR operation. You can also multiply or divide by 255 in order to achieve the bitshift (multiply with 255 is a left shift of one byte, divide by 255 is a right shift of one byte) , but note that some languages (Visual Basic) will cause problems with such large numbers. I don't know about Delphi, but I'll leave that up to you.