初學Delphi的人,對自己隨手編的程序,函數,過程所起的名字不會太在意。但可要注意,你隨意起的名字,有時會給你帶來意想不到的麻煩。舉例如下:新建一個FORM,加上一個EDIT1,清除其內容,再加上一個LABEL1和BUTTON1。
BUTTON1按鈕代碼為
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=inttostr(sqr(strtoint(edit1.text)));//注意函數SQR
end;
執行,在EDIT中輸入一個數字,LABEL中就顯示其平方值,一切正常。好,保存為SQR.PAS和SS.DPR。再執行,就會有錯誤信息跳出
“[Error] sqr.pas(30): . expected but ( found”
“[Fatal Error] ss.dpr(5): Could not compile used unit sqr.pas”
原來程序在執行SQR的時候,沒有調用函數SQR,而是找到了SQR.PAS。把程序另存為NOTSQR.PAS,重新執行,則恢復正常。所以程序,函數,過程不要重名,尤其是在程序中用到的。同時要注意自定義函數優先級大於保留函數,在上例中若自定義一個叫SQR的函數。
function sqr(input:integer):integer;
begin
sqr:=input+1;
end;
執行,若在EDIT中輸入2,按BUTTON,在LABEL中則會顯示3,而不是4。