Я специально объявил их там, чтобы показать тебе, как можно пользоваться функциями не принадлежащими ни одному объекту. Здесь функция SlashSep объявлена не внутри объекта, значит она никому не принадлежит.
Вообще-то самостоятельные функции не обязательно где-либо объявлять. Ты можешь без проблем просто реализовать её и нигде не описывать. Но ты должен учитывать, что если ты где-то хочешь использовать эту функцию, то реализация обязательно должна быть раньше. Вот пример правильного использования самостоятельной процедуры/функции:
procedure Examp;
begin
end;
procedure Form1.Examp2; begin Examp; end;
В этом примере я создал самостоятельную процедуру Examp и метод объекта Form1
– Examp2. Из метода Examp2 я вызываю самостоятельную процедуру Examp. Этот код
правильный, потому что процедура сначала реализовывается, а потом уже используется. А теперь посмотри на неправильный код:
procedure Form1.Examp2; begin Examp; end;
procedure Examp;
begin
end;
В этом примере я пытаюсь вызвать процедуру, которая реализована после вызова и поэтому компилятор выдаст ошибку. Чтобы этого избежать, самостоятельные процедуры можно описывать в разделе var:
var procedure Examp;
procedure Form1.Examp2; begin Examp; end;
procedure Examp;
begin
end;
А теперь давай посмотрим, как же выглядит функция SlashSep: