我是 Delphi 编程领域的新手,我在控制台应用程序中调用一个过程中遇到了问题。
我的简单应用程序是一个物品清单,通过 Windows 上的 telnet 服务器运行。我使用一台旧的 ThinkPad 作为我的 ThinClient,在 Linux 上运行 telnet 客户端。
使用 Delphi XE,我遇到了一个先有鸡还是先有蛋的情况。
我得到了 addscreen 未声明的标识符...它已经在 mainscreen 下被声明了!!! 如果我将 addscreen 过程放在 mainscreen 过程之上,则在 addscreen 过程中对 mainscreen 的任何调用都会导致未声明的标识符 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.
非常感谢您!