Deklarace funkce

Funkce se ve vnit°nφm programovacφm jazyce deklaruje zßpisem ve tvaru:

function identifikßtor
  (skupina_par; ... skupina_par) : typ;
blok; 

kde skupina_par je skupina parametr∙ ve tvaru:

identifikßtor, ... identifikßtor : identifikßtor_typu

nebo

var identifikßtor, ... identifikßtor : identifikßtor_typu

V prvnφm p°φpad∞ se parametry p°edßvajφ hodnotou, v druhΘm referencφ (odkazem). DatabßzovΘ sloupce nelze p°edßvat referencφ. Blok funkce je tvo°en p°φpadn²mi deklaracemi konstant, typ∙ a prom∞nn²ch a t∞lem funkce, kter²m je slo₧en² p°φkaz.

Typ funkce musφ b²t bu∩ nestrukturovan², nebo typ °et∞zec znak∙.

P°φklady:

function Rand : real;
{**************************************}
// vrßtφ pseudonßhodnΘ Φφslo
const
  c1 = 13849;
  c2 = 27181;
  c3 = 65536;
begin
    seed := (c1+(c2*seed)) mod c3;
    Rand := seed/c3;
end;

function Exists(kod:string[8];var cisloVTab:integer) : boolean;
{**************************************}
// zjistφ, existuje-li kniha s kodem kod
// jestli₧e ano, vrßtφ v cisloVTab cislo zßznamu z tabulky Knihy
var
  ck : cursor;
  podm2 : string[100];
  pocet : integer;
begin
  podm2 := "select * from KNIHY where (VYRAZENA = false) and (KOD="""+kod+""")";
  if Open_sql_cursor(ck,podm2) then Exit;
  Rec_cnt(ck,pocet);        // zjistφ poΦet
  if pocet = 1 then begin   // to je ta pravß
    Translate(ck,0,0,cisloVTab);
    Exists := true              {OK}
  end  
  else begin                // dva a vφc nem∙₧e nastat
    Info_box("Upozorn∞nφ","Zadan² k≤d nebyl nalezen!");
    b := true;
    Exists := false;     
  end;
  Close_cursor(ck);  
end;

Viz takΘ:

Vnit°nφ programovacφ jazyk

Programy

Deklarace v programech

P°ehled typ∙