Es gibt einen Unterschied zwischen Funktionen und Prozeduren. Erstere liefern einen Wert zurück, zweitere erhalten nur Werte (können aber über die Parameter auch Variablen verändern - Betonung auf "verändern").
Du mixt jetzt irgendwie (warum auch immer) beides durcheinander: Du deklarierst eine Prozedur mit 2 Var-Parametern, erwartest aber plötzlich einen Rückgabewert. Das kann einfach nicht funktionieren, da du ja schließlich eine Prozedur, und keine Funktion hast. Daher mußt du eben den fehlenden Parameter noch mit übergeben und diesen dann gesondert auswerten.
Du mußt ja schließlich deine Parametervorgaben auch einhalten, wo kämen wir denn sonst hin?
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;