Цитата:
Сообщение от J-Fobos
А может через жопу получится?
Максимальное значение integer плюс то что "не влезло" в переменную.
Код:
var
z:Cardinal;
z:=2147483647+abs(ReadD(10));
|
Не, это не то...
Я сделал вот так, через Int64:
Код:
function ReadX(index:integer):int64;
var
s:String;
begin
s:=pck[index+3]+pck[index+2]+pck[index+1]+pck[index];
s:='$'+StrToHex(s);
Result:=StrToInt64(s);
end;
Пробовал делать возвращаемое значение тип Cardinal. Но когда пытаешься преобразовать в строку через IntToStr, то опять получается отрицательное число.
Код кривой, из-за использования 8 байт вместо 4. Можно ли как то обойтись 4 байтами?