Начало » Использование СУБД » Firebird, HQbird, InterBase » isc_vax_integer() и isc_portable_integer() (как оно там нонче)
isc_vax_integer() и isc_portable_integer() [сообщение #1705] |
Tue, 28 February 2023 18:14 |
МП
Сообщений: 887 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
Помню давно, когда деревья были большими, Dmitry Kovalenko бодался за чистоту кода в isc_vax_integer() апеллируя к isc_portable_integer().
Борманы с Дебаркадера насколько мне известно вообще объявили isc_vax_integer() депрекатедом.
Полез на гитхаб в исходники, посмотреть как оно нынче и нихрена не нашел.
То ли поиск такой, то ли лыжи не смазал.
Ткните в нужный файл, плс.
|
|
|
|
|
|
|
Re: isc_vax_integer() и isc_portable_integer() [сообщение #1738 является ответом на сообщение #1714] |
Fri, 03 March 2023 15:04 |
МП
Сообщений: 887 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
SDВот тебе набор кейсов, которыми я тестировал isc_portable_integer.
Спасибо!
потестировал, всё Ок.
procedure Test_vax_integer;
function DumpBuff(S: string): string;
var
i: Integer;
begin
Result := '';
for i := 1 to Length(S) do
if Result = '' then
Result := Result + IntToHex(Ord(S[i]), 2)
else
Result := Result + ' ' + IntToHex(Ord(S[i]), 2);
end;
procedure DoTest(S: string);
var
Res: Integer;
HexSrc: string;
HexRes: string;
begin
HexSrc := DumpBuff(S);
Res := gds__vax_integer(@S[1], Length(S));
HexRes := IntToHex(Res, 8);
Writeln(format('%s = %s (length %d)', [HexRes, HexSrc, Length(S)]));
end;
begin
DoTest(#0);
DoTest(#1);
DoTest(#$FF);
DoTest(#$7F);
DoTest(#$7F#$FF);
DoTest(#$80#$00);
DoTest(#$D5#$FE);
DoTest(#$78#$56#$34#$12);
end;
|
|
|
|
Re: isc_vax_integer() и isc_portable_integer() [сообщение #1780 является ответом на сообщение #1778] |
Thu, 09 March 2023 14:09 |
МП
Сообщений: 887 Зарегистрирован: August 2022 Географическое положение: бурятский тун...
|
Senior Member |
|
|
ну а нахрена для такой мелочи импортировать внешнюю функцию?
зы: всё началось с перекодирования ISC_DATE, ISC_TIME и TISC_TIMESTAMP в дельфийские TDate и TDateTime.
туда и обратно.
а isc_vax_integer уже "за компанию".
|
|
|
Переход к форуму:
Текущее время: Thu Nov 21 20:00:58 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01172 секунд
|