我是这样作的,如下,但有一点,如果必填数据多了,我照此列举下去岂不是很糟糕,
  if Trim(edtName.Text)='' then
    begin
      application.MessageBox('请输入姓名','提示',MB_OK);
      edtName.SetFocus;
      result:=False;
      exit;
    end;
  if Trim(edtBname.Text)='' then
    begin
      application.MessageBox('请输入简称','提示',MB_OK);
      edtBname.SetFocus;
      result:=False;
      exit;
    end;

解决方案 »

  1.   

    function TFinishExportStockForm.GetEditValueNull(editer: TCustomEdit;ShowText:String): Boolean;
    begin
      Result :=False;
      if trim(Editer.Text) = '' then
      begin
        ShowMessage(ShowText);
        Result := True;
      end;
    end;  if GetEditValueNull(Edit6,'出库类型没有输入,请输入后再保存!') then exit;写一个通用的函数,然后每一次判断的时候调用这个函数不就行了吗?
      

  2.   

    肯定要寫個通用
    在退出edit
    存檔前都有調用
    參數可能過edit的tag
    返回的應該是個錯誤代碼
    再根據錯誤代碼找顯示相應的錯誤信息
      

  3.   

    我知道你的意思,你的判断方法是对的,但不太好,如果有几十个内容要判断的话就很糟糕了
    其实很简单,你可以把它们何在一起判断:  if (edtName.Text='')or(edtBname.Text='')or... then
        begin
          application.MessageBox('必填项输入不全!,'提示',MB_OK);
          edtName.setfocus;
        end; 这样就可以了。
      

  4.   

    这种情况要写成通用函数来调用。
    同意 Drate(鸟窝里的虫) 的做法。
    有问题请发信息到我的E-mail:[email protected]
      

  5.   

    写成通用的想法是好的,但是不见得就一定可以写成通用的,每个输入框的合法性验证遵循的规则不同,比如有的不允许为空,有的只能填写整型或者小数,只能分开写。 xiatianyun(夏天的云) 可以按照自己的想法去做。
      

  6.   

    可以在必输入的框的焦点离开事件中添加你的代码
    当遇到必输内容的时候,提出提示,这样就不要到最后在作判断
    不过可能delphi的自己带的Edit框和Combobox的焦点离开事件作的不是很好,你最好自己重新作一个Edit控件或其他控件,这样就可以了,我这边有这样的控件,不过是公司自己开发的