将变量传递给不同单元中的函数
Passing variable to function in different unit
我是 pascal 的新手,两天前从零开始,所以如果有人可以提供解决方案,我可以分析它并 learn/understand 它是如何完成的。
基本上我想做的是:
我有两个文件 "Start.pas" 和 "ReusableFunctions.pas"。
它们都位于同一个文件夹中。
在 Start.pas 中,我调用了位于 ReusableFunctions.pas
中的过程 "FunctionOne();"
我想将 Start.pas 中的变量 "ToTake" 传递给 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.
这很简单:如果你想让你的函数有参数,声明它们。任何针对 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
,这就是它在函数内部的已知方式(或者,正如程序员所说:在函数的 scope 中)。
FWIW,网上有非常好的 Pascal 教科书。看看例如Marco Cantù 的在线图书 Essential Pascal.
我是 pascal 的新手,两天前从零开始,所以如果有人可以提供解决方案,我可以分析它并 learn/understand 它是如何完成的。
基本上我想做的是:
我有两个文件 "Start.pas" 和 "ReusableFunctions.pas"。 它们都位于同一个文件夹中。
在 Start.pas 中,我调用了位于 ReusableFunctions.pas
中的过程 "FunctionOne();"我想将 Start.pas 中的变量 "ToTake" 传递给 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.
这很简单:如果你想让你的函数有参数,声明它们。任何针对 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
,这就是它在函数内部的已知方式(或者,正如程序员所说:在函数的 scope 中)。
FWIW,网上有非常好的 Pascal 教科书。看看例如Marco Cantù 的在线图书 Essential Pascal.