尽管运行带有参数的应用程序更像是过去的事情,但新版本的操作系统允许您在应用程序中运行参数。
并且 Delphi 与任何其他编程语言一样,允许您创建应用程序,通过ParamStr()函数读取发送的参数并与之交互。
我们不仅可以在运行时读取发送到应用程序的参数,还可以在调试时读取。为此,我们必须转到菜单运行 -> 参数,然后为每个应用程序版本放置必要的参数。
ParamStr() 和 ParamCount()
为了与发送到应用程序的参数进行交互,我们首先必须知道是否已经发送了某些参数。
要知道这些数据,我们有ParamCount()函数,它返回执行的应用程序接收到的参数数量。
知道收到的参数数量对于避免访问冲突类型的错误至关重要,因为如果我们想使用ParamStr (0) 函数读取参数,而我们还没有收到该参数,我们将收到上述错误。
在哪里读取接收到的参数
从执行onActivate事件开始,发送到应用程序的参数就可用了。
换句话说,从应用程序被激活的那一刻起,我们将能够访问所有接收到的参数,即使在onDestroy事件中也是如此。
paramStr() 例子
为了执行 ParamStr () 和 ParamCount () 函数的这个示例,我们创建一个空白应用程序并在表单中放置一个TMemo,如下图所示:
ParamStr 和 ParamCount 示例
我们打开菜单Run -> Parameters并在对话框中,在Parameters选项中放置一些参数进行测试,如下图所示:
Delphi 中的参数
然后,我们将以下代码放入Form的onActivate事件中:
procedure TForm1.FormActivate(Sender: TObject);
var
I: Integer;
begin
{Vaciamos el memo}
memo1.Lines.Clear;
{Leemos los parámetros recibidos y los mostramos en el memo}
for I := 0 to ParamCount() do
begin
memo1.Lines.Add(('Parámetro '+IntToStr(I)+' = '+ParamStr(I)));
end;
end;
执行应用程序时,我们会发现备忘录中显示了我们发送给应用程序的所有参数:
Delphi 接收参数
(是的,我知道,英文中的三写成三)
但是我们遇到了一个惊喜,Parameter 0。这个带有零索引的参数将出现在应用程序的每次执行中,它只不过是包含扩展名的应用程序的完整路径和名称。
请记住,如果在任何时候我们需要可执行文件所在的路径或文件名,我们将使用ParamStr (0) 函数提供它。
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.17270493507385 seconds