明明就型態相同,怎麼會說不同呢? |
答題得分者是:hagar
|
c905165
中階會員 發表:50 回覆:120 積分:54 註冊:2002-09-29 發送簡訊給我 |
會出現 'incompatible types' 會錯誤訊息,然後,不能編譯和執行。
看了十幾遍,看不出來問題是什麼? var
i, j: Integer;
lb: TLabel;
ed: TEdit;
cb: TComboBox;
maxbedno: integer;
linespace: integer;
begin
maxbedno:=strtoint(edit2.Text); //設定最大床位數量;
if (maxbedno<=1 or maxbedno >=12) then exit; //錯誤訊息是停留在這一行
------
有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
c905165
中階會員 發表:50 回覆:120 積分:54 註冊:2002-09-29 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 原來是這樣,可見和 VB 和 c 語言都不同。 再請問, maxbedno:=strtoint(edit2.Text); 這一行的話, 如果我們給它的是一個「不是數字」的字串,它會出現錯誤,怎麼辦呢? 也就是說我們要如何測出來它不是一個數字的字串,而不去執行這一行呢? 假設不用try.... finally你可以用這樣的一個方法 maxbedno:= StrtoIntDef(edit2.Text,-9876); if maxbedno=-9876 then showmessage('worng number); 原因是 StrtoIntDef()函數轉換如果有問題的整數時, 會以第二組參數值為標準 只要你確定-9876是不可能被keyin的值, 就可以這樣做, 當然你可以自行挑一個隨便的整數值, 不過我還是建議你用 try .... except try maxbedno:= StrtoInt(edit2.Text); except showmessage('worng number'); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |