2013-06-12 32 views
3

我想在Delphi中使貨幣轉換器,它已經有一段時間,因爲我上次使用德爾福,所以我有點生疏。當我試圖做一個if,else if,else語句時,它給了我一個錯誤:「表達式的類型必須是BOOLEAN」。德爾福如果其他如果其他語句不工作「表達式類型必須是BOOLEAN」

這裏是我的代碼:

if Edit1.Text = '' And Edit2.Text <> '' 
    then Edit2.Text := '1' 
else 
if Edit1.Text <> '' And Edit2.Text = '' 
    then ShowMessage('Blah') 
else 
if Edit1.Text ='' And Edit2.Text = '' 
    then ShowMessage('Please Enter A Value') 
else 
    ShowMessage('Mathing Suff...'); 

如果任何人都可以看到我的愚蠢錯誤或什麼錯誤,將有很大的幫助。 :)

編輯:錯誤彈出的第一條if語句和其他兩個如果它後面的行。

回答

14

這是因爲運算符優先級,你應該把括號中的每個條件,如果

試試這個代碼

if (Edit1.Text = '') And (Edit2.Text <> '') then 
    Edit2.Text := '1' 
else 
if (Edit1.Text <> '') And (Edit2.Text = '') then 
    ShowMessage('Blah') 
else 
if (Edit1.Text ='') And (Edit2.Text = '')then 
    ShowMessage('Please Enter A Value') 
else 
    ShowMessage('Mathing Suff...'); 
+0

這工作:)(不包含在括號中的一個和其他人,但我固定它) – connorbp

+0

謝謝。它的有趣有多簡單。 – connorbp