Во время выполнения продолжайте запрашивать строку ввода, пока пользовательский ввод не станет именем существующего файла или каталога или другого элемента файловой системы относительно текущего рабочего каталога. Затем верните / распечатайте последнее введенное имя файла. Вы можете предположить, что все пользовательские вводы будут действительными именами файлов.
Псевдокод 1
myform = new form("GUI")
myform.mytxt = new editfield("")
myform.ok = new button("OK")
repeat
waitfor(myform.ok,"click")
until not filesystem.exists(myform.mytxt.content)
return(myform.mytxt.content)
Псевдокод 2
LET TEXT = "."
WHILE HASFILE(TEXT) DO
TEXT = PROMPT("")
ENDWHILE
RETURN TEXT
Примеры пользовательского ввода, который вызовет повторный запрос при использовании TIO:
.
..
.env.tio
/
/bin/[
/lost+found
Примеры пользовательского ввода, который будет возвращаться, когда на TIO:
...
env.tio
../../bin/]
/lost/found