程序的参数传递 两个程序,A.exe,B.exe程序A里有两个功能窗口,窗口1和窗口2用程序B调用程序A,通过执行A.exe -1或者A.exe -2这样自动打开A程序中的窗口1或者窗口2如何实现呢?主要是在程序A中如何获取这个参数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 原型function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的绝对路径。那么有paramstr(0),就肯定有paramstr(1),paramstr(2)...了。它们的值又是什么了?我试了下取出的是空值,又不能赋值。delphi帮助中说Returns a specified parameter from the command-line.从命令行中返回一个特别的参数。折腾了半天才搞清楚,就是在exe文件后面可以跟参数,paramstr 获取的就是exe文件后面跟参数。如有可执行文件project1.exe 在运行中输入e:\project1.exe 123 456 789 那么paramstr(1)='123' paramstr(2)='456' paramstr(3)='789'用shellexecute的话可以在parameters参数位置输入值。不同的参数值之间用空格隔开如 shellexecute(application.Handle,'open','project4.exe','123 456', 'e:\',SW_SHOW);所以用paramstr可以在应用程序间进行数据传输。 在A程序的创建时,判断paramstr[1]是否为-1,和-2来做不同的操作 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin//例:执行本程序时 E:\temp\A.exe -A -B edit1.text:=ParamStr(0); //Edit1值为 E:\temp\A.exe edit2.text:=ParamStr(1); //Edit1值为 -A edit3.text:=ParamStr(2); //Edit1值为 -Bend;end. dbgrid不显示第一列固定列 安装StringAlignGridD7报错有知道怎么解决的吗? 高难问题在线等待解决方法:如何用delphi程序获取路由器IP地址! 关于mxoutlookbarpro的问题! listbox内容的复制与删除. 怎么写后台服务能弹出窗口? DELPHI标准的DLL在WEB中能否调用? 关于displaywidth? access 的问题 有关interbase编程 delphi的LMD控件是什么东西啊? sql 語句里有沒有類似 delphi exit,abort之類的中斷
function paramstr(i:index):string 对于任何application paramstr(0)都默认代表的是应用程序的绝对路径。
那么有paramstr(0),就肯定有paramstr(1),paramstr(2)...了。
它们的值又是什么了?我试了下取出的是空值,又不能赋值。delphi帮助中说Returns a specified parameter from the command-line.从命令行中返回一个特别的参数。折腾了半天才搞清楚,就是在exe文件后面可以跟参数,paramstr 获取的就是exe文件后面跟参数。如有可执行文件project1.exe
在运行中输入e:\project1.exe 123 456 789
那么paramstr(1)='123' paramstr(2)='456' paramstr(3)='789'
用shellexecute的话可以在parameters参数位置输入值。
不同的参数值之间用空格隔开如 shellexecute(application.Handle,'open','project4.exe','123 456', 'e:\',SW_SHOW);所以用paramstr可以在应用程序间进行数据传输。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
//例:执行本程序时 E:\temp\A.exe -A -B
edit1.text:=ParamStr(0); //Edit1值为 E:\temp\A.exe
edit2.text:=ParamStr(1); //Edit1值为 -A
edit3.text:=ParamStr(2); //Edit1值为 -B
end;end.