You are on page 1of 24

Phn Mt MAPBASIC C BN

Gm cc ni dung : Bt u vi Ma Ba!ic C" #$n v% ng&n ng' Ma Ba!ic G( )*i v+ #,- ./i 0hi ch1- ch2"ng t)3nh Gia4 di5n c6a Ma Ba!ic ch4 Ma In74 8+m vi9c vi ta#.: ;i.: I<= >*i t2?ng @a .A

Ch2"ng Mt
1

Bt u vi Ma Ba!ic
BC B Bi5n tD mt ch2"ng t)3nh Ma Ba!ic Nhp New m ca s bin tp chng trnh Vit cc d ng !"nh #ap$asic %h&n m'c (i!e )* +a,e ghi -i!e chng trnh. #ap$asic s/ t0 1ng thm ph2n m r1ng ch& tn -i!e !3 4mb %h5n m'c 6r&7ect )* %&mpi!e d8ch chng trnh4 %hng trnh 9 :c d8ch c; ph2n m r1ng ch& tn -i!e !3 4mb< BCEC Ch1- ch2"ng t)3nh Ma Ba!ic : =r&ng #apin-&. ch5n m'c >?n #ap$asic 6r&gram4 #1t ca s h1i th&ai s/ <?t hi"n b@n ch5n -i!e mb< ch@A chng trnh4 Ch B CDE) +a? bFc G. n? b@n %&mpi!e ngaA chng trnh th #ap$asic s/ A? c2? b@n Ht tn ch& -i!e chng trnh4 N? 9 :c Ht tn trFc ; th #ap$asic s/ A? c2? b@n +a,e -i!e chng trnh. rIi n; mFi c&mpi!e ch& b@n4 CGE) +a? bFc +a,e. n? b@n ch5n m'c 6r&7ect )* >?n th #apJn-& t0 1ng m ra ch@A chng trnh #ap$asic4 VKd' B bFc G. b@n ,it d ng !"nh #ap$asic sa? LA B
N&te MNe!c&me t& #ap$asicOM

V3 ghi ,3& -i!e ,Fi tn B NPQ%R#P4#$ =h sa? Shi -i!e NPQ%R#P4#$ :c d8ch s/ c; -i!e NPQ%R#P4#$T V3 b@n ch5n -i!e 4mb< >?n !3 NPQ%R#P4#$T BCFG 8i5n 0Ht cc m4dun I cJ mt ch2"ng t)3nh Ma Ba!ic d1ng m#K: %c -i!e m&d?n !3 cc -i!e #ap$asic chU chVa m1t ph2n cWa chng trnh. ,K d' tr&ng n1i d?ng cWa n; c; Xec!are +?b m1t thW t'c n3& ; c; tn !3 Y. nhng tr&ng n1i d?ng cWa n; b@n cha m thW t'c Y !3
+?b YCE 444 Pnd +?b

(i!e n3A Shi :c d8ch ShZng ch?An :c th3nh -i!e mb< m3 th3mh -i!e mb&4 Nhp New m ca s bin tp chng trnh =r&ng ca s Pdit ,it &@n chng trng sa? B
[QJN\] Ypp!icati&n^te<tb&<4mb< #&d?!e^te<tb&<4mb& #&d?!e^a?t&_!ib4mb&

Cgi` s b@n 9 c; trn aa b -i!e te<tb&<4mb< ,3 te<tb&<4mb& ,3 a?t&_!ib4mb&E %h5n (i!e * +a,e4 VFi ph2n m r1ng !3 4#$6 C#ap$asic 6r&7ectE4 %h5n (i!e * %!&se %h5n 6r&7ect * +e!ect 6r&7ect (i!e ch5n -i!e 4#$6 %h5n 6r&7ect * QinS %?rrent 6r&7ect d8ch -i!e #$6 n3A th3nh 4#$T4 BCLG M5n 7i.: v+ 0iIu 7i.: c6a Ma Ba!ic : %; cc !5ai tp tin sa? LA B err&s4d&c !3 tp tin te<t. n; !isting cc m9 !ci cWa tp tin mapbasic4e<e !3 tp tin ch@A mZi trdng $asic mapbasic4de- !3 tp tin inc!?de. n; chVa cc m9 8nh nghaa ch?en4 #en?4de- !3 tp tin inc!?de. n; chVa cc m9 ch?en !in f?an ,Fi men?4 Jc&ns4de- !3 tp tin inc!?de. n; chVa cc m9 ch?en !in f?an ,Fi c&n trg ch?1t4 #apbasic4h!p !3 tp tin he!p &n)!ine Cgihp i tr0c t?AnE

#apbasic4h !3 tp tin header cWa %j%kk. c; n1i d?ng tng t0 tFi n;4 #apbasic4de- tp tin tng t0 mapbasic4de- trn. nhng dlng ch php cWa %j%k k #apbasic4bas !3 tp tin header cWa Vis?a! $asic. c; n1i d?ng tng t0 tFi n;4 #apbasic4de- tp tin tng t0 mapbasic4de- trn. nhng dhng ch php cWa Vis?a! $asic #apbasicmn4is? tp tin c2n ch& ?ninsta!! #ap$asic #bresmno4d!! !3 tp tin th ,i"n 1ng chVa t3i ng?An gIm ch?ci ,3 h1p th&@i #i!ibmno4d!! !3 ph2n cWa s&-tware. chVa cc m9 th0c hi"n :c 6apersipe4de- !3 tp tin inc!?de cWa #$. chVa cc !"nh !in f?an n iq? Shin in cWa #ap$asic Prr&rs4d&c tp tin te<t !isting cc m9 !ci cWa #ap$asic rsrin-rnb4!&g chVa nht Ss cWa f? trnh c3i Ht +amp!es !3 th m'c chVa cc chng trnh ,K d' cWa cc -i!e mb ,3 mbp BCNG COa !P Ma Ba!ic t)4ng m+n h3nh Ma In74 \hi b@n nhp %h&&se Rpti&ns * +h&w #ap$asic Nind&w th m1t ca s #ap$asic <?t hi"n bn dFi m3n hnh #apJn-&4 $@n c; th !:i d'ng ca s n3A h5c hgi ,q #ap$asic rt nhanh4 $i , h2? nh nhtng tha& tc cWa b@n ,Fi #apJn-& q? tng Vng ,Fi cc d ng !"nh #ap$asic hi"n ra ngaA sa? Shi b@n th0c hi"n nhtng tha& tc ;4 u; cvng !3 cch b@n ,it chng trnh #ap$asic :c nhanh hn Cbwng cch c&pA ,3 paste nhtng &@n !"nh #ap$asic hi"n ra tr&ng ca s n3A ,3& chng trnh #ap$asic ang s&@n cWa b@nE4 %a s n3A c n c; m1t ,3i cZng d'ng Shc s/ :c trnh b3A ph2n sa?4 BCQG M3m ./i 0hi #i5n tD ch2"ng t)3nh N? chng trnh b@n c; !ci ch php th Shi c&mpi!e chng trinh. #apbasic s/ b& !ci 4 VK d' &@n m9 !"nh sa? LA c; !ci B
Xim < as string (&r <^D t& Do n&te strxC<E ne<t Pnd +?b

,3 b@n ghi -i!e chng trnh ,Fi tn B -irst4mb4 =h Shi c&mpi!e chng trnh. b@n s/ b8 b& !ci B first.mb:4: Loop control variable not numeric N? b@n nhp hp ,3& -irst4mbBy th c&n trg s/ nhA d ng (&r ,3 b& ch& b@n bit !ci !3 bin iq? Shin ShZng ph`i Si? n?meric4 $@n cvng c; th nhp ,3& +rearch * z&t& !ine. rIi g{ gi tr8 y tr&ng h1p z&t& !ine n?mber tm n d ng c; !ci4

Ch2"ng Rai C" #$n v% ng&n ng' Ma Ba!ic


ECBC ChS thTch : $|t 2? m1t d ng chh thKch bwng cch Ht d? nhA n 2? d ng ;4 $@n c; th cZ !p m1t d ng !"nh bwng cch !3m ch& n; tng t0 m1t chh thKch4 ECE UiHt mV .9nh t)5n nhi%u dWng : #ap$asic ch& ph}p ,it m9 !"nh trn nhiq? d ng4
3

V d :
J- c&?nter ^ nn Rr c&?nter ^ by =hen N&te ~%&?nter is in,a!id~ Pnd J-

Nh'ng mV 2?c @nh nghXa t)4ng Ma #a!icCd:7 : >t nhiq? m9 !"nh nh B =>rP.(YQ+P. $QY%\. NJ=P. %#X_JN(R_T. R$_JN(R_=6P. 4449 :c 8nh nghaa tr&ng #apbasic4de- X& ,A. ,K d' b@n m?n gn ch& bin Q&gica! c; tn !3 tra!&i bi? thVc tra!&i^ tr?e th 2? chng trnh b@n ph`i ,it B include Mapbasic.def Cn? ShZng th b@n ph`i ,it bi? thVc tra!&i^ D. bi , tr&ng #apbasic4de- 9 Ht D !3 tr?eE ECF UiHt nh'ng dWng .9nh Ma Ba!ic t)4ng cOa !P Ma Ba!ic c6a m+n h3nh Ma In74 : $@n c; th g{ nhtng d ng !"nh #ap$asic tr&ng ca s n3A4 N? ,it S}& d3i trn nhiq? d ng th mci Shi <?ng h3ng ph`i g{ ctr!)enter4 #ci d ng ShZng :c d3i f? Gnm Ss t04 =?A ,A c2n chh sB cc m9 !"nh iq? Shin nh J-444=hen. (&r444Ne<t. z&=& th ShZng ch& ph}p4 ECL M5n #iHn: =n bin c; th c; chiq? d3i n bD Ss t04 \hZng :c c; Ss t0 trnng gita tn bin =n bin b|t 2? bwng Ss t0. h&Hc (_) haA (~) =r&ng tn bin c; th c; cc Ss t0 s. # haA _ \s t0 c?i cWa tn bin c; th !3 ! " # $ \hZng :c dlng cc t Sh& nh %f t&en select open close 444 Ht tn bin ECN YiIu #iHn: YiIu +ma!!Jnt Jnteger (!&at +tring +tring n Q&gica! Xate Rb7ect Y!ias 6en $r?sh VK d? B
Xim -?!!_name Ys +tring.

M& t$ zi tr8 t )bGm and bGm.chVa tr&ng G bAte zi tr8 t )G bi!!i&n n G bi!!i&n chVa tr&ng bAtes chVa tr&ng y bAtes zi tr8 d? chm 1ng st&red in chVa tr&ng bAtes \i? ch?ci d3i n bGm Ss t0 \i? ch?ci d3i n Ss t0 Cc; th n n bGm Ss t0E =r?e haA (a!se Ng3A thng ui t:ng graphic. nh dng. miqn $K danh cWa c1t cWa tab!e uHt Si? n}t ,/ ch& !ine \i? tZ

emp!&Aee_id Ys +tring

ECQ BiHn m$ng : u Shai b& m`ng. dlng ch php arra'_name(element(number) VK d' B )im start_date(*+) ,s )ate u tr?A cp m`ng. ,it tn bin m-n.(c&/ s0). V d : start_dateCDE ^ ~mjDDjb~ u Shai b& !@i SKch thFc m`ng. dlng ch php 1e)im. u bit SKch thFc cWa m`ng.dlng h3m 23ound() VK d' B
Xim c&?nter Ys Jnteger. name_!istCnE Ys +tring 444 c&?nter ^ r$&?ndCnamesE Xetermine c?rrent arraA sipe >eXim namesCc&?nter k DoE Jncrease arraA sipe bA Do

%2n !? s !3 #ap$asic chU hc tr: m`ng m1t chiq?. ,3 chU s cWa ph2n t 2? tin tr&ng m`ng !3 D4 #`ng #ap$asic :c Shi t@& bi cc gi tr8 o i ,Fi m`ng Si? s ,3 Ss t0 rcng ,Fi m`ng Si? string4 ECZ YiIu cJ c[u t)Sc : Xlng ch php 4'pe...5nd 4'pe 8nh nghaa m1t Si? c; c? trhc4 VK d' B
=Ape emp!&Aee name Ys +tring tit!e Ys +tring id Ys Jnteger Pnd =Ape Xim manager. sta--CDoE Ys emp!&Aee

u tham chi? tFi m1t ph2n t cWa bin c; Si? c? trhc. b@n ,it the& ch php B
va)ia#.:\nam:C:.:m:nt\nam:C

VK d' B
manager4name ^ ~&e~ manager4tit!e ^ ~Xirect&r &- 6?b!icati&ns~ manager4id ^ DDDGGbbbb

$@n tham chi? tFi bin m`ng c? trhc the& cch sa? LA B M5n #iHn m$ng]ch^ !*_Ct5n hn tOC VK d' B
sta--CDE4name ^ ~Pd~ sta--CDE4tit!e ^ ~6r&grammer~

EC` BiHn t4+n cac ]g.4#a. va)ia#.:_ Nhtng bin Shai b& ,Fi pht bi? )im !3 nhtng bin c'c b14 #1t bin c'c b1 c; th chU :c s d'ng bn tr&ng thW t'c ni n; :c 8nh nghaa4 #ap$asic cvng ch& ph}p b@n Shai b& nhtng bin t&3n c'c . n; c; th !3 tham chi? n bn tr&ng bt S thW t'c n3&. bt cV ni L? tr&ng chng trnh4 u Shai b& m1t bin t&3n c'c . s d'ng s0 pht bi? 6lobal4 %h php cWa pht bi? 6lobal Ing nht ,Fi ch php cWa pht bi? )im. tr t Sh;a 6lobal <?t hi"n thaA t Sh& )im4 VK d' sa? LA pht bi? z!&ba! Shai b& ch& hai bin 6lobal B
z!&ba! -irst_r&w. !ast_r&w Ys Jnteger

Nhtng pht bi? 6lobal ph`i <?t hi"n bn ng&3i cWa bt S 8nh nghaa +?b4 =hZng thdng. s0 pht bi? 6lobal <?t hi"n Unh cWa chng trnh4 VK d' sa? LA Shai b& ,3i bin t&3n c'c ,3 nhtng s0 tham Sh`& nhtng bin t&3n c'c ; bn tr&ng m1t +?b4
Xec!are +?b #ain Xec!are +?b initia!ipe_g!&ba!s z!&ba! g<. gA Ys (!&at Xec!are g!&ba! (!&at ,ariab!es z!&ba! start_date Ys Xate Xec!are g!&ba! Xate ,ariab!e +?b #ain Xim <. A. p Ys (!&at Xec!are #ain pr&cs !&ca! ,ars %a!! initia!ipe_g!&ba!s 444 Pnd +?b +?b initia!ipe_g!&ba!s g< ^ )D Yssign g!&ba! ,arB zT gA ^ )D Yssign g!&ba! ,arB z start_date ^ %?rXateCE Yssign g!&ba! ,arB +=Y>=_XY=P Pnd +?b

$@n c; th s d'ng nhtng bin c'c b1 thaA , nhtng bin t&3n c'c t@i bt cV ni n3& m3 b@n c2n. , mci bin t&3n c'c chim SK Vc t&3n b1 thdi gian chng trnh ang ch@A cWa b@n4 =?A nhin. m1t bin c'c b1 chU chim SK Vc tr&ng Shi #ap$asic ang th0c hi"n thW t'c +?b. ni bin c'c b1 :c 8nh nghaa4 Nhtng bin t&3n c'c #ap$asic c; th s d'ng tra& i dt !i"? ,Fi nhtng b1 ph2n mqm Vng d'ng Shc. Shi Vng d'ng n3A ang ch@A trn nqn Nind&ws4 XAnamic Xata P<change 5c ,3 sa i nhtng gi tr8 cWa nhtng bin t&3n c'c #ap$asic4 ECb Ph1m vi c6a #iHn ]!c4 47 va)ia#.:_: #1t thW t'c mVc +?b c; th Shai b& m1t bin c'c b1 m3 c; clng tn nh tn cWa m1t bin t&3n c'c4 X& ,A. dl chng trnh c; m1t bin t&3n c'c counter th m1t +?b cvng c; th c; m1t bin c'c b1 counter B
Xec!are +?b #ain Xec!are +?b set?p z!&ba! c&?nter Ys Jnteger 444 +?b set?p Xim c&?nter Ys Jnteger c&?nter ^ o 444 Pnd +?b

N? m1t bin c'c b1 c; clng tn nh m1t bin t&3n c'c. th +?b s/ ShZng th 5c h&Hc sa i bin t&3n c'c4 $n tr&ng m1t +?b. bt S nhtng s0 tham chi? n3& tFi bin s/ `nh hng d?A nht n bin c'c b14 X& ,A. tr&ng ,K d' trn. s0 pht bi? B counter 7 + ShZng gLA hi"? Vng n bin .lobal counter. ECBc BiIu thdc : #1t bi? thVc !3 m1t nh;m cWa m1t h&Hc nhiq? bin. hwng. !di g5i h3m. tham chi? b`ng ,3 nhtng t&n t4 #1t bi? thVc c; th rt n gi`n nh B counter 7 89 6ht bi? counter 7 89 !3 ph}p gn gi tr8 89 ch& bin counter VK d' Shc B
Xim name Ys +tring name ^ M$rian Nich&!sM

=&n t c; th !3 d? cWa cc ph}p t&n nh k. ). . j. *. h&Hc Ynd. N&t. Rr


6

VK d' :
Xim <. A. p Ys (!&at A ^ D4n p ^ G4 <^Akp

VK d' B
Xim -irst_name. !ast_name. midd!e_init. -?!!_name Ys +tring -irst_name ^ ~$rian ~ midd!e_init ^ ~>4 ~ !ast_name ^ ~Nich&!s~ -?!!_name ^ -irst_name k midd!e_init k !ast_name

dlng gh}p cc ch?ci4 Mhec hi9n Jnteger +ma!!Jnt (!&at Mhec hi9n gn i ^ DGbynm m ^ o -^y sipe ^ b4bD debt ^ b4ye =r&ng d? nhA S}p N? c2n Ht thm cHp d? nhA S}p ch& t th dlng cHp hai d? nhA S}p %; th dlng chrxCE ch& Ss t0 D^ tr?e. o ^ -a!se =he #ap$asic de-initi&n -i!e de-ines =>rP and (YQ+P4 Ghi chS

+tring

s_mesg ^ M$rian Nich&!s~

Q&gica!

edits_pending ^ D edits_pending ^ =>rP

Xate

d_starting ^ DyoDon date_d&ne ^ MbjGbj~ paiddate ^ DG)Gy)Db~ AesterdaA ^ %?rXateC E ) D c&!_name ^ M6&p_Do~ c&!_name ^ M%RQD~ hwApen ^ #aSe6enCD. b. $QY%\E pbr?sh ^ #aSe$r?shCn. $QrP. NJ=PE !b!_-&nt ^ #aSe(&ntCMe!,~. D. Go. $QY%\. NJ=PE !&c_sAm ^ #aSe+Amb&!Cyy. >PX. DmE Y!ias ph`i !3 Si? ch?ci 4

Y!ias 6en $r?sh (&nt +Amb&!

Rb7ect

path ^ %reateQineCb4G. yo. b4m. yo4yE

ECBB Gfi h+m : NgZn ngt #ap$asic hc tr: g5i nhiq? h3m Shc nha?4 #ci h3m c; m1t m'c Kch Shc nha?4 %hng h@n. h3m +frCEtKnh t&n nhtng gi tr8 cn s bc hai. tr&ng Shi h3m r%asexCE ch?An i m1t ch?ci ,n b`n sang cht h&a4 \hi b@n ,it m1t tn h3m ,3& tr&ng chng trnh cWa b@n. chng trnh cWa b@n s/ g5i h3m c; tn ;. ,3 h3m n3A :c tKnh t&n ,3 h&3n tr` !@i m1t gi tr84 #1t s0 g5i h3m c; th !3 m1t b1 phn cWa bi? thVc4 VK d' B
< ^ #inim?mC A. p E

$i? thVc n3A g5i h3m Minimum() tKnh gi tr8 cWa h3m n3A ,3 gn gi tr8 tKnh :c ch& bin <4 %2n thA s0 Shc nha? cWa g5i h3m ,Fi !"nh CstatementE4 3m ShZng c; ,ai tr cWa m1t !"nh. d& ,A ShZng Vng 1c !p tr&ng cL? !"nh4 z5i h3m ba& gid cvng tr` ,q m1t gi tr84 %h php g5i h3m !3B 4:n &;m (t&am s0 ...) VK d' Shc. dlng h3m curda'():
Xim t&daA. AesterdaA Ys Xate t&daA ^ %?rXateC E AesterdaA ^ t&daA D

3m curdate() ShZng c2n tham s. t?A ,A b@n c2n ph`i ,it W cHp d? ng&Hc n sa? tn h3m n3A4 #ap$asic hc tr: nhiq? h3m dng nh $asic c b`n nh %hrxC E ,3 +frC E. ng&3i ra c n c?ng cp cc h3m Hc bi"t ,q 8a !s nh YreaC E ,3 6erimeterC E ECBE U% cc hgng !* : ECBECB Rgng !* !* ]Num:)ic C4n!tant!_: %c Si? Shc nha? cWa bin i hgi cc Si? hwng s Shc nha?4 VK d' hwng s bm c; th gn ch& cc bin Si? Jnteger.+ma!!Jnt. haA (!&at4 % n hwng s m.y !3 m1t hwng s d? chm 1ng4 wng s s he<adecima! B #ap$asic y4o ,3 cc ,ersi&n sa? n; s d'ng ch php cWa Vis?a! $asic B n?mber4 VK d' sa? LA s d'ng gi tr8 DY Cbwng Gm. gi tr8 thp phLnE B
Xim i_n?m Ys Jnteger i_n?m ^ DY

wng s s ShZng :c chVa d? M.~ ngn cch cc nh;m s nghn4 VK d' ,it nh sa? !3 ShZng h:p !" B counter 7 * 8<+ +++ ECBECE Rgng !* chu/i : wng s ch?ci ph`i :c tr&ng cHp d? ng&Hc S}p4 VK d' : last_name 7 =>ic&ols=. %hiq? d3i ti a cWa hwng ch?ci !3 Gnm Ss t04 %Hp d? ng&Hc S}p chU c; tc d?ng ni b|t 2? ,3 St thhc ch?ci4 N? b@n c2n Ht nhtng t nwm tr&ng d? ng&Hc S}p cWa ch?ci th b@n ph`i chhng tr&ng cHp bn d? ng&Hc S}p4 VK d' B
N&te ~=he tab!e ~~N&r!d~~ is a!readA &pen4~

ECBECF Rgng 84gica. : -i!e #apbasic4de- 9 define true * define false + d& ,A b@n c; th ,it. ,K d' B
Jnc!?de ~mapbasic4de-~ Xim edits_pending Ys Q&gica! edits_pending ^ (YQ+P

ECBECL Rgng hat: : wng n3A c; cht s c; d@ng nh sa? B ##XX VK d' ng3A bD thng DG nm Dnn ,it nh sa? B
Xim d_enddate Ys Xate d_enddate ^ DnDGbD

$@n cvng c; th ,it B d\:nddat: i jBE<FB<BbbNj $@n cvng c; th ,it B d\:nddat: i jBE<FB<bNj aA B d\:nddat: i jBE<FBj 3m N?mber=&XateC E ch& ph}p ch?An s ,q Xate ,Fi iq? Si"n b@n ,it s d@ng Ss s C,K d' DnDGbDE4 $@n nn ,it B
Xim ngaA as date +et (&rmat Xate MQ&ca!M ngaA^N?mber=&XateC DnDGbDE n&te +trxC ngaA E

ECBECN Rgng A.ia! : $@n c; th gn m1t bi? thVc ch?ci ch& bin Si? Y!ias4 VK d' B
Xim c&!?mn_name Ys Y!ias c&!?mn_name ^ ~%itA~

ECBQ Chu-In Pi 0iIu : #ap$asic c?ng cp nhtng h3m ch?An i dt !i"? Si? m1t tFi Si? Shc4 VK d'. ,Fi m1t s :c ch&. b@n c; th pht sinh m1t ch?ci bwng cch g5i h3m +trxCE B
Xim fD. fG. fb. fy. t&ta! Ys (!&at. s_message Ys +tring 444 t&ta! ^ fD k fG k fb k fy s_message ^ ~zrand t&ta!B ~ k +trxCt&ta!E

VK d'. ,Fi s Dy CSi? integerE. b@n c; th ch?An n; th3nh ch?ci Dy CSi? stringE4 ECBF M4n tO ECBFCB M4n tO 8IYk =&n t QJ\P c; th dlng tr&ng ph}p s& snh4 VK d' B
J- s_state_name QiSe ~N&rth~ =hen 444

=&n t ,Fi bin Si? Xate c; th dlng nh sa? B BiIu thdc k ) j #&d BiIu thdc MTnh %Zng =r NhLn chia %hia chn 6h3n d cWa chia #v M)$ v% UT da <^akb <^a)b <^ab <^ajb <^ab < ^ a #&d b <^ab

date k integer date )integer date )date

#1t gi tr8 Xate cWa ng3A hZm sa? #1t gi tr8 Xate cWa ng3A hZm trFc + ng3A 9 trZi f?a Ng3A

Tem ,K d' sa? B


Xim t&daA. &ne_weeS_ag&. t&m&rr&w Ys Xate. daAs_e!apsed Ys Jnteger t&daA ^ %?rXateC E t&m&rr&w ^ t&daA k D &ne_weeS_ag& ^ t&daA ) ca!c?!ate daAs e!apsed since an?arA DB daAs_e!apsed ^ t&daA ) +tring=&XateC~DjD~E

ECBFCE M4n tO !4 !nh : M4n tO ^ * * ^ *^ $etween444Ynd444,a!?e is within range M)$ v% Mlmk nHu $ng ,Fi \hZng bwng Nhg th?a QFn hn Nhg th?a haA bwng QFn hn haA bwng N? gi tr8 nwm tr&ng Sh&`ng. t444 444 n 444 UT da J- a ^ b =hen 444 J- a * b =hen 444 J- a b =hen 444 J- a * b =hen 444 J- a ^ b =hen 444 J- a *^ b =hen 444

VK d' B
J- < $etween o Ynd Doo =hen N&te ~Xata within range4~ P!se N&te ~Xata &?t &- range4~ Pnd J-

=ng ng ,Fi ,itB


J- < *^ o Ynd < ^ Doo =hen N&te ~Xata within range4~ P!se N&te ~Xata &?t &- range4~ Pnd J-

\hi s& snh bwng cWa hai ch?ci. dl dlng cht h&a haA cht th?dng q? nh nha?4 VK d'B
Xim citA_name Ys +tring citA_name ^ ~YQ$YN~ J- citA_name ^ ~Y!banA~ =hen N&te ~%itA names match4~ Pnd J-

10

\hi s& snh ch?ci -i<ed)!ength ,Fi ch?ci ,ariab!e)!ength. b@n c; th dlng h3m >trimxCE c|t ng|n ch?ci4 ECBFCF M4n tO .4gica. : M4n tO Ynd Rr N&t M)$ v5 Mlmk nHu %` hai q? =>rP #1t tr&ng hai !3 =>rP =&n h@ng !3 (YQ+P4 UT da J- a Ynd b =hen444 J- a Rr b =hen444 J- N&t a =hen44

ECBFCL M4n tO G:4g)a hic tr` ,q St f?` !3 =>rP haA (YQ+PC M4n tO %&ntains %&ntains 6art %&ntains Pntire Nithin 6art!A Nithin Pntire!A Nithin Jntersects M)$ v% Mlmk nHu ui t:ng J chVa tr5ng tLm cWa i t:ng JJ ui t:ng J chVa m1t ph2n cWa i t:ng JJ ui t:ng J chVat&3n b1 i t:ng JJ =r5ng tLm cWa i t:ng J nwm tr&ng i t:ng JJ #1t ph2n cWa i t:ng J nwm tr&ng i t:ng JJ =&3n b1 i t:ng J nwm tr&ng i t:ng JJ ai i t:ng gia& nha? t@i m1t im UT da J- a %&ntains b =hen444 J- a %&ntains 6art b =hen444 J- a %&ntains Pntire b =hen444 J- a Nithin b =hen444 J- a 6art!A Nithin b =hen444 J- a Pntire!A Nithin b =hen444 J- a Jntersects b =hen444

Phn 2u ti5n : chS A 2u ti5n : r? tin ca& B Ng&Hc n #v m NhLn %1ng ge&graphic N&t Ynd ? tin thpB Rr VK d' B
<^Gkby < ^ CG k bE y

ECBL UWng .o p lq nhnh v+ cc i%u 0hiIn 0hc ECBL4B I7CCC Mh:n : Xng nh cc ngZn ngt Shc. n? Sim tra cWa %f ch& =>rP th s/ th0c hi"n cL? !"nh sa? t Sh& 4&en4 VK d' B
J- c&?nter o =hen

11

N&te ~Prr&rB =he c&?nter is t&& !&w4~ %a!! reset_c&?nter Pnd J-

%; th c; &pti&n 5lse4 VK d' B


J- c&?nter o =hen N&te ~Prr&rB =he c&?nter is t&& !&w4~ %a!! reset_c&?nter P!se N&te ~=he c&?nter is R\4~ Pnd J-

&Hc P!seJ-. ,K d' B


J- c&?nter o =hen N&te ~Prr&rB =he c&?nter is t&& !&w4~ %a!! reset_c&?nter P!seJ- c&?nter * Doo =hen c&?nter ^ Doo N&te ~Prr&rB =he c&?nter is t&& high resetting t& Doo4~ P!se N&te ~=he c&?nter is R\4~ Pnd J-

ECBL4E h4CCCCa!: : =?A nhin. n? b@n m?n Sim tra nhiq? hn hai h&Hc ba iq? Si"n Shc nha?. b@n c; th s d'ng s0 pht bi? X&444%ase4 X&444%ase th0c hi"n m1t :t cc iq? Si"n Sim tra4 VK d' B
Xim c?rrent_m&nth. f?arter Ys +ma!!Jnt. rep&rt_tit!e Ys +tring c?rrent_m&nth ^ #&nthC %?rXateCE E . c?rrent_m&nth is D i- c?rrent date is in an?arA. G i- c?rrent date is in (ebr?arA. etc4 X& %ase c?rrent_m&nth %ase D. G. b J- c?rrent m&nth is D CanE. G C(ebE &r b C#arE. were in the (irst -isca! f?arter4 Yssign an appr&priate tit!e4 rep&rt_tit!e ^ ~(irst ?arter >es?!ts~ f?arter ^ D %ase y. n. m rep&rt_tit!e ^ ~+ec&nd ?arter >es?!ts~ f?arter ^ G %ase . . rep&rt_tit!e ^ ~=hird ?arter >es?!ts~ f?arter ^ b %ase P!se J- c?rrent m&nth wasnt between D and . then c?rrent date m?st be in the (&?rth ?arter4 rep&rt_tit!e ^ ~(&?rth ?arter >es?!ts~ f?arter ^ y Pnd %ase

%hh s B %ase P!se !3 &pti&n Shi cc trdng h:p case Shc Shc ShZng c;4 ECBL4F G4t4 : 6oto a th0c hi"n chng trnh n 2? m1t &@n !"nh ni Shc tr&ng chng trnh cWa b@n. bwng cch chU n nh9n cWa ni 2? m1t &@n !"nh ;4 VK d' B
J- c&?nter o =hen z&=& get_&?t

12

Pnd J444 get_&?tB Pnd 6r&gram

Nhiq? nh3 !p trnh ShZng thKch dlng zR=R , n; !3m mt tKnh c? trhc cWa ch) ng trnh4 ECBL4L ;4) CCCn:Kt : %h php B
;4) va)\nam: i !ta)t\:K ) M4 :nd\:K ) rSt: inc\:K ) s !tat:m:nt\.i!t N:Kt

6ht bi? (&r444ne<t t@& , ng !Hp th0c hi"n cc !"nh nwm gita (&r ,3 ne<t.4 6h`i dlng m1t bin m tng d2n s !2n !Hp4 ,K d' sa?. bin m !3 ne<t_&ne B
Xim m&nth!A_sa!esCDGE. grand_t&ta! Ys (!&at. ne<t_&ne Ys +ma!!Jnt 444 (&r ne<t_&ne ^ D =& DG grand_t&ta! ^ grand_t&ta! k m&nth!A_sa!esCne<t_&neE Ne<t

VK d' B
Xim i Ys Jnteger the ne<t !&&p wi!! e<ec?te a N&te statement n times (&r i ^ D t& n N&te Me!!& w&r!dOM Ne<t the ne<t !&&p wi!! e<ec?te the N&te statement b times (&r i ^ D t& n +tep G N&te Me!!& w&r!dOM Ne<t the ne<t !&&p wi!! e<ec?te the N&te statement b times (&r i ^ n t& D +tep )G N&te Me!!& w&r!dOM Ne<t #ap$asic wi!! sSip the -&!!&wing (&r statement c&mp!ete!A. beca?se the initia! start ,a!?e is a!readA !arger than the initia! end ,a!?e (&r i ^ Doo t& no +tep n N&te M=his n&te wi!! ne,er be e<ec?tedM Ne<t

P<it (&r dlng th&t Shgi (&r444Ne<t. ,3 nh`A tFi d ng !"nh ngaA sa? (&r444Ne<t ECBL4N h4CCC844 : %h php D
h4 !tat:m:nt\.i!t 844 r t mnti. u vhi.: w c4nditi4n s cS h E h4 r t mnti. u vhi.: w c4nditi4n s !tat:m:nt\.i!t 844 aA dlng ch php B

13

h4 vhi.: c4nditi4n !tat:m:nt\.i!t 844 V3 ch php B h4 !tat:m:nt\.i!t 844 vhi.: c4nditi4n

VK d' B
Xim s?m Ys (!&at. c&?nter Ys Jnteger Rpen =ab!e Mw&r!dM (etch (irst (r&m w&r!d c&?nter ^ D X& s?m ^ s?m k w&r!d4p&p?!ati&n (etch Ne<t (r&m w&r!d c&?nter ^ c&?nter k D Q&&p Nhi!e c&?nter ^ Do

ECBL4Q vhi.:CCCv:nd 844 : #ap$asic hc tr: ch php , ng Nhi!e444Nend cWa #ap$aasic tr?Aqn thng4 +0 pht bi? Nhi!e444Nend rt tng t0 ,Fi pht bi? Nhi!e444Q&&p4 =?A ,A. pht bi? X&444Q&&p tr&ng ,3i trdng h:p m@nh hn pht bi? Nhi!e444Nend4 %c !"nh tr&ng thLn , ng !Hp :c !Hp !@i Shi iq? Si"n Nhi!e ,n c n hng C=r?eE4 %h php B
vhi.: c4nditi4n !tat:m:nt\.i!t v:nd

=r&ng ; B c&nditi&n !3 iq? Si"n Sim tra s0 !Hp !@i cc !"nh sa? Nhi!e4 N? iq? Si"n sai C-a!seE th chm dVt , ng !Hp4 statement_!ist !3 nh;m cc !"nh tr&ng thLn , ng !Hp4 VK d' B u5c Do rec&rd cWa c1t p&p_Dy cWa tab!e w&rd. ,3 tKnh tng B
Xim ps?m Ys (!&at. i Ys Jnteger Rpen =ab!e MXB#apin-&XY=YNR>QXNR>QX4=Y$M Jnteracti,e #ap (r&m NR>QX (etch (irst (r&m w&r!d i^D Nhi!e i ^ Do ps?m ^ ps?m k w&r!d4p&p_Dy (etch Ne<t (r&m w&r!d i^ikD Nend print ps?m

ECBN knd P)4g)am ]hxng ch"ng t)3nh _ : Pnd 6r&gram dng chng trnh ang th0c hi"n4 N? chng trnh cWa b@n c; t@& thm cc men? th Shi Pnd 6r&gram. men? ; s/ bin mt. cc pr&ced?re cWa chng trnh cvng ,A4 ECBQ P)4c:du): ]Mh6 tac_ : #1t chng trnh #ap$asic ti? bi? ba& gIm nhiq? thW t'c mVc dFi CtVc !a s?b)pr&ced?re. #ap$asic g5i !3 +?bE4 %hhng chVa 0ng m1t nh;m nhtng pht bi? !"nh #apbasic %hng trnh cWa b@n. gIm nhiq? thW t'c mVc dFi. s/ !3m ch& s0 pht trin chng trnh ,3 b`& tr chng trnh :c d d3ng hn 4

14

ECBQCB Main )4c:du): : #1t chng trnh #ap$asic c; Kt nht m1t #ain 6r&ced?re C#ap$asic g5i !3 +?b #ainE4 \hi b@n ch@A chng trnh. #ap$asic s/ t0 1ng g5i ngaA #ain 6r&ced?re th0c hi"n4 VK d' sa? LA !3 Shai b& m1t #ain 6r&ced?re B
Xec!are +?b #ain +?b #ain N&te ~e!!& -r&m #ap$asicO~ Pnd +?b

?a ,K d' trn. b@n thA c2n ph`i Shai b& pr&ced?re #ain bwng pht bi? Xec!are +?b #ain4 +a? ; b@n ph`i ,it pr&ced?re #ain. Shi 2? bwng +?b #ain. rIi cc d ng !"nh thLn pr&ced?re4 V3 St thhc ,it m1t pr&ced?re bwng Pnd +?b4 ECBQCE Gfi )4c:du): : \hi b@n ch@A m1t chng trnh #ap$asic 9 :c bin d8ch th #apJn-& t0 1ng g5i #ain pr&ced?re C!? s rwng #ain pr&ced?re c; th !3 :c inh nghaa tdng minh haA en t3ngE4 #ain pr&ced?re s/ g5i cc thW t'c c&n Cs?b) pr&ced?reE tr&ng chng trnh bwng !"nh ca!!4 VK d' sa? LA #ain pr&ced?re g5i s?b) pr&ced?re c; tn !3 ann&?nce_date B
Xec!are +?b ann&?nce_date +?b #ain %a!! ann&?nce_dateC E Pnd +?b +?b ann&?nce_date N&te ~=&daAs date is ~ k +trxC %?rXateCE E Pnd +?b

ECBQCF Gfi )4c:du): cJ tham !* : Xng nh $asic c b`n. #ap$asic ch& ph}p b@n ,it thW t'c ,Fi tham s4 %c tham s cWa pr&ced?re ph`i nwm tr&ng d? ng&Hc n4 V3 Shi g5i pr&ced?re. b@n ph`i tr?Aqn gi tr8 ch& tham s4 9A <em ,K d' sa? LA B
Xec!are +?b #ain Xec!are +?b checS_dateC!ast_date Ys XateE +?b #ain Xim rep&rt_date Ys Xate rep&rt_date ^ ~oDjoDjy~ %a!! checS_dateC rep&rt_date E Yt this p&int. the ,ariab!eB rep&rt_date maA c&ntain the c?rrent date Cdepending &n what happened in the checS_date pr&ced?reE4 Pnd +?b +?b checS_dateC!ast_date Ys XateE Xim e!apsed_daAs Ys +ma!!Jnt e!apsed_daAs ^ %?rXateCE ) !ast_date J- e!apsed_daAs * Do =hen !ast_date ^ %?rXateCE Pnd JPnd +?b

ECBQCL M)u-%n tham !* #gng tham chiHu : #Hc nhin. tham s cWa pr&ced?re :c ch?An bwng tham chi?4 \hi m1t tham s :c ch?An bwng tham chi? th :c th0c hi"n the& cch B Q"nh %a!! s/ <c 8nh tn cWa bin ch& tng thZng s tham chi? N? pr&ced?re :c g5i gn m1t gi tr8 mFi ch& thZng s tham chi? th gi tr8 mFi A s/ t0 1ng chVa tr&ng bin :c g5i4 N; cch Shc !3 pr&ced?re c; th dlng thZng s tham chi? tr` ,q gi tr8 ch& ci g5i n;4

15

N? chng trnh c&n gn m1t gi tr8 mFi ch& thZng s tham chi? th gi tr8 mFi s/ t0 1ng chVa tr&ng bin :c g5i4 N;i cch Shc. chng trnh c&n c; th s d'ng tham chi? tr` ,q gi tr8 :c g5i4 Nh ,A. chng trnh trn. !"nh %a!! g5i pr&ced?re checS_dateCE ,3 nhn gKa tr8 cWa bin rep&rt_date ch& tham s tham chi?. tVc !3 tham s tham chi? nhn gi tr8 cWa bin rep&rt_date !3 %?rXateCE4 ECBQCN M)u-%n tham !* #gng tham t)@: uZi Shi ,i"c tr?Aqn ch& tham s bwng tham chi? !3 d. bi , ,Fi mci tham s tham chi? b@n ph`i <c 8nh tn cWa bin ch& !"nh %a!!4 Xng nh $asic hi"n @i. #ap$asic ch& ph}p b@n dlng tham s cWa pr&ced?re :c tr?Aqn bwng gi tr84 \hi tr?Aqn bwng tham tr8. f?A trnh th0c hi"n s/ nh sa? B Q"nh %a!! ShZng i hgi tham s !3 tn cWa bin. !"nh ca!! c; th c2n m1t tn bin. m1t gi tr8 hwng. haA m1t bi? thVc4 N? pr&ced?re :c g5i gn mt gi tr8 mFi ch& tham tr8 thK ShZng c; tc d'ng ,Fi pr&ced?re g5i n;4 N;i cch Shc. pr&ced?re ShZng th dlng tham tr8 tr` ,q gi tr8 ch& ci g5i n;4 VK d' sa? LA !3 m1t pr&ced?re c; hai tham tr8 Si? Xate
Xec!are +?b #ain Xec!are +?b disp!aA_date_rangeC$AVa! start_date Ys Xate. $AVa! end_date Ys Xate E +?b #ain %a!! disp!aA_date_rangeC ~DjD~. %?rXateCE E Pnd +?b +?b disp!aA_date_rangeC$AVa! start_date Ys Xate. $AVa! end_date Ys Xate E N&te ~=he rep&rt date range wi!! beB ~ k +trxCstart_dateE k ~ thr&?gh ~ k +trxCend_dateE k ~4~ Pnd +?b

=r&ng ,K d' n3A. c` hai tham s cWa pr&ced?re disp!aA_date_range q? !3 Si? Xate. nhng tham s 2? !3 m1t hwng. c n tham s; sa? !3 ng3A d& g5i h3m %?rdateCE tKnh ra4 ECBQCQ Gfi 9 yu- )4c:du): : NgZn ngt #ap$asic hc tr: h3m " f?A ,3 g5i chhng4 N;i cch Shc. pr&ced?re cWa #ap$asic c; th g5i " f?A4 %hng trnh c; g5i " f?A c; th b8 giFi h@n bi b1 nhF. , mci !2n g5i " f?A th #ap$asic !? dt !i"? ,3& stacS. d& ,A g5i " f?A nhiq? !2n c; th gLA ra tr3n b1 nhF4 Nhng iq? n3A c n t? th?1c ,3& tr&ng pr&ced?re haA -?ncti&n c; nhiq? tham s haA bin c'c b1 haA ShZng4 ECBZ P)4c:du): vi vai t)W KO .A !e 0i9n h9 th*ng %; m1t ,3i !&@i pr&ced?re ;ng ,ai tr Hc bi"t nh #ain pr&ced?re , pr&ced?re n3A t0 1ng th0c hi"n Shi b@n b|t 2? ch@A chng trnh4 %lng ,Fi #ain 6r&ced?re. #ap$asic c n c; m1t s pr&ced?re Hc bi"t Shc nh kndRand.:)p ;4):g)4undMa!0SzitchRand.:)p l:m4t:Ma G:nRand.:)p l:m4t:M!gRand.:)pl:m4t:{u:)-Rand.:)]_pS:.Chang:dRand.:)p M44.Rand.:).vinChang:dRand.:)pvinC.4!:dRand.:)pv+vin;4cu!Chang:dRa nd.:)4 #ci pr&ced?re n3A git m1t chVc nng ring tr&ng #ap$asic4 u hi? S hn ,q chhng. b@n c2n bit thm ,q Shi ni"m pht sinh s0 Si"n h" thng ,3 < !s s0 Si"n h" thng4 ECBZCB MhH n+4 .+ ht !inh !e 0i9n h9 th*ng :

16

=r&ng mZi trdng gia& di"n I h&@. ngdi s d'ng tc 1ng !n ch?1t haA b3n phKm 4 Vq phng di"n S th?t. mci !2n tc 1ng !n ch?1t !3 b@n 9 !3m pht sinh m1t s0 Si"n h" thng4 %; nhiq? !&@i tc 1ng. nh Shi b@n nhp ,3& m1t m'c trn th0 n tVc !3 b@n !3m pht sinh s0 Si"n ch5n m'c ; trn th0c n. haA Shi b@n ch5n ;ng ca s wind&w tVc !3 b@n 9 !3m pht sinh s0 Si"n ;ng ca s wind&w4 ECBZCE MhH n+4 .+ KO .A !e 0i9n h9 th*ng : T !s s0 Si"n h" thng !3 m1t ph2n cWa #ap$asic. tr` !di ch& s0 < !s s0 Si"n h" thng4 #ci s0 pht sinh s0 Si"n h" thng. ph`i c; s0 tr` !di < !s h" thng thKch h:p4 =r&ng #ap$asic. chng trnh c&n c; th < !s s0 Si"n4 N;i cch Shc. b@n c; th c? trhc chng trnh cWa mnh #ap$asic t0 1ng g5i m1t tr&ng nhtng chng trnh c&n c; th < !s h" thng Shi m3 s0 Si"n h" thng <?t hi"n4 chng sa? c; trnh b3A cch < !s h" thng #en? haA b?tt&n)pad4 u <LA d0ng m1t !&@i < !s s0 Si"n. b@n ph`i ,it m1t pr&ced?re ,Fi tn Hc bi"t. ,K d' nh Shi b@n m?n chng trnh tr` !di t0 1ng Shi ngdi s d'ng ;ng ca s wind&w th tr&ng Vng d'ng cWa b@n ph`i c; pr&ced?re c; tn !3 vinC.4!:dRand.:)C $`ng sa? LA trnh b3A tn cc b1 < !s s0 Si"n M5n cc Rand.:) oc #i9t M5n c6a )4c:du): h4oc 7uncti4n z5i Shi St thhc Vng d'ng h&Hc e<it Shgi #apJn-&4 Pndand!er c; th dlng c!ean)?p CtVc !3 <& t@m tn -i!esE4 u:c g5i Shi Ht -&c?s C$|t ? !3m ch& Vng d'ng h&@t 1ng E aA ;ng -&c?s z5i Shi Shch RQP Y?t&mati&n g5i 6hng php #apzenand!er. s d'ng chW A? tr&ng #apJn-& Vng d'ng 6r&+er,er z5i Shi Vng d'ng tc 1ng !n ser,er. N;i ch?A"n ,Fi Shch h3ng t <a . 6ht i m1t A? c2? th0c hi"n z5i Shi Vng d'ng tc 1ng !n ser,er. N;i ch?A"n ,Fi Shch h3ng t <a . 6ht i m1t A? c2? th0c hi"n z5i Shi ch5n m1t tab!e thaA i4 V tab!e ch5n thaA i thdng <?An nn pr&ced?re +e!%hangedand!er c2n ph`i ng|n g5n trnh ch& chng trnh b8 ,i4

Pndand!er

(&regr&?nd=asS+witchand!er

>em&te#apzenand!er

>em&te#sgand!er

>em&te?erAand!erC E

+e!%hangedand!er

17

=&&!and!er

z5i Shi ngdi s d'ng c!icS ,3& b`n I. $r&wser h&Hc wind&w QaA&?t s d'ng thanh cZng c' #a$asic z5i Shi ngdi s d'ng pan. tr:t. haA Ht !@i di"n tKch ,lng nhn b`n I4 V ca s b`n I c2n thaA i thdng <?An nn pr&ced?re Nin%hangedand!er %2n ph`i ng|n g5n h" thng !3m ,i"c c; hi"? f?`4 z5i Shi ngdi s d'ng ;ng b`nI.$r&wser. zrapher. haA QaA&?t4 z5i Shi ti? im wind&w thaA i CtVc !3 Shi ngdi s d'ng thaA i ca s h&@t 1ngE

Nin%hangedand!er

Nin%!&sedand!er Nin(&c?s%hangedand!er

$@n ShZng th dlng pht bi? %a!! g5i cc pr&ced?re Hc bi"t n3A4 N? chng trnh cWa b@n chVa 0ng m1t tr&ng nhtng thW t'c c; tn Hc bi"t n3A. #ap$asic g5i t0 1ng thW t'c ; Shi ; m1t s0 Si"n Si? h" thng nht 8nh s/ <?t hi"n4 %hng h@n. n? chng trnh cWa b@n chVa 0ng m1t thW t'c g5i !3 Nin%!&sedand!er. #ap$asic s/ t0 1ng g5i thW t'c Nin%!&sedand!er Shi ngdi s d'ng ;ng m1t Vng d'ng4 =t c` cc hand!er pr&ced?re Hc bi"t q? !3 t? ch5n4 Nhng b@n c2n ph`i inc!?de chU m1t ci4 =hW t'c Nin%!&sedand!er dlng tr&ng Vng d'ng cWa b@n n? b@n m?n Vng d'ng cWa b@n s/ :c thZng b& mci Shi ca s :c ;ng4 =hW t'c +e!%hangedand!er dlng tr&ng Vng d'ng cWa b@n n? b@n m?n Vng d'ng cWa b@n s/ :c thZng b& mci Shi c; thaA i s0 ch5n4 VK d' sa? LA !3 !p trnh 8nh nghaa m1t s0 Si"n Hc bi"t ) thW t'c cWa ngdi iq? Shin c; tn !3 =&&!and!er4 $@n thA rwng tr&ng chng trnh n3A ShZng chVa 0ng bt S pht bi? %a!! n3&4 \hi chng trnh n3A ang ch@A. #ap$asic g5i t0 1ng thW t'c =&&!and!er. ,3 n? ngdi s d'ng !0a ch5n nht cZng c' #ap$asic c; d? k rIi SKch ch?1t ,3& m1t b`n I. $r&wser haA !aA&?t th s/ nhn :c m1t thZng b& d& b@n ,Kt B
Jnc!?de Mmapbasic4de-M Xec!are +?b =&&!and!er N&te M>eadA t& test the #ap$asic t&&!4M +?b =&&!and!er N&te M<BM k >&?ndC%&mmandJn-&C%#X_JN(R_TE. o4DE k %hrxCDoE kM ABM k >&?ndC%&mmandJn-&C%#X_JN(R_E. o4DE Pnd +?b

\hi ch@A chng trnh n3A. b@n s/ thA t0 1ng <?t hi"n thZng b& V3 Shi b@n nhp ch?1t ,3& nht cZng c? c; d? k trn thanh cZng c' #ain. rIi c!icS ch?1t ,3& ni n3& ; trn b`n I b@n s/ nhn :c thZng b& ,q t5a 1 cWa ,8 trK nhp trn b`n I4

18

$n tr&ng m1t thW t'c < !s s0 Si"n h" thng. thW t'c trn g5i h3m %&mmandJn-&CE <c 8nh ,8 trK t&@ 1 cWa ,8 trK c!icS ch?1t trn b`n I4 % n pr&ced?re +e!%hangedand!er m? tr&ng chng trnh ,K d' sa? LA B
+?b +e!%hangedand!er J- +e!ecti&nJn-&C+PQ_JN(R_N>RN+E D =hen Y!ter #en? Jtem create_s?b Xisab!e P!se Y!ter #en? Jtem create_s?b Pnab!e Pnd JPnd +?b

=h pr&ced?re n3A t0 1ng !3m ,Z hi"? h& Cdiasb!eE m1t m'c men? Cch?An item n3A sang m3? <mE Shi ngdi s d'ng thZi ch5n m1t rec&rd. ,3 t 1ng ch& ph}p Cenab!eE !@i m'c men? n3A Shi ngdi s d'ng ch5n !@i nhiq? rec&rd hn4 ECBZCF Yhi n+4 th3 ht !inh !e 0i9n h9 th*ng : #Hc nhin th Vng d'ng #ap$asic s/ St thhc Shi 9 th0c hi"n <&ng tt c` cc !"nh tr&ng #ain pr&ced?re4 =?A ,A. n? Vng d'ng cWa b@n c; chVa m1t h&Hc ,3i pr&ced?re hand!er Hc bi"t nh 9 !i"t S trn th Vng d'ng ,n c n git !@i tr&ng b1 nhF sa? Shi #ain pr&ced?re 9 St thhc4 Ngdi ta g5i Vng d'ng tr@ng thi ; !3 ?an. n.@4 Vng d'ng ngW tr&ng b1 nhF ch& dn Shi c; m1t s0 Si"n thKch h:p <?t hi"n CtVc !3 Shi b@n SKch ch?1t nht cZng c' #ap$asic ,3& 4 Qhc ; #ap$asic t0 1ng g5i pr&ced?re hand!er ang ngW4 zhi chh B N? bt S thW t'c n3& tr&ng m1t Vng d'ng pht h3nh !"nh knd P)4g)amp th t&3n b1 Vng d'ng s/ b8 <&. bt chp Vng d'ng c; chVa 0ng nhtng pr&ced?re hand!er Hc bi"t4 X& ,A. $@n ph`i trnh s d'ng knd P)4g)amC #en? cWa ngdi s d'ng !3m ,i"c cvng the& c ch tng t04 N? Vng d'ng #ap$asic cWa b@n thm ,3& c? trhc cWa #en? cWa #apJn-& m1t m'c men? th Vng d'ng s/ i ,3& tr@ng thi ngW ,3 chd :i ngdi s d'ng ch5n m1t tr&ng cc m'c men? 4 Cs/ n;i S chng #en?E P)4c:du): kndRand.:) : !3 pr&ced?re d3nh ch& ,i"c g5i t0 1ng n; Shi m1t Vng d'ng St thhc4 %h php B
Xec!are +?b Pndand!er +?b Pndand!er statement_!ist Pnd +?b

statement_list !3 danh sach cc !"nh cWa chng trnh Vng d'ng4 Pndand!er !3 m1t pr&ced?re Hc bi"t4 N? ngdi s d'ng ch& ch@A m1t chng trnh c; chVa pr&ced?re Pndand!er th pr&ced?re Pndand!er s/ :c g5i t0 1ng Shi Vng d'ng St thhc4 iq? n3A <9A ra Shi ngdi s d'ng th& Shgi #apJn-& haA m1t pr&ced?re n3& ; tr&ng chng trnh cWa b@n c; chVa !"nh Pnd 6r&gram4 %hh s rwng nhiq? Vng d'ng #ap$asic c; th ang M ngW M clng !hc4 \hi #apJn-& St thhc. #ap$asic t0 1ng g5i tt c` cc pr&ced?re ngW ,3 pr&ced?re Pndand!er ngW sa? sa? clng4 P)4c:du): vinC.4!:dRand.:) : !3 pr&ced?re d3nh ch& ,i"c g5i t0 1ng Shi cc ca s #ap. $r&wse. zraph. QaA&?t. >edistricting. &r #ap$asic wind&w isb8 ;ng4 %h php B

19

h:c.a): Su# vinC.4!:dRand.:) Su# vinC.4!:dRand.:) !tat:m:nt\.i!t knd Su#

statement_!ist !3 danh sch cc !"nh th0c thi Shi ca s b8 ;ng4 #Z t` B N? chng trnh cWa b@n c; chVa pr&ced?re Nin%!&sedand!er th Vng d'ng s/ ngW Shi #ain pr&ced?re 9 ch@A ht cc !"nh4 ng d'ng ngW ,3 :c git !@i b1 nhF ,3 #ap$asic t0 1ng g5i !@i pr&ced?re n3A Shi ;ng ca s4 $n tr&ng pr&ced?re n3A b@n c; th ,it ca!!B %&mmandJn-&C %#X_JN(R_NJN E bit JX cWa ca s n3& b8 ;ng4 Q? s !3 b@n c; th s d'ng !"nh Pnd 6r&gram chm dVt pr&ced?re Nin%!&sedand!er P)4c:du): vin;4cu!Chang:dRand.:) : N? m1t Vng d'ng #ap$asic chVa m1t +?b pr&ced?re g5i Nin(&c?s%hangedand!er. #apJn-& g5i t0 1ng +?b pr&ced?rei mci Shi ti? im ca s thaA i4 3nh ,i n3A p d'ng ch& m5i Si? ca s C$r&wsers. #aps. 444E4 V3 clng ,Fi pr&ced?re Nin(&c?s%hangedand!er. b@n s/ th? :c JX cWa ca s hi"n h3nh bwng cch g5i h3m %&mmandJn-&C%#X_JN(R_NJNE4 $@n c2n ,it pr&ced?re n3A tht ng|n trnh !3m ,i chng trnh4 VK d' sa? LA minh h&@ ch& ,i"c thA m1t m'c men? !3 enab!e haA disab!e Cchp nhn haA ,Z hi"? h&E t? th?1c ,3& ,i"c !i"? ca s h&at 1ng c; ph`i !3 ca s b`n I haA ShZng4
Jnc!?de Mmapbasic4de-M Jnc!?de Mmen?4de-MXec!are +?b #ainXec!are s?b Nin(&c?s%hangedand!er+?b #ain Yt this p&int. we c&?!d create a c?st&m men? item which sh&?!d &n!A be enab!ed i- the c?rrent wind&w is a #ap wind&w444 Pnd +?b+?b Nin(&c?s%hangedand!er Xim i_win_tApe Ys +ma!!Jnt i_win_tApe^Nind&wJn-&C%&mmandJn-&C%#X_JN(R_NJNE.NJN_JN(R_=6PE Ji_win_tApe ^ NJN_#Y66P> =hen here. we c&?!d enab!e a map)re!ated men? item P!se here. we c&?!d disab!e a map)re!ated men? item Pnd J- Pnd +?b

P)4c:du): M44.Rand.:) : !3 pr&ced?re d3nh ch& !in St ,Fi m1t t&&!$?tt&n Hc bi"t CtVc !3 b?tt&n #ap$asicE4 %h php B
h:c.a): Su# M44.Rand.:) Su# M44.Rand.:) !tat:m:nt\.i!t knd Su#

statement_list !3 danh sch cc !"nh s/ th0c hi"n Shi ngdi s d'ng c!icS ,3& b?tt&n #a$asic4 Vi"c 8nh nghaa pr&ced?re =&&!and!er !3 cch n gi`n b@n thm m1t nht !"nh ,3& #ain $?tt&n6ad cWa #apJn-&4 =?A nhin nht !"nh n3A b8 h@n ch. n; ShZng ch& ph}p b@n dlng cc Jc&n t0 thit S4 #?n t@& m1t nht !"nh ShZng b8 h@n ch nh ,A th b@n ph`i dlng nht Y!ter $?tt&n6ad ,3 dlng !"nh %reate $?tt&n6ad4 \hi ch@A m1t Vng d'ng c; pr&ced?re =&&!and!er th m1t nht !"nh #ap$asic mang d? k s/ :c thm ,3& #ain $?tt&n6ad. nh ,K d' minh h&@ ph2n trn4 Nht !"nh #ap$asic !3 enab!e mci Shi m1t tr&ng cc ca s $r&wser. #ap. haA QaA&?t h&@t 1ng4 #ci Shi ngdi s d'ng c!icS ,3& nht n3A ,3 c!icS ca s $r&wser. #ap. haA QaA&?t th pr&ced?re =&&!and!er :c g5i4 =r&ng pr&ced?re =&&!and!er c; th s d'ng h3m %&mmandJn-&C E <c 8nh ,8 trK m3 b@n c!icS ,3&4 N? b@n c!icS ,3& b`n I th s/ tr` ,q ,8 trK h3ng ,3 c1t the& h" thng t&@ 1 hi"n h3nhC <em thm ,q !"nh +et %&&rd+AsE4 % n n? b@n c!icS ,3& ca s QaA&?t th %&mmandJn-&C E tr` ,q t&@ 1 cWa QaA&?t tVc !3 Sh&`ng cch cWa g;c tri bn trn cWa trang hi"n h3nh the& n ,8 d& !"nh +et 6aper rnits f?i 8nh4 $wng cch g5i %&mmandJn-&C E. b@n c; th bit !i"? phKm shi-t haA phKm %&ntr&! c; b8 n <?ng ShZng Shi b@n c!icSing4 uiq? n3A ch& ph}p b@n ,it cc ph`n Vng Shc nha? Shi shi-t)c!icS u !3m ch& nht #ap$asic t&&! h&@t 1ng. b@n dlng !"nh 1un Menu Aommand M_4BBLC_M,D3,C%A

20

u !3m ch& pr&ced?re =&&!and!er c; hi"? !0c. ngdi s d'ng ph`i ch& ch@A Vng d'ng cWa mnh4 N? Vng d'ng c; chVa pr&ced?re Hc bi"t nh =&&!and!er th Vng d'ng s/ ngW Shi #ain pr&ced?re ch@A <&ng cc !"nh4 #ain pr&ced?re c; th tdng minh haA en t3ng Ce<p!icit &r imp!iedE4 ng d'ng g5i !3 ang ngW !3 bi , pr&ced?re =&&!and!er ang tr&ng b1 nhF dl n; ShZng h&@t 1ng4 N? ngdi s d'ng ch5n nht #ap$asic ,3 c!icS ,3& n; th #ap$asic s/ t0 1ng g5i !@i pr&ced?re =&&!and!er pr&ced?re n3A c; th ph`n Vng !@i s Si"n c!icS4 Q? s rwng Shi Vng d'ng cWa b@n thi h3nh !"nh Pnd 6r&gram th n; <& t&3n b1 b1 nhF. n;i cch Shc. Pnd 6r&gram s/ !3m St thhc tt c`. d& ,A b@n ph`i cen thn ,Fi Pnd 6r&gram Shi b@n ,n c n c2n pr&ced?re =&&!and!er4 =? th?1c ,3& h&3n c`nh m3 pr&ced?re =&&!and!er c; c2n Ht phKa trV&c !"nh Cet AoordC's <c 8nh h" t&@ 14 N? ngdi s d'ng c!icS ,3& $r&wser th ShZng c2n thit Ht !"nh +et %&&rd+As4 % n n? ngdi s d'ng c!icS ,3& ca s QaA&?t th c2n ph`i Ht trVc !"nh +et %&&rd+As trFc Shi c!icS ,3& ca s QaA&?t4 N? ngdi s d'ng c!icS ,3& ca s $`n I ,3 cha c; h" t&@ 1 th c2n ph`i Ht trFc !"nh +et %&&rd+As trFc Shi c!icS ,3& ca s $`n I4 P)4c:du): ;4):g)4undMa!0SzitchRand.:): Q3 thW t'c :c d0 trt ,3 :c g5i t0 1ng Shi #apJn-& nhn ti? im Ctr th3nh !3 Vng d'ng h&@t 1ngE h&Hc ShZng c n !3 ti? im CShi Vng d'ng Shc tr th3nh tKch c0cE4 N? ngdi s d'ng ch@A m1t Vng d'ng chVa 0ng m1t thW t'c c; tn (&regr&?nd=asS+witchand!er. #apJn-& g5i thW t'c t0 1ng bt cV Shi n3& m3 #apJn-& nhn h&Hc mt ti? im %h php B
h:c.a): Su# ;4):g)4undMa!0SzitchRand.:) Su# ;4):g)4undMa!0SzitchRand.:) !tat:m:nt\.i!t knd Su#

statement_list !3 d9A cc !"nh4 =r&ng pr&ced?re n3A. !"nh g5i %&mmandJn-&C E <c 8nh !i"? #apJn-& c; nhn ti? im C-&c?sE haA mt ti? im4 VK d' B
+?b (&regr&?nd=asS+witchand!er J%&mmandJn-&C%#X_JN(R_=Y+\_+NJ=%E ^ +NJ=%JNz_JN=R_#Y6JN(R =hen 444 then #apJn-& 7?st became acti,e P!se 444 an&ther app 7?st became acti,e Pnd J- Pnd +?b

Q"nh +e!%hangedand!erB #'c Kch !3 ch& ph}p haA ShZng ch& ph}p t0 1ng g5i pr&ced?re hand!er +e!%hangedand!er4 @n ch B $@n ShZng th dlng !"nh n3A tr&ng ca s #ap$asic cWa #apJn-&4 %h php B
S:t Rand.:) hand.:)\nam: t =n u =77 w

&andler_name !3 tn cWa pr&ced?re hand!er #Z t` B $nh thdng n? pr&ced?re < !s s0 Si"n c; tr&ng chng trnh cWa b@n th #apJn-& t0 1ng g5i n; mci Shi c; s0 Si"n <9A ra4 VK d' n? tr&ng Vng d'ng cWa b@n c; pr&ced?re +e!%hangedand!er th #apJn-& s/ g5i t0 1ng mci Shi c; s0 thaA i +e!ecti&n4 + d'ng !"nh +et and!er !3m ,Z hi"? h& s0 g5i t0 1ng pr&ced?re < !s s0 Si"n bn tr&ng chng trnh #ap$asic4 Q"nh +et and!er 444 &-- \hZng c; hi"? !0c Shi g5i pr&ced?re tdng minh C< d'ng !"nh %a!!E4 VK d' B VK d' sa? LA <em !"nh +et and!er c; th gihp trnh m1t , ng !Hp ,Z tn4

21

+?b +e!%hangedand!er +et and!er +e!%hangedand!er R-- Jss?ing a +e!ect statement here wi!! n&t ca?se an in-inite !&&p4 +et and!er +e!%hangedand!er Rn Pnd +?b

Ng|n ngxa vWng .o v& tDn : Vi"c th0c hi"n nhtng h&@t 1ng bn tr&ng m1t pr&ced?re hand!er Zi Shi c; th gLA ra m1t , ng !Hp ,Z tn4 VK d' n? b@n 9 Shai b& m1t pr&ced?re +e!%hangedand!er. #apJn-& g5i pr&ced?re n3A mci Shi c; s0 thaA i se!ecti&n4 N? b@n pht ra !"nh +e!ect bn tr&ng cWa pr&ced?re +e!%hangedand!er. th !"nh +e!ect s/ !3m ch& #apJn-& g5i " f?A pr&ced?re4 \t f?` c?i clng !3 m1t , ng !Hp ,Z tn ch@A ch& n Shi tr3n b1 nhF4 Q"nh +et and!er c; th gihp b@n ngn nga , ng !Hp ,Z tn4 $|t 2? pr&ced?re hand!er. b@n pht !"nh S:t Rand.:) CCC =77 ngn nga s0 g5i " f?A4 c?i pr&ced?re b@n !@i pht !"nh S:t Rand.:) CCC =n ShZi ph'c !@i hand!er4
Su# S:.Chang:dRand.:) S:t Rand.:) S:.Chang:dRand.:) =77 } Pht .9nh S:.:ct t1i ~} !q 0h&ng g~- )a vWng .o v& tDn S:t Rand.:) S:.Chang:dRand.:) =n knd Su#

ECB` R+m te t14 #ap$asic h tr: nhiq? h3m dng nh $asic ch?en nh ascCE.-&rmatx.,a!CE.444,3 nhtng h3m !3 cWa ring #apJn-& nh XistanceCE. Rb7ectze&graphACE4 #ap$asic c n ch& ph}p b@n 8nh nghaa cc h3m d& b@n t0 t@&4 #1t Shi b@n 9 8nh nghaa m1t h3m th b@n cvng c; th g5i n; nh g5i cc h3m $asic ch?en4 u8nh nghaa m1t h3mthe& ch php sa? B
;uncti4n function_name] parameters, if any_ A! data_type statement list knd ;uncti4n

,s data_t'pe !3 Si? cWa gi tr8 m3 h3m tr` ,q4 statement list !3 d9A cc !"nh thLn h3m4 =hZng s cWa h3m c; th !3 thZng s tham chi? haA tham tri4 u8nh nghaa h3m dFi LA th1ng s h3m !3 tham tr8. ,3 tr` ,q gi tr8 Si? string B
Xec!are +?b #ain Xec!are (?ncti&n m&neA_-&rmatC$AVa! n?m Ys (!&atE Ys +tring +?b #ain Xim d&!!ar_am&?nt Ys +tring d&!!ar_am&?nt ^ m&neA_-&rmatC DGbynm4 E d&!!ar_am&?nt n&w c&ntains the stringB ~xD.Gby.nm4~ Pnd +?b (?ncti&n m&neA_-&rmatC$AVa! n?m Ys (!&atE Ys +tring m&neA_-&rmat ^ (&rmatxCn?m. ~x.4Cx.4E~E Pnd (?ncti&n

ECB`CB Ph1m vi c6a h+m : 6h@m ,i cWa h3m t0 t@& cvng dng nh i ,Fi h3m ch?en cWa #ap$asic4

ECBb Cc ch^ d,n #i5n d@ch : #ap$asic c?ng cp hai pht bi? Hc bi"t !3m ch& Vng d'ng pht trin d d3ng hn4

22

6ht bi? h:7in: ch& ph}p b@n 8nh nghaa tc Ss m1t 8nh danh. 8nh nghaa n3A !3 thaA th thdi im bin d8ch4 6ht bi? Inc.ud: ch& ph}p b@n h:p ,3& hai haA nhiq? -i!es chng trnh ,3& m1t chng trnh :c bin d8ch4

ECBbCB Pht #iIu h:7in: : Nhd pht bi? Xe-ine b@n c; th 8nh nghaa m1t 8nh danh tc Ss tng ng ,Fi m1t gi tr8 n3& ;4 Xe-ine m1t 8nh danh gihp b@n i Sh; nh5c hn Shi thdng <?An g{ !@i nhtng gi tr8 A4 VK d' b@n m?n ch& i t:ng c; m3? DmDDmo th mci !2n g{ gi tr8 A b@n d g{ nh2m ,3 d chn. b@n nn de-ine c&n s DmDDmo bwng pht bi? B
h:7in: M\C=8=l BQZBBQ`c

#ap$asic 9 de-ine cc m3? ch?en tr&ng -i!e ~mapbasic4de-~ ch& cc m3? $QY%\.NJ=P. >PX. z>PPN. $QrP. %YN. #YzPN=Y. and PQQRN ECBbCE Pht #iIu Inc.ud: : (i!e m3 b@n c2n inc.ude c2n c; dng dn th m'c4 N? b@n ShZng ghi dng dn th m'c th #ap$asic hi? !3 -i!e inc!?de nwm th m'c hi"n h3nh4 N? #ap$asic ,n ShZng tm thA th n; tm t@i th m'c ni ph2n mqm #ap$asic :c c3i Ht4 N? b@n pht trin nhiq? chng trnh $ap$asic ,3 b@n thdng <?An !Hp !@i nhtng &@n m9 s d'ng n3A th b@n nn ,it cc h3m t0 t@& ,3& m1t th ,i"n ,Fi tn -i!e !3 chng trnh m9 ng?In #ap$asic. ,K d' ,Fi tn ~-?ncts4mb~ ,3 Shi ,it chng trnh. b@n Ht pht bi? B
Jnc!?de ~-?ncts4mb~

N? chng trnh cWa b@n f? d3i ,3 b8 giFi h@n bi bZ nhF th b@n c; th chia chng trnh ra nhiq? -i!e. ,3 b@n c; th inc!?de cc -i!e n3A ,3& m1t &@n -i!e chng trnh cWa b@n4 ECEc MP chdc ch2"ng t)3nh #1t Vng d'ng #ap$asic ba& gIm nhiq? Si? pht bi? Shc nha? nh 9 q cp ph2n trn4 %c Si? pht bi? Shc nha? ph`i :c b trK hng chc tr&ng chng trnh. chng h@n b@n ShZng :c ph}p Ht pht bi? G.4#a. ,3& bn tr&ng 8nh nghaa Su#CCCknd Su#C XFi LA minh h&@ s0 b trK cc th3nh ph2n tr&ng m1t chng trnh B
Inc.ud: jma #a!icCd:7j Cc ht #iIu Inc.ud: Cc ht #iIu M- :CCCknd M- : Cc ht #iIu h:c.a): Su# Cc ht #iIu h:c.a): ;uncti4n Cc ht #iIu h:7in: Cc ht #iIu G.4#a.C C C h@nh nghXa Main )4c:du): C C C Su# Main Cc ht #iIu him CCC knd Su# C C C Cc @nh nghXa Su# )4c:du): : Su# CCC him !tat:m:nt!

23

444 knd Su# C C C Cc @nh nghXa h+m te t14 C C C ;uncti4n CCC Pht #iIu him ! CCC knd ;uncti4n

24

You might also like