Немного позанудствуем про тонкости работы с IDE Lazarus и Object Pascal.
Наверное, сталкивались с ситуацией, когда при использовании функции BoolToStr (входит в состав модуля sysutils) ответ True превращается в -1. Например, вот так:

Технически, это правильно, потому что любое значение отличное от 0 это истина. Конечно, это неудобно, но всё же такая форма ответа будет встречаться, если в параметрах функции BoolToStr не было указано явного значения.
Для наглядности создадим проект и поместим на форму кнопку:

Теперь напишем простейшую логическую функцию, которая будет принимать строчный параметр year. В операторе сравнения принимаемый параметр будет сравниваться со значением 2023 и исходя из этого будет возвращаться значение True или False.
Функция будет выглядеть так:
function BooleanFunction(year:string):boolean; begin if year='2023' then result:=true else result:=false; end;
Повесим на кнопку процедуру с выводом сообщения:
procedure Tmain_form.Button1Click(Sender: TObject);
begin
ShowMessage(BooltoStr(BooleanFunction('2023')));
end;
Так как в функции BoolToStr сейчас только один параметр, а именно функция BooleanFunction(‘2023’) — в сообщении будет всё тот же -1 для True и 0 для False.
Добавим в процедуру две константы с соответствующим значением — ok и notok. Отредактируем BoolToStr в соответствии с документацией:
procedure Tmain_form.Button1Click(Sender: TObject);
const
ok='Всё правильно!';
notok='Что-то пошло не так...';
begin
ShowMessage(BooltoStr(BooleanFunction('2023'), ok, notok));
end;
Порядок параметров функции таков: функция, значение истины, значение лжи.
В итоге получаем:

Закрываем программу. Изменяем 2023 на 2024:
procedure Tmain_form.Button1Click(Sender: TObject);
const
ok='Всё правильно!';
notok='Что-то пошло не так...';
begin
ShowMessage(BooltoStr(BooleanFunction('2024'), ok, notok));
end;
Пересобираем. По нажатию на кнопку выходит соответствующее сообщение:

И больше не нужны никакие дополнительные операторы сравнения ответов от функций.
А если необходимо получить именно классическую пару True-False — можно указать в функции только параметр истины и BoolToStr сам разберётся, что именно от него хотят.
procedure Tmain_form.Button1Click(Sender: TObject);
begin
ShowMessage(BooltoStr(BooleanFunction('2024'), True));
end;
После пересборки проекта процедура выдаст вот такое окно:
