Volßnφ procedury a funkce

Procedury a funkce se ve vnit°nφm programovacφm jazyce volajφ zßpisem ve tvaru:

identifikßtor_procedury_nebo_funkce ( parametr, parametr, ... parametr)

Parametry musφ po °ad∞ odpovφdat formßlnφm parametr∙m uveden²m v deklaraci procedury resp. funkce. Pokud se p°edßvajφ odkazem, pak skuteΦn²m parametrem musφ b²t prom∞nnß tΘho₧ typu, jako formßlnφ parametr. Pokud se p°edßvajφ hodnotou, pak skuteΦn²m parametrem smφ b²t v²raz, jeho₧ hodnota se dß p°i°adit do formßlnφho parametru podle pravidel pro p°i°azovßnφ.

Volßnφ procedury je p°φkazem. Volßnφ funkce lze pou₧φt bu∩ jako p°φkaz (pak se hodnota funkce ignoruje) nebo jako operand ve v²razu.

P°φklad:

funkce (z aplikace Knihovna) je deklarovßna takto:

function BookTest(who : short) : boolean;
{**************************************}
// ov∞°φ, nemß-li ruÜen² Φtenß° vyp∙jΦenΘ n∞jakΘ knihy (z proc DeleteReader)
var
  ct : cursor;
  ss : string[100];
  cntt : integer;
begin
  BookTest := true;
  ss := 'select * from KNIHY where (VYRAZENA = false) and (KDO = '+Int2str(who)+')';
  if not Open_sql_cursor(ct,ss) then begin
    Rec_cnt(ct, cntt);
    if cntt = 0 then BookTest := false;
    Close_cursor(ct);
  end else Signalize;
end;

Funkce se volß z programu nap°. takto:

...
if BookTest(lidi[rec].cislo) then Info_box('Nelze','Tento Φtenß° dosud nevrßtil vÜechny knihy!!')
    else begin
...

Viz takΘ:

Programy

Vnit°nφ programovacφ jazyk