Хм. У меня возник вопрос. Если возможно объявлять локальные функции внутри других функций, как это сделать?

Пишу простенький генератор паролей с проверкой на повторения, собственно нужно генерацию новой буквы с проверкой на повторение засунуть в отдельную функцию (рекурсивную). И решил освоить новый прием - функции внутри функций (собственно в с++ это, вроде как, применяется частенько).
2 ответа

procedure TForm1.Button1Click(Sender: TObject);
var a: integer; function dosmth(i: integer): integer; begin result := i * i; end;
begin a := 5; a := dosmth(a); showmessage(inttostr(a));
end;
UPD Пожалуйста


Спасибо, BDA, Ты реально, добрый профи.