>А где, собственно, вопрос?
Ну вопрос был в самом начале -
что не так?
Во первых разберитесь - где у Вас начинаются и кончаются функции. Например Input, Len, S. Например, вынести Len и S из тела Input и написать их
перед Input.
Процедура Output тоже написана в неправильном месте.
Почитайте синтаксис на предмет - как описывать вложенные процедуры.(если именно это Вам нужно)
Во вторых - у Вас сначала считываются значения координат, а потом в цикле проверяется правильность. Хотя в данном случае проверка будет всегда проходить, но правильным должен быть такой порядок
Код:
Repeat
x11:=Strtofloat(edit1.Text);
...
y13:=Strtofloat(edit6.Text);
Flag:=Input(x11,y11,x12,y12,x13,y13);
until Flag;
и второй цикл для второго треугольника