Ho risolto qualcosa usando una variabile di appoggio:
codice:
while unita<>0 do
   begin
   s1:=s1+'|';
   Dec(unita);
   end;
Forse avevo esagerato con i Result, meno male che mi ero ricordato che Result non è altro che il valore di ritorno della funzione...troppo pascal negli ultimi tempi..
Se vi viene in testa un algritmo migliore consigliatelo, nel frattempo sistemo la mia funzione!!
Bye