PROCEDURE - ПРОЦЕДУРИ
 

Процедурите - PROCEDURE се дефинираат на следниот начин:

procedure IME (lista_na_argumenti:tip_na_argumenti ; var lista_na_argumenti1:tip_na_argumenti1) ;

lista_na_argumenti - чии вредности ги добива од местото на повикувањето (влезни аргументи). lista_na_argumenti1 - чии вредности ги враќа до местото на повикувањето (излезни аргументи). Со var пред lista_na_argumenti1 се нагласува дека овие ќе бидат излезни аргументи. Доколку листата на влезни аргументи има повеќе променливи од различни типови тогаш
се раздвојуваат со ;
 
Пример процедуре со два влезни аргументи А и B - integer, два влезни аргументи C и D - real и
излезот кој функцијата ќе го врати во главниот програм е Е и F кои се real, G и H кои се integer ( излезни аргументи)
изгледа вака: procedure test(a , b:integer ; c , d:real ; var e , f:real ; var G , H:integer );
var  lokalni_promenlivi;
         //локални променливи кои важат само за процедурата
begin
   
naredbi;
end;
 
Пример за процедура:   // после implementation
 
procedure otporproc(r1,r2:real;sp:string;var r3:real);
begin
    if (sp='s') or (sp='S') then
        r3:=r1+r2
    else
        r3:=(r1*r2)/(r1+r2);
end;

procedure TForm1.Button2Click(Sender: TObject);    // процедура на клик на button2
var g1,g2:integer;
    r1,r2,r3:real;
    sp,srez:string;
    begin
        val(edit1.Text,r1,g1);
        val(edit2.Text,r2,g2);
        sp:=edit3.Text;
        if (g1=0) and (g2=0) and (sp<>' ') then
            begin
                otporfunc(r1,r2,sp,r3);
                edit4.Text:=floattostr(r3)
            end
        else
            showmessage('Nekoj podatok e prazen !!!');
    end;
end.