Funkcje
Funkcje są w swoim działaniu bardzo podobne do procedur. Właściwie w innych językach programowania, takich jak C++ czy Java, procedury w ogóle nie istnieją, dostępne są jedynie funkcje. Podstawowa różnica pomiędzy procedurami a funkcjami polega na tym, że te drugie zwracają jakąś wartość.
Deklaracja funkcji jest bardzo specyficzna, następuje bowiem poprzez użycie słowa kluczowego Function. Oprócz tego funkcja musi zwracać jakąś wartość, więc po znaku dwukropka należy wpisać typ zwracanej wartości:
function nazwa_funkcji : typ_danych;
begin
end;
Przykład:
function Imie : String;
begin
Result := 'Hubert';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:='Nazywam się ' + Imie;
end;
Po uruchomieniu takiego programu w Edicie zostanie wyświetlony tekst:
Nazywam się Hubert.
To wszystko stanie się za sprawą wiersza: Result := 'Hubert';
Słowo Result oznacza jakby ukrytą zmienną, po przypisaniu jej wartości zostanie ona zwrócona przez funkcję.
Uwaga
W Turbo Pascalu nie istniało takie słowo kluczowe jak Result. Zwracanie wartości przez funkcję następowało poprzez wykonanie takiego fragmentu: nazwa_funkcji := wartosc;
W miejsce Result należało wstawić nazwę funkcji. Wówczas program się kompilował,
a funkcja zwracała odpowiednią wartość.