Я новичок в сцене программирования Delphi, и у меня возникают проблемы с вызовом процедуры в процедуре моего консольного приложения.
Мое простое приложение предназначено для инвентаризации предметов, проходящей через сервер telnet в Windows.
Я использую старый ThinkPad в качестве моего thinclient под управлением Linux и клиента Telnet.
Используя Delphi XE, я столкнулся с ситуацией с курицей или яйцом.
Я получаю необъявленный идентификатор addcreen ... он объявлен, но в главном окне !!!
Если я помещаю процедуру addcreen поверх основной, любой вызов mainscreen в процедуре addcreen вызывает ошибку необъявленного идентификатора mainscreen!
Проще говоря, как заставить процедуру вызываться везде в программе?
Я пробовал интерфейс и реализацию, но она недопустима в консольной прикладной программе!
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, windows, messages, Console in 'Console.pas';
procedure mainscreen;
var
choice: string;
begin
clrscr;
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln(' | Inventory Management 0.1 ALPHA |');
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln('');
writeln('');
writeln('');
writeln('');
writeln('');
writeln(' Make a choice: Add(a), Remove(r), Edit(e), Backup Database(bd), Mass Add(ma), Mass Remove(mr)');
writeln('?:');
readln(choice);
if choice = 'a' then
addscreen
else
mainscreen;
end;
procedure addscreen;
var
choice: string;
begin
clrscr;
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln(' | Add an Item |');
writeln(' ------------------------------------------------------------------------------------------------------------------------------');
writeln('');
writeln('');
writeln('');
writeln(' Not yet ready!');
writeln(' Press any key to return to the main menu...');
readln(choice);
mainscreen;
end;
begin
mainscreen;
textbackground(black);
textcolor(lightgray);
ExitProcess(0);
end.
Большое спасибо!