全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1933
推到 Plurk!
推到 Facebook!

多重IF ELSE语句的安排

答題得分者是:cashxin2002
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-28 14:08:51 IP:222.184.xxx.xxx 未訂閱
有一段代码,我本来自己也运行成功了,但由于死机没保存,我再重写了一遍,哪知就不行了,而且越排列越晕了,呵呵,只得拿上来给高手们理一理了, 要求就是 如果三个EDIT都不填就提示要填,如果填的EDIT1不是登录用户或者管理员就提示,如果EDIT2和3内容不同就提示,如果都对了就执行代码。谢谢! if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') then begin Application.MessageBox('必填字段不能为空','提示',MB_OK); end; if not (edit1.Text='') or (edit2.Text='') or (edit3.Text='') then begin if not (edit1.Text=logoinform.ComboBox.Text) or (edit1.Text='admin') then begin Application.MessageBox('请用所填用户名称或者admin登录','提示',MB_OK); end else begin if not (edit2.Text=edit3.Text) then begin Application.MessageBox('填入的两次密码不相同','提示',MB_OK); end else begin Application.MessageBox('都符合条件了,开始执行您的操作','提示',MB_OK);//本处到时我替换上相应的代码。 end; end; end; end; 發表人 - ntjrr 於 2005/07/28 14:14:34
------
我的编程起步于ktop,我将永远支持ktop
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-28 14:27:26 IP:202.62.xxx.xxx 未訂閱
您好﹗    請注意使用【code】程式碼【/code】的方法進行縮排﹐比較容易查看﹒
if Trim(edit1.Text='') or Trim(edit2.Text='') or Trim(edit3.Text='') then
  begin
    Application.MessageBox('必填字段不能为空','提示',MB_OK);
  end
else
  begin
    if (edit1.Text <> logoinform.ComboBox.Text) or (edit1.Text <> 'admin') then
      begin
        Application.MessageBox('请用所填用户名称或者admin登录','提示',MB_OK);
      end
    else
      begin
        if Trim(edit2.Text) <> Trim(edit3.Text) then
          begin
            Application.MessageBox('填入的两次密码不相同','提示',MB_OK);
          end
        else
          begin
            Application.MessageBox('都符合条件了,开始执行您的操作','提示',MB_OK);//本处到时我替换上相应的代码。
          end;
      end;
  end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/07/28 17:59:13
------
忻晟
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-28 16:46:34 IP:222.184.xxx.xxx 未訂閱
請注意使用【code】程式碼【/code】的方法進行縮排﹐比較容易查看﹒ 这个方面的相关的资料有没有哪个链接上有的? 上面的代码我运行后提示如下: [Error] USER.PAS(110): There is no overloaded version of 'Trim' 發表人 - ntjrr 於 2005/07/28 16:54:27
------
我的编程起步于ktop,我将永远支持ktop
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-28 17:06:31 IP:218.163.xxx.xxx 未訂閱
沒排版,看起來真得很累,這點要麻煩ntjrr兄改進一下。
if (trim(edit1.Text)='') or (trim(edit2.Text)='') or (trim(edit3.Text)='') then
begin
        Application.MessageBox('必填字段不能為空','提示',MB_OK);
end
else
begin
        if (trim(edit1.Text) <> logoinform.ComboBox.Text) or (trim(edit1.Text) <> 'admin') then
                Application.MessageBox('請用admin登錄','提示',MB_OK)
        else
        begin
                if not (trim(edit2.Text)=trim(edit3.Text)) then
                        Application.MessageBox('填入的二次密碼不相同','提示',MB_OK)
                else
                begin                    
                        Application.MessageBox('都符合條件','提示',MB_OK);
                        //.........
                end;        
        end;
end;
========================= 讀萬卷書~不如來K.TOP走一遭 ========================= 發表人 - likush 於 2005/07/28 17:12:16 發表人 - likush 於 2005/07/28 17:16:19
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-28 17:33:46 IP:222.184.xxx.xxx 未訂閱
begin
    if (trim(edit1.Text)='') or (trim(edit2.Text)='') or (trim(edit3.Text)='') then
      begin
              Application.MessageBox('必填字段不能為空','提示',MB_OK);
      end
   else
       begin
                if (trim(edit1.Text) <> logoinform.ComboBox.Text) or (trim(edit1.Text) <> 'admin') then
              Application.MessageBox('請用admin登錄','提示',MB_OK);                   else
                   begin
                          if not (trim(edit2.Text)=trim(edit3.Text)) then
                                   Application.MessageBox('填入的二次密碼不相同','提示',MB_OK)
                          else
                       begin
                                    Application.MessageBox('都符合條件','提示',MB_OK);
                             end;
                  end;
            end;
 end;          
这个CODE如何用呀,用了怎么不生效的?以上代码执行时还是遇到这样一个问题:就是必填字段能正确提示,请用ADMIN登录也能正确提示,但下面无论怎么样就一直提示请用ADMIN登录了 發表人 - ntjrr 於 2005/07/28 17:47:05 發表人 - ntjrr 於 2005/07/28 17:58:08
------
我的编程起步于ktop,我将永远支持ktop
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-28 18:22:28 IP:202.62.xxx.xxx 未訂閱
您好﹗    手誤了﹐改成如下﹕
if Trim(edit1.Text)='' or Trim(edit2.Text)='' or Trim(edit3.Text)='' then
  //Trim函數的錯誤是將字串左右的空格去除
  begin
    Application.MessageBox('必填字段不能为空','提示',MB_OK);
  end
else
  begin
    if (edit1.Text <> logoinform.ComboBox.Text) or (edit1.Text <> 'admin') then
      begin
        Application.MessageBox('请用所填用户名称或者admin登录','提示',MB_OK);
      end
    else
      begin
        if Trim(edit2.Text) <> Trim(edit3.Text) then
          begin
            Application.MessageBox('填入的两次密码不相同','提示',MB_OK);
          end
        else
          begin
            Application.MessageBox('都符合条件了,开始执行您的操作','提示',MB_OK);//本处到时我替换上相应的代码。
          end;
      end;
  end;
排版的使用請參考如下﹕ 在程式碼的最前面加上【code】﹐在程式碼的最后面加上【/code】 注﹕以上紅色處的"【"字符和"】"字符請使用鍵盤上的"["字符和"]"代替﹒ ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================ 發表人 - cashxin2002 於 2005/07/28 18:23:09【】 發表人 - cashxin2002 於 2005/07/28 18:26:18
------
忻晟
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-28 18:29:41 IP:222.184.xxx.xxx 未訂閱
还是遇到这样一个问题:就是必填字段能正确提示,请用ADMIN登录也能正确提示,但下面无论怎么样就一直提示请用ADMIN登录了,其实我已经用admin了
------
我的编程起步于ktop,我将永远支持ktop
系統時間:2024-06-27 22:41:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!