判斷edit1.text裡輸入的內容 |
尚未結案
|
jayshen
一般會員 發表:10 回覆:7 積分:3 註冊:2006-11-02 發送簡訊給我 |
假設我想要判斷edit1.text裡輸入的內容只能符合以下的function和範圍:如下:
FUNC01 A09 ? TRUR (function和範圍都符合)
FUNC04 ? FALSE (沒有此function)
FUNC01 D09 ? FALSE (FUNC01不能使用D)
FUNC01 C50 ? FALSE (超出範圍)
………………………………………….. 假設A 的範圍為: 0-100
B 的範圍為: 0-500
C 的範圍為: 200-600
D 的範圍為: 0-100
E 的範圍為: 300-800 FUNC01 只能使用A,B,C
FUNC02 只能使用 C,D,E
FUNC03 只能使用 B,D 這樣子的演算法要如何寫呢 ?
(另外有些function 裡可能會有多個參數 ,如FUNC03 B20 D5 ---> true )
|
jayshen
一般會員 發表:10 回覆:7 積分:3 註冊:2006-11-02 發送簡訊給我 |
抱歉,可能我描述的不夠清楚,我再重新說明一下好了: 假設我有10個function 分別為 Func01 , Func02 …. Func10 ,而每個function 所要傳入的參數不同,可能為 :
Func01 A0 (有的function 只可存放一個參數)
Func01 B5
Func02 A2 C9 (有的function可以存放多個參數)
Func02 A0 B5
Func03 C2 D5 A9
……………………… 每個function 存放的參數數目是固定的,如Func01 只能存放一個參數,而Finc02 固定存放二個參數,但是Func01存放的參數可以為A0~A9 或 B0~B9 , Func01 存放的參數可以為A10~A20 或 C0~C9 或 D10~D99 ,且Func01的參數A和Func02的參數A範圍是不同的。 現在我想要判斷TEXT1.TEXT裡輸入的內容只能符合以上的function和參數和範圍,要怎麼寫呢? 謝謝 ~
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
mine
中階會員 發表:28 回覆:129 積分:56 註冊:2004-03-31 發送簡訊給我 |
hihi 你好
如同supman兄所言,不太清楚你要的功能
作一下假設,
如果Edit1.Text所輸入的值是合法參數,就將該參數傳遞給特定函式
如果為非,則告訴使用者錯誤訊息:假設無誤
定義十個函式之參數宣告
Ax (x表數字)則代入第一函式
Bx Bx 則第代入第二函式
以此類推
以pos或copy 函式抓取第一字元 合法 則引入函式 並要求函式作第二次判斷
不合法送Message 並Exit;
如果以上無誤 可以先用集合或陣列事先定義參數範圍
?需於Edit1.text 判斷第一字元的合法性利用Trim(edit1.text)取回參數檔
頭後所帶之參數範圍
Ex:
if copy(Trim(Edit1.text),0,1)=B then begin或用Case或用集合 try if strtoint(copy(trim(edit1.text),1,length(trimedit1.text)-1))>50 then Showmesage('參數超出範圍') else function1(Trim(Edit1.text)); except showmessage('函式一所導入之參數有誤'); end; end else 尋找其他函式之參數檔頭定義; end;如果supman兄所言 這樣的要求達成方法不僅一種 其餘再作變化 希望推論無誤且對你有幫助 再看了一次,發現假設的跟supman跟本就沒二樣 真歹勢,當成純插花的好了QQ 搞不懂!搞不懂!永遠都搞不懂!! 發表人 - mine 於 2005/04/24 23:08:51 |
mine
中階會員 發表:28 回覆:129 積分:56 註冊:2004-03-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |