Eine Procedure gibt keinen Wert zurück. In deiner Funktion werden nur interne Variablen geändert. Du musst daraus eine Funktion machen oder einen Ergebniss-Parameter mit Var übergeben, der dann geändert wird:
Delphi-Quellcode:
Procedure Rapunzel(var erg: real; const a,bv,s: real);
begin
erg:= 78-a;
end;
//Aufruf:
Rapunzel(erg, 1,2,3);
Showmessage(floattostr(erg)); //Sollte jetzt 77 sein.
Erwarte das Beste und bereite dich auf das Schlimmste vor.