Мой план состоит в том, чтобы сделать функцию, которая извлекает самый высокий элемент объекта, так сказать, верхний диапазон массива. Другими словами, я пытаюсь получить код функции High().
Что я пробовал до сих пор:
function High2(var X):integer;
begin
Result:=Pbyte(Cardinal(@X)-1)^-1;
end;
Приведенная выше функция должна считывать значение (длину) перед позицией первого элемента в объекте (массив/строка) и возвращать его, уменьшенное на 1. Однако она не возвращает правильные результаты ни для статического, ни для динамического типа массива.
Как воссоздать функцию High() в Паскале?