我是pascal的新手,2天前从零开始,所以如果有人能提供解决方案,我可以分析它并学习/了解它是如何完成的。
基本上我想做的事情:
我有两个名为" Start.pas"和" ReusableFunctions.pas"。 它们都位于同一个文件夹中。
在Start.pas中,我调用了一个过程" FunctionOne();"位于ReusableFunctions.pas
我想传递变量" ToTake"从Start.pas到ReusableFunctions.pas中的该过程,以便该过程打印正确的响应。
问题是我不知道如何传递变量,花5小时搜索尝试这个,并且不能让它工作。感觉很傻和困......
我的Start.pas文件代码:
USES
SysUtils, Classes, ReusableFunctions;
VAR
ToTake: integer = 1;
BEGIN
FunctionOne();
END.
我的ReusableFunctions.pas代码:
UNIT ReusableFunctions;
INTERFACE
USES
SysUtils, Classes;
PROCEDURE
FunctionOne();
IMPLEMENTATION
procedure FunctionOne();
begin
begin
case ToTake of
1: Print('A');
2: Print('B');
3: Print('C');
4: Print('D');
5: Print('E');
else Print('ERROR');
end;
end;
END.
答案 0 :(得分:1)
这很简单:如果你想让你的函数有参数,请声明它们。任何编程教科书,对于Pascal或大多数其他语言,都会教你有关参数(或参数,因为它们在其他一些语言中被调用)。它们对编程过程至关重要。
在单位ReusableFunctions中,声明:
procedure FunctionOne(Decision: Integer);
implementation
procedure FunctionOne(Decision: Integer);
begin
case Decision of
1: Print('A');
2: Print('B');
3: Print('C');
4: Print('D');
5: Print('E');
else
Print('ERROR');
end;
end;
现在你可以从主程序中调用它,如:
FunctionOne(ToTake);
请注意,参数的名称不必与传递给它的变量或值相同。我调用了参数Decision
,这就是函数内部的知识(或者,如程序员所说:在函数的范围中)。
FWIW,网上有非常好的Pascal教科书。看看例如MarcoCantù的在线书籍Essential Pascal。