Это невозможно.Паскаль является строго типизированным языком, и что-то не может быть одновременно целочисленной и строкой, и переменные также не могут изменять тип:
IF Dep_Code = 1 THEN
Dep_Code := ('Accounts (ACC)')
Но вы неСтрока вообще не нужна .Держите это целое число.Функции, которые обрабатывают различные объекты, могут при необходимости писать или определять такие строки.Ваша логика для меню не нуждается в строковой переменной.
Сделайте что-то вроде:
procedure HandleAccounts(var Error: Boolean);
begin
...
end;
// Skipped the other functions to keep this answer short ...
var
Dep_Code: Integer;
AllFine: Boolean;
// Skip the rest of the necessary code ...
repeat
// Skipped the Writelns to keep this answer short ...
Readln(Dep_Code);
Error := False;
case Dep_Code of
1: HandleAccounts(Error);
2: HandleHumanResources(Error);
3: HandleOperations(Error);
else
Error := True;
end;
until not Error;
Выше я пропустил часть кода.Вы можете заполнить пробелы, я думаю.