Delphi中paramstr的用法

原型        

        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可以在应用程序间进行数据传输。

 

//获取程序参数
//可从 Project -> Options -> Debugger -> Parameters 中输入模拟参数, 多个参数可用空格隔开
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i := 1 to ParamCount do
  begin
    ListBox1.Items.Add(ParamStr(i));
  end;
end;

 

 

 

paramStr()函数参数返回值的来源

  Parameters 里面是空白,ParamStr(1) 是 Parameters 里面的空格分割的第一个部分。

 

  快捷方式里面的目标可以加参数
  创建进程的时候可以加参数
  执行 ShellExecute 的时候也可以加参数
  多个参数之间是空格分割的

 

Delphi中paramstr的用法Delphi中paramstr的用法

 

@天天快乐 用ParamCount()得到有多少个参数, 参数放在ParamStr(n), ParamStr(0)是执行文件, 第一个参数在ParamStr(1)
 
 
@天天快乐 读参数前用ParamCount判断有没有参数, 如果ParamCount为0, 即没参数, ParamStr(1)放什么还重要么? 我不知道它会放什么, 因为我从来都会用ParamCount判断, 如果是零我根本就不会读它, 所以我不知道它会是什么, 有兴趣你可以试试

 

原文链接: https://www.cnblogs.com/azbane/p/7594921.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    Delphi中paramstr的用法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/399192

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月12日 上午10:01
下一篇 2023年4月12日 上午10:01

相关推荐