а зачем в коде:
????
почему их именно 3?
Если оставить хотя бы два readln, то в исходной версии кода программа сразу по нажатии на enter на этапе ввода операции завершиться.
В исправленном коде с read заменёнными на readln хватает и одного readln, чтобы она не завершалась сразу по вводу операции.
Но вообще помимо вопроса по данному конкретному примеру у меня есть вопросы по другим случаям. Возможно ли их тут озвучить или надо новые темы создавать? В общем то они все связаны с тем, что код выполняется не так как ожидалось.
Один всё таки озвучу. Например буквально на днях в проекте создавал класс который включал в себя массив записей. В записях планировал создать два поля типа boolean, последовательность действий была такая - сначала описал только одно поле с данным типом, проверил - всё работало, как только добавил второе поле с таким же типом, программа работать перестала. Убирал второе поле - работало, добавлял - переставало. Сам код не сохранился, так как я решил по другому действовать, а вот пример объявления остался (соответственно в полях StatData были объявлены поля типа boolean):
type StatData = record
date:TDateTime;
input:integer;
output:integer;
end;
type TStatistic = class
SData:array of StatData;
procedure StatDataFloat(firstdate,lastdate:TDateTime;Method:integer;UseCol:boolean);
procedure StatDataToStringGrid(var StringGrid:TstringGrid);
procedure StringGridAutoSize(Var StringGrid:TstringGrid);
procedure StatDataToTabel(var tab:TTabel);
procedure FinanceStatistic(firstdate,lastdate:TDateTime;Method:integer;UseCol:boolean);
end;