1. 程式人生 > >Delphi中paramstr的用法

Delphi中paramstr的用法

int 目標 可執行 phi 數據 sender 興趣 pen reat

原型

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判斷, 如果是零我根本就不會讀它, 所以我不知道它會是什麽, 有興趣你可以試試

Delphi中paramstr的用法