3

私は Delphi で通貨コンバーターを作成しようとしていますが、Delphi を最後に使用してからしばらく経っているので、少しさびています。if、else if、else ステートメントを作成しようとすると、「式のタイプは 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 ステートメントの行と、その後の 2 つの if の行に表示されます。

4

1 に答える 1

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...');
于 2013-06-12T00:15:07.083 に答える