У меня есть эта проблема. Я в конце этой функции:
FUNCTION ToString(Liste : Pokemon) : String;
VAR
RES : STRING;
BEGIN
ClrScr;
TextBackground(Green);
Writeln('DER POKEDEX:');
Writeln;
WHILE (Liste <> NIL) DO
BEGIN
RES := RES + Concat('#',IntToStr(Liste^.PkmnPos), ': ', Liste^.PkmnName, '. // ', IntToStr(Liste^.PkmnKG), ' kg', chr(13),chr(10),chr(13),chr(10));
Liste := Liste^.Next;
END;
TextBackground(Black);
ToString := Res;
END;
Теперь у меня есть процедура под названием «Подменю». Итак, в коде основной программы я могу просто вызвать процедуру "Подменю()". Но когда я в этих вышеперечисленных функциях, мой код не компилируется. Пишет "идентификатор не найден". Но после того, как я закончу с этой функцией, последнее, что ей нужно сделать, это войти в подменю. И я действительно стараюсь не создавать бесконечный цикл в основной программе только для того, чтобы программа не закончилась. Каков наилучший способ сделать это?
О, и я знаю, что если бы у меня функция Submenu запускалась раньше других функций, она бы работала. Но обе функции вызывают друг друга, поэтому ни одна из них не может быть поверх друг друга, потому что всегда будет одна, которая не будет работать...
С уважением.