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

雙重判斷簡易寫法請教各位前輩

答題得分者是:老大仔
K1086
初階會員


發表:61
回覆:142
積分:40
註冊:2007-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-11-07 11:35:29 IP:61.224.xxx.xxx 訂閱

[code delphi]
if (((Kang_1 = '甲') or (Kang_1 = '己')) and
(Kang_2 ='子') or (Kang_2 ='午') or (Kang_2 ='卯') or (Kang_2 ='酉')) then
[/code]
==>小弟想要的方式是 如果Kang_1 = 甲或己 而且 Kang_2 =子或卯或午或酉 就算條件達成可以執行,請問各位前輩可以教小弟有更簡易的方式嗎?如用 case方式可以嗎?謝謝!
pedro
尊榮會員


發表:152
回覆:1177
積分:865
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-11-07 14:08:54 IP:60.248.xxx.xxx 未訂閱
Dear K1086,

用判斷是否出現在字串裡,可以達到你要的

[code delphi]
const
cCompoundWords:String='甲己子卯午酉';
var
Kang_1:String;
begin
Kang_1:='午';
if Pos(PChar(Kang_1),PChar(cCompoundWords))>0 then
ShowMessage('條件成立');
end;

[/code]


===================引 用 K1086 文 章===================
if (((Kang_1 = '甲') or (Kang_1 = '己')) and
(Kang_2 ='子') or (Kang_2 ='午') or (Kang_2 ='卯') or (Kang_2 ='酉')) then

==>小弟想要的方式是 如果Kang_1 = 甲或己 而且 Kang_2 =子或卯或午或酉 就算條件達成可以執行,請問各位前輩可以教小弟有更簡易的方式嗎?如用 case方式可以嗎?謝謝!
編輯記錄
pedro 重新編輯於 2013-11-07 14:09:54, 註解 無‧
K1086
初階會員


發表:61
回覆:142
積分:40
註冊:2007-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-11-07 16:39:29 IP:61.224.xxx.xxx 訂閱

===================引 用 pedro 文 章===================
Dear K1086,

用判斷是否出現在字串裡,可以達到你要的

[code delphi]
const
cCompoundWords:String='甲己子卯午酉';
var
Kang_1:String;
begin
Kang_1:='午';
if Pos(PChar(Kang_1),PChar(cCompoundWords))>0 then
ShowMessage('條件成立');
end;

[/code]

感謝 pedro 前輩提示用 const 常數定義方式===>只是用這種方式 還是無法達到 要成立的條件
例如 是甲或己而非子午卯酉組合時依然會成立條件,這樣是錯的,就好比是甲寅,或甲辰時就不可以成立條件,一定要Kang_1等於是甲或己
Kang_2等於是子午卯酉4個其中之一,二者都合乎條件才算成立,請 pedro 前輩幫忙教導謝謝!
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-11-08 07:51:14 IP:210.61.xxx.xxx 未訂閱
pedro 前輩只是給個範例
要達到這個目的你當然得自己再作加工啊...


[code delphi]
const
cCompoundWords1:String='甲己';
cCompoundWords2:String='子卯午酉';
begin
if (Pos(PChar(Kang_1),PChar(cCompoundWords1))>0) and
(Pos(PChar(Kang_2),PChar(cCompoundWords2))>0) then ...
end;

[/code]




===================引 用 K1086 文 章===================

===================引 用 pedro 文 章===================
Dear K1086,

用判斷是否出現在字串裡,可以達到你要的

[code delphi]
const
cCompoundWords:String='甲己子卯午酉';
var
Kang_1:String;
begin
Kang_1:='午';
if Pos(PChar(Kang_1),PChar(cCompoundWords))>0 then
ShowMessage('條件成立');
end;

[/code]

感謝 pedro 前輩提示用 const 常數定義方式===>只是用這種方式 還是無法達到 要成立的條件
例如 是甲或己而非子午卯酉組合時依然會成立條件,這樣是錯的,就好比是甲寅,或甲辰時就不可以成立條件,一定要Kang_1等於是甲或己
Kang_2等於是子午卯酉4個其中之一,二者都合乎條件才算成立,請 pedro 前輩幫忙教導謝謝!
編輯記錄
老大仔 重新編輯於 2013-11-08 07:54:28, 註解 無‧
K1086
初階會員


發表:61
回覆:142
積分:40
註冊:2007-04-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2013-11-08 11:38:21 IP:61.224.xxx.xxx 訂閱
感謝 Pedro 的導引提示,同時也感謝 老大仔的程式教學,二位前輩都是正確的問題解決者,小弟實在困擾,不知要給那位?假如是以最後答覆者是該給 老大仔,若以先前提示正確者該給 Pedro 請問要如何結案?今天又學到這種字串集結判斷方式,真的很感謝 Ktop 的前輩們.

結案正確答覆者要如何選擇請前輩告知謝謝!!!
K1086
初階會員


發表:61
回覆:142
積分:40
註冊:2007-04-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2013-11-11 12:37:17 IP:1.165.xxx.xxx 訂閱
二位前輩既然沒有意見,小弟依慣例最後答覆者是老大仔,就只好這樣了!但還是很感謝第一位的提示,謝謝啦!
系統時間:2017-12-14 14:23:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!