|
|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 羅蓋仙 于 2013-7-24 22:53 編輯 ( y8 k! i9 _. Q; M+ U8 `# o8 ?
5 J4 f, R. h- I1 d
使用者如果需要使用一連串的IF-GOTO,我想說明一些事項與特性
) j$ y" n7 D: D+ B' Y+ B. f" k; k+ _; Y( }" \8 L) b& j/ ?. I
形式1:/ w, Y0 T) ~. k! i: c7 m) n4 u
#100=選兵(陸.海.空)/ k- L6 X1 S/ g% X3 ~1 T& t
IF[#100 EQ 陸 ] GO1
! v. [% F! x# U: G+ \; sIF[#100 EQ 海 ] GO27 z; `; F7 z. ?( }9 D, Q
GO3(鼻用說.當然是空軍)" O% [' p: m8 ]+ r9 i# }
(或不用GOTO3省略它.可以的話在GOTO2後面直接就做,屬於空軍加工部分)
% A' h! {' E( L因為EQ是很確定.鐵定的東西..使用者可安排快捷性(調整順序)8 j7 v. ~ q. V( R
4 u* _% a( ~) Q5 _& I& }" E如果怕#100有錯誤.如輸入天兵..可在#100輸入後...與GOTO之間進行防呆! o9 ]- D/ u. V, f
也可不防呆,加工會鑽錯,誰叫使用者故意去測試玩弄MACRO,沒防呆功能用戶最好空跑一下,確定好再做
' E2 Y3 l/ B& K$ s, F1 @
5 N+ z4 X% z& \2 [還有一種防呆寫法:
3 [+ j0 {( K# G: \4 u0 k8 b* W#100=選兵(陸.海.空)
, X! n/ T: L/ n& t& kIF[#100 EQ 陸 ] GO1
: {4 H/ }* G8 H/ nIF[#100 EQ 海 ] GO2) ^- T; C7 P1 q; ?2 s/ A9 d% d1 P
IF[#100 EQ 空 ] GO34 M6 V7 Y# R) K. j% u
#3000=1.(如果流到這裡表示#100投入有誤)
/ u: T5 S. f* u. kN1....7 X* F6 U' [. o% `
0 I7 x- }/ t2 W( N4 ]5 J! \$ M. `
N2..../ \) h9 C& m# |6 u8 x( }1 `
6 A1 P( B! l$ p( \2 n! w8 D" R/ PN3....
8 `9 s+ m# K- Z
4 [ B6 V7 c- |. J& hM99/ a& m8 X! b9 [; q
3 m6 B! K* c% f' G
r% o4 p+ I* n. w2 g形式2:6 X R3 _+ B. \7 }" @3 b" ]
#100=領國家的薪水(人民,老師,軍警,政官(民意.立法))8 ]+ G) w6 h5 B! `. d! w
IF[#100 EQ 0萬] GO1( P7 I7 A/ u( C; h2 C
IF[#100 GT 5萬] GO2
/ T1 O0 R- m8 \: |/ NIF[#100 LT 5萬] GO3
' i5 V+ ^; E% Q8 e$ dGO4(可省略條件式[#100 EQ5萬])老師7 ~+ g8 Y m; n1 r( \6 {% i
..........
3 Q- B; @1 D( |N1 人民
& Q" Z% F( ?+ j. y" G0 y, d- J- [; b5 s
N2 政官
8 n1 R; |! s6 f. x k0 `6 N ?6 r: n( @# u! {' d3 A
N3 軍警0 Y, F' X0 a; H7 r
* o! |& o6 E) ]# KN4 老師 o1 B) w. [$ P
- b- X& R+ Y5 D$ @8 G. h# W
M99
$ [6 d5 G& ^9 ^- d' G6 s4 {/ `$ T. a G" R! _3 Z
※注意1與3可能會有衝突,有前後順序性的 u$ D4 Q* N' n
形式2是以新臺幣計價的7 T: z/ W1 r, S& K$ X+ ^
1 P4 T. y3 k$ M' ?4 f. T0 R' E+ p$ D& A5 ?3 i
另外一個IF-THEN的例子:' T% B: I* N" l! f% A6 D1 K3 K
假設#100=已用四則運算,算好的結果
; Q& T* h# K( `+ x, D5 T* v
# N9 y3 y5 K) p& Q. AIF[#100 EQ 2.5萬] TH#30=10.
; M: U# i0 C$ k8 n4 X. pIF[#100 EQ 0萬] TH#30=10.+ e+ Z3 V0 A# h, ]1 ^2 X
IF[#100 GT 2.5萬] TH#30=20.4 O$ {6 I- X) _: B) e& p- Z
IF[#100 LT 2.5萬] TH#30=15.
/ T* }! f6 l5 w4 @N1 G1 X#30 Y#25.......開始加工; }: x" E. }; O4 X' j7 I
7 q R- ~% C8 h' W" J5 v上述2與4性質雷同可能會有衝突,不能這樣寫,可改寫成,A法:! }" ~) X2 f% i4 D/ b' g
3 Z8 D9 W* N, T, e; x
IF[#100 EQ 2.5] TH#30=10.& A) m. Q8 r; C- R; ^: n
IF[#100 EQ 0.] TH#30=10." J' p l i% Q
IF[#100 EQ 0.]GO1或IF[#30 EQ 10.]GO1(讀到2先跳開)# G. {% E- q B
IF[#100 GT 2.5] TH#30=20.
4 G$ P+ M6 P, C/ K3 @! g6 j6 ZIF[#100 LT 2.5] TH#30=15./ a9 x# \+ g3 D8 w% _+ B/ E
N1 G1 X#30 Y#25.......開始加工
" j8 Q/ w+ \, T& m& Z+ f- G+ g# U: Q E0 r7 l; Z, F
或改寫成,B法:使用或閘(OR)
( H: d/ x4 T- i/ g6 L! i- y v#30=10.+ Q* o0 e) d. F
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1(判斷好就先跳開)
) I3 m% |. B" l3 P9 f6 b3 EIF[#100 GT 2.5] TH#30=20., E+ X0 j# g0 Q1 y8 d9 `- @2 B
IF[#100 LT 2.5] TH#30=15.6 I$ R, A+ V7 F1 t8 ~! W
N1 G1 X#30 Y#25.......開始加工
+ E; g: |! A9 |" z7 W* ^
' \3 L/ c6 `/ W* B5 N6 ~6 ~# \還有一種不使用TH的寫成,如下:# M6 \( n5 I2 A/ R, e
30=10.6 s# G# k8 B3 g8 b* N9 Y$ |
IF[[#100 EQ 0.]OR[#100 EQ 2.5]]GO1( x9 Y0 J# N* [7 y' y2 Z1 @( j
#30=20.
( l* c& k! G0 r8 K5 x0 N, nIF[#100 GT 2.5] G01
2 X A/ S4 x, w+ h" C#30=15.& N% t' L" ?2 q1 P1 p8 V
IF[#100 LT 2.5] GO1<---此條件式可以省略9 Q7 G' U1 R: [! m6 t
N1 G1 X#30 Y#25.......開始加工
; O* U8 ~ h; c( d# _/ ^4 a& I0 u( Y+ v6 w
#30會一直有數值去覆蓋它; t6 T% s& N. R) p$ C5 T9 Q
" r" a% s8 A2 e8 l1 w ]9 W
0 B# k6 n/ }% N% Z
形式3:理髮1 A7 k, j; u+ ]$ q& B2 Z* n5 n
#100=2兵(1.)、一兵(1.5)、上兵(2.)、下士(2.5)、中士(3.0)% q) Q$ D/ J% x
IF[ #100 LE 3. ] GOTO理15分頭
! i) ?2 d3 x/ O f4 y1 p5 J3 V: HIF[ #100 LE2.5] GOTO理12分頭0 t. o* {' H% K! v8 D
IF[ #100 LE 2. ] GOTO理9分頭
, U6 U# Q3 D7 y$ C( D4 qIF[ #100 LE1.5] GOTO理6分頭& C; M* p$ f K0 W+ }; \3 D
IF[ #100 LE 1. ] GOTO理豬頭
, A- `! v0 h9 Y# i3 P! @2 b
- K6 q- `& [" r% ?/ F0 w※順序可顛倒,這不會有衝突,如阿兵哥人多可考慮置於首,考慮快捷性
- s) A+ N6 s: O' C% ~% ?/ \5 h* ^! l2 M+ f3 |% C
另外的一種B式
( k; {3 K: f$ ~/ z4 }IF[ #100 GE 3. ] GO% v9 l% a" i% D% D
IF[ #100 GE 2.5] GO
9 ~ E; G4 F/ s$ @& GIF[ #100 GE 2. ] GO# X* X- u- x" p& t) H9 R0 F
IF[ #100 GE 1.5] GO
' e& a* O, m- F- x* A& y5 QIF[ #100 GE 1. ] GO, Q. o7 f5 X# ?) d9 R
順序不可顛倒喔!不然少將會理成狗頭& G' P- r+ q) N( \- Z
此例不能安排、佈置快捷性6 U( `* w' E6 @; o! S% d h+ E" ^
3 f3 a$ Y: q! Y( j, f/ p
3 d @. H; k2 s$ L! R! e5 K6 P
A式:有點像把數值逼到牆角比,自不量力可直接看出- Q# U# i$ `; X f
B式:像在自由空間比,如果順序調換
9 F+ g5 K6 h4 q7 m: o+ j有錢人也可以去小吃店吃牛肉麵
0 B7 v6 T1 v. {" I. L( j3 a高學歷也可撿回收物當職業7 M( u+ Y3 e& o' f6 `8 u8 f
% j9 |3 D u. K; c8 r- k再說一下B:順序不能上下倒立,只能轉身如
1 ~$ k9 S/ i) h6 WIF[ 3. LE #100 ] GO
& t/ o7 R/ ^! e.... r B y' a D: F
...
$ b2 w* ^0 g' Q1 }6 u& L- dIF[ 1. LE #100 ] GO
6 S6 J3 ^4 P* @& x
( a! ]9 a- h/ Z; \6 S) T, r: {A.B兩者有一種共通的特性,領多少錢就做多少事
) D" s: |) X L如果順序顛倒,可能是使用者需要截長補短(抓長補短)的性質,有互補的作用. c. `+ P8 f7 e/ \; ^8 _* q3 D
d2 c4 I( C; ^+ W3 i/ ]+ {- E& z6 s) ~# l
以上為個人的經驗 |
|