在Button1的ONCLICK中
VAR
 DD:STRING;
BEGIN
DD:=EDIT3.TEXT;
CASE DD[1] OF
'+':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) + STRTOINT(EDIT2.TEXT));
'-':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) - STRTOINT(EDIT2.TEXT));
'*':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) * STRTOINT(EDIT2.TEXT));
'/':LABEL1.CAPTION:=FLOATTOSTR(STRTOINT(EDIT1.TEXT) / STRTOINT(EDIT2.TEXT));
'D':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) DIV STRTOINT(EDIT2.TEXT));
'M':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) MOD STRTOINT(EDIT2.TEXT));
ELSE
 LABEL1.CAPTION:='不能执行这种运算';
END;
 end;

解决方案 »

  1.   

    使用集合也是不错的选择。
    type
        operator=('+','-','*','\','d','m');
        OperatorSet=set of operator;
    var OperSet:OperatorSet; TEdit3.chenge()
    begin
       if not(edit3.text in Operset) then
       begin
          lable3.caption:='不能执行这种运算';
    END;
     
       end;
    end;
      

  2.   

    加一个效验语句,不能除 “0” 在Button1的ONCLICK中
    Var
      cIn:char;
    Begin
      cIn:=copy(EDIT3.TEXT,1,1);
      Case cIn of
        '+':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) + STRTOINT(EDIT2.TEXT));
        '-':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) - STRTOINT(EDIT2.TEXT));
        '*':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) * STRTOINT(EDIT2.TEXT));
      else
        if strToint(Edit1.Text) <> 0 then
        Case cIn of
          '/':LABEL1.CAPTION:=FLOATTOSTR(STRTOINT(EDIT1.TEXT) / STRTOINT(EDIT2.TEXT));
          'D':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) DIV STRTOINT(EDIT2.TEXT));
          'M':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) MOD STRTOINT(EDIT2.TEXT));
        end
          LABEL1.CAPTION:='不能执行这种运算';
        end;
      end;
    end;
      

  3.   

    sorry,刚才的程序不对,应该是:加一个效验语句,不能除 “0” Var
      cIn:char;
    Begin
      cIn:=EDIT3.TEXT[1];
      Case cIn of
        '+':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) + STRTOINT(EDIT2.TEXT));
        '-':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) - STRTOINT(EDIT2.TEXT));
        '*':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) * STRTOINT(EDIT2.TEXT));
      else
        if strToint(Edit2.Text) <> 0 then
        begin
          Case cIn of
            '+','-','*': ;
            '/':LABEL1.CAPTION:=FLOATTOSTR(STRTOINT(EDIT1.TEXT) / STRTOINT(EDIT2.TEXT));
            'D':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) DIV STRTOINT(EDIT2.TEXT));
            'M':LABEL1.CAPTION:=INTTOSTR(STRTOINT(EDIT1.TEXT) MOD STRTOINT(EDIT2.TEXT));
          else
            LABEL1.CAPTION:='不能执行这种运算';
          end;
        end
        else  LABEL1.CAPTION:='不能除零!';
      end;
    end;
      

  4.   

    反正晚上无聊,又写了一个:Var
      cIn:char;
    Begin
      cIn:=EDIT3.TEXT[1];
      if (strToint(Edit2.Text) = 0) and (cIn<>'+') and (cIn<>'-') and (cIn<>'*')
        then cIn := 'x';
      Case cIn of
        '+':Label1.Caption:=IntToStr(StrToInt(EDIT1.TEXT) + StrToInt(EDIT2.TEXT));
        '-':Label1.Caption:=IntToStr(StrToInt(EDIT1.TEXT) - StrToInt(EDIT2.TEXT));
        '*':Label1.Caption:=IntToStr(StrToInt(EDIT1.TEXT) * StrToInt(EDIT2.TEXT));
        '/':Label1.Caption:=FloatToStr(StrToInt(EDIT1.TEXT) / StrToInt(EDIT2.TEXT));
        'D':Label1.Caption:=IntToStr(StrToInt(EDIT1.TEXT) DIV StrToInt(EDIT2.TEXT));
        'M':Label1.Caption:=IntToStr(StrToInt(EDIT1.TEXT) MOD StrToInt(EDIT2.TEXT));
        'x':Label1.Caption:='不能除零!';
      else
         Label1.Caption:='不能执行这种运算';
      end;
    end;
      

  5.   

    又是这个问题delphibbs已经回答过了
      

  6.   

    怪,用combobox不行么?item里写上6个符号combobox.text就是你要的
      

  7.   

    Why Not 
    '/':Lable1.caption:=FloatToStr(StrToFloat(Edit1.Text) / StrToFloat(
      Edit2.Text));