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 的時候也可以加參數
  多個參數之間是空格分割的

 

 

@天天快樂 用ParamCount()得到有多少個參數, 參數放在ParamStr(n), ParamStr(0)是執行文件, 第一個參數在ParamStr(1)
 
 
@天天快樂 讀參數前用ParamCount判斷有沒有參數, 如果ParamCount為0, 即沒參數, ParamStr(1)放什么還重要么? 我不知道它會放什么, 因為我從來都會用ParamCount判斷, 如果是零我根本就不會讀它, 所以我不知道它會是什么, 有興趣你可以試試



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM