Professional Documents
Culture Documents
Delphi Book 1
Delphi Book 1
Quyn 1
Bi 1 Bi 2 Bi 3 Bi 4 Bi 5 Bi 6 Bi 7 Bi 8 Bi 9
Li gii thiu Delphi cho php bn to ra mt chng trnh bng cc cng c rt mnh. Chn hn nh vi 3 ci click chut v khng cn x l m lnh bn c th to v chy mt chng trnh son tho n gin. Cng vic m phi mt vi tun l lm c vi cc ngn ng c. Mi chng trnh Delphi u c 1 PROJECT (d n), cha ng mi th cn thit cho chng trnh. y l ngn ng da trn nn tng ngn ng hng i tng ca Pascal (Object Pascal). t mt d n trong 1 th mc ring bit. Ti liu ny yu cu bn phi bit v nhng cng c trong Window v lm sao qun l h s (File), th mc (Folder) bt u cng vic ny! Th mc chng trnh. y l 1 tng tt cc cc d n Delphi ca bn vo trong th mc m bn nh (th mc ca mnh). Bn s nhm ln nu c qu nhiu cc d n t trong cc th mc khc nhau. Vic u tin l bn hy to mt th mc ct gi chng trnh ca bn chn hn: D:\Delphi\My Program C th s dng MS DOS or Windows Explorer to th mc.
Tm lt mi trng lp trnh Delphi C nhiu cch thc hin cc lnh trong Windows. Nhng v d cho bn di: 1) Alt+F4 .Ngha l bn phi nhn gi phm Alt, tip theo bm F4 v th phm Alt. Alt | File | Save. Bm Alt tip theo F cui cng S. Ch b gch di biu hin l phm nng. Bn ng nn gi Alt sau khi bm F. Click chut vo File sau click Save. Click vo biu tng trn ToolBar nh vy n:
2)
3) 4)
5) 6)
Cc phm tt cn thit ng ca s hin thi. Thot Chy chuong trnh Ghi nhn Form thit k Ghi nhn thay i i tng Chuyn ti iu khin tip theo Chuyn i thuc tnh tnh v cc Tab trong i tng To x l c la chn trong i tng Thuc tnh c sn trong i tng Th list ca Control trong i tng Th list ca i tng Alt+F4 Alt | File | Exit F9 F12 F11 Tab Ctrl+Tab Ctrl+Enter Ctrl+Enter Ctrl+Down-Arrow Alt+Down-Arrow
Hc Bi 1 - Chng trnh Delphi on gin nht Do This Nhim v Vit chng trnh theo nhng bc bn di. Explanation
Khi ng Delphi To mt d n (project) Bn cn to th mc ny. Use MS DOS or File Manager. Lu project ca bn ti . F:\Delphi\My Program Chy project. Bn s c mt form trng, c th i kch thc, di chuyn v ng. ng chng trnh bn ang chy. N rt quan trng nh lm n. Delphi s x l khc nu bn cn chng trnh no chy v n c th bi ri. Bm F11 nhiu ln v ghi nh n. Bm F12 nhiu ln v ghi nh n Lu cng vic ca bn. Sau thot t Delphi.
Alt | File | New Application Alt | File | Save All Hai file s c lu. UNIT1.PAS PROJECT1.DPR F9 Nh phm ny.
Ba phng php c sn Alt | SpaceBar | Close Alt+F4 Click vo gc cnh ca form i kch thc F11 F11 F11 Nh phm ny. F12 F12 F12 Alt | File | Save All Alt | File | Exit Nh phm ny.
Hc bi 2 Nt nhn v thuc tnh. Do This Nhim v Vit chng trnh theo ch dn di y M F:\Delphi\lkn\Project1.Dpr Alt | File | Open Project Chn mt button bng cch click chut tri vo biu tng nh hnh bn Explanation
Thay u (Caption) ca nt bn phn Properties. Thay v Button1, bn hy thay bng &Red (du & ch th phm tt, y l ch R). Sau bm F11.
Bm p chut tri vo buttion ny. Khi bn s lm g, Delphi s vit vi dng lnh Pascal cho bn y l on m lnh Delphi to ra.Bn khng c thay i m ch nh thm lnh thc thi vo
Chy chng trnh v nhn chut tri vo nt c nhn Red. Form s i thnh mu ng chng trnh m bn ang chy
Alt+F4
Nhim v: Thm nhiu nt lnh theo dng clYellow, clGreen nh hnh bn Xem cc m lnh to bng Delphi. NH rng bn KHNG C thay i or xa m lnh to bng Delphi. Bn ch c th xa, thay i m m mnh to. S khi u cho vic to m lnh bng Delphi. Lu d n (project) ca bn. Thot khi bn kt thc
Hc Bi 3 Nhn v u ra vn bn Trong bi hc ny, bn s vit mt chng trnh hin th vn bn (text) khi nhn vo nt. Vic trnh by vn bn l k nng c bn cn trong lp trnh. Trong bi hc 2, bn vit on m tr li khi nhn nt. M ny c gi l x l s kin. Nhng s kin y l nhng bin c khi nhn nt, chut di chuyn hoc bm chut. Trong bi hc ny, bn s kch hot c cc s kin x l nhiu hn. Do This Nhim v Vit chng trnh theo hng dn di y. Khi bn nhn nt, on text Hello World s xut hin. To th mc cho d n ny. Use MS DOS or Windows File Manager. To d n Delphi mi Lu d n ny ti C:\Delphi\Hello To mt Button v mt Label trn form ny. Click vo label. Click vo form. Click vo button. Click vo form. Explanation
To th mc ny: C:\Delphi\Hello
Bm p vo nt &Hello pht sinh x l s kin y l m lnh Delphi to. Bn Khng Th thay i nhng c th them vo m Thm vo b x l s kin
Ghi ch M lnh bn di gi l B x l s kin EVENT HANDLER procedure TForm1.Button1Click(Sender: TObject); begin end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := 'Hello World!'; end; F9
Chy chng trnh. Click vo button. on text Hello World s xut hin. Nhim v Thm 2 button v label vo form. Lm on text xut hin tng ng khi nhn nt. Thc hnh n cho n khi bn thy tt hoc qu chn! Nhim v Hy th nghim cc thuc tnh khc ca i tng. Chn hn thay i mu ca form ti clLime. Bn hy click vo mi tn tm cc mu trong danh sch. Phi chn l bn c th thay mu, font ch. Tt c cc nhim v ny thc hin ch bng ci click chut.
Hc Bi 4 Ra, vo Vn Bn. Trong bi hc ny, bn s vit chng trnh nhn vn bn t bn phm v in ra mn hnh khi bn nhn nt. y l k nng c bn cn trong lp trnh. Bn cng hc lm sao chuyn dch nhng i tng t form. Bn s c th nhm ln khi thc hin nhim v ny tr khi bn nh tn ccLabels, Buttons v Edit Controls ca bn Do This Nhim v Vit chng trnh theo ch dn di y nh text vo Edit Control (top). Khi bn bm nt Copy, text s hin ra trong label ca s (hnh bn) M d n lm lc trc. Xa tt c Button, Label trong form . Xa cc m x l s kin c. y l mt kh khn, bn hy xa cc lnh m bn nh. Explanation
Alt | File | Open Project Bm chut vo cc i tng v bm Del. Nu cc Label c th kh thy, bn c th bm Tab chuyn qua Label . Bm F12 hin ca s m lnh v xa chng. procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := 'Hello World'; end;
Delphi s t ng xa cc m ny nu khng dng. Xa dng x l s kin cc ch in m (Ch in m Bold) Nu vic xa c sai lch th bn c th to d n mi cho Lp li bc ny vi tt c cc m lnh m bn to x l s kin. chc! S dng Alt | File | Save Project Delphi dn dp cc m lnh m n to ra.
By gi chng ta bt u xy dng chng trnh. To mt Edit, 1 Label v 1 Button trn form chng trnh.
Bm F11 kim tra i tng (Object). Thuc tnh Text ca Edit1 trng Thuc tnh Caption ca Label1 trng. Thuc tnh Caption ca Button1 l Copy. Bp p vo nt Copy to procedure TForm1.Button1Click(Sender: TObject); x kin tng ng. begin Label1.Caption := Edit1.Text; Bn phi nhp hng mt. end; Delphi s to ra ci khc. Khi bn bm vo nt nhn, th Label1.Caption s th hin ni dung ca Edit1.Text. Nhim v Vit mt chng trnh vi nhiu iu khin hn. Chng trnh ny phi copy Name v Address khi bn bm nt Copy . Xem th n c ging nh v d trn khng?
S dng Object Inspector i tn Labels, Buttons v Edit controls nh y. Bn phi kt lun vi ButtonCopy EditAddress EditSurname EditTitle LabelAddress LabelAddressOutput LabelSurname LabelSurnameOutput LabelTitle LabelTitleOutput
To s kin iu khin procedure TForm1.ButtonCopyClick(Sender: TObject); begin LabelTitleOutput.Caption := EditTitle.Text; LabelSurnameOutput.Caption := EditSurname.Text; LabelAddressOutput.Caption := EditAddress.Text; end;
Hc bi 5 - Quyt nh s dng lnh IF Mt k nng c bn m ngi lp trnh phi lm. y l nhim v ca bi 2 nhng chng ta phi thay i mu t form, n chn 1 mu mi thay th mu c. Xy dng li chng trnh trong bi hc 2 lm cho form mu . Cho chng trnh lm vic. Thy rng bn c th lm n m khng cn s dng hng dn ny. ri thay i cc s kin nh sau.Vic ny tiu biu s dng If Statement (lnh IF). procedure TForm1.Button1Click(Sender: TObject); begin messageBeep(0); { Ting bp bo hiu khi bn nhn nt} if form1.color = clBtnFace then begin form1.color := clRed end else if form1.color = clRed then begin form1.color := clYellow; end else begin form1.color := clBtnFace; end end; { Nu form c mu ca nt} {khi form thnh } {mu } {nu form khng phi mu } {chuyn thnh mu vng}
Nhim v Thm nhiu mu hn vo s chn la thc hin trn. Thm vo button th hai vo form khi qua bc khc qua nhng mu ni tip vi nhau. Thay i lnh messageBeep(0) chng trnh ku ting bp ln khi form tr li mu .
Hc bi 6 Thm php tnh Nhim v Vit chng trnh cha ng nhng thnh phn sau v c tn nh hnh bn.
To s kin x l ca nt nhn nh sau. procedure TForm1.ButtonAddClick(Sender: TObject); begin editAnswer.text := intToStr( strToInt(editFirstNumber.Text) + strToInt(editSecondNumber.Text)); end; V d ny l mt kh khn chung vi ngi lp trnh. Hu ht cc ngn ng u tt v inputting v outputting vn bn. Vic lm ny cng th nhng i vi nhng s th khng phi d nh vy u. Chng trnh Pascal c phi chng b qun vn bn c nhp khi mt s c ch i. Duy nht Delphi l chp nhn vn bn ny. C ngha l vn bn phi c chuyn i ti s tng ng ca n. S dng hm sau y thc hin vic ny. strToInt(Text Goes Here) Hm ny c tn l String To Integer nhng c rt ngn. String l kiu d liu Pascal ct gi vn bn. Bn c th tm hiu Pascal bit thm chi tit. Integer l kiu d liu Pascal ct gi nhng s nguyn, khng bao gm cc s sau du phy ca s thp phn. S chuyn i o ngic c s dng intToStr(Number goes Here). Hm ny c tn l Integer To String nhng tn c rt gn. Nhim v Thm ba nt ln form ca bn c nhn l Subtract, Multiply and Divide. Nhng k hiu ton hc cho Delphi nh sau: Thao tc Cng Tr Nhn K hiu use cho s nguyn + * K hiu s dng cho s thc + *
Chia ly thng
DIV
Hc Bi 7 - Thm Items ti mt List Box Nhim v Thm 1 ListBox, 1 Edit v 2 Buttons vo form. Gn nhn ng cho nt. To x l s kin nh bn di. Hc cch s dng ItemIndex .
Nhng x l s kin procedure TForm1.Button1Click(Sender: TObject); begin listBox1.Items.Add(Edit1.text); end; procedure TForm1.Button2Click(Sender: TObject); begin listBox1.Items.Delete(ListBox1.ItemIndex); end; Nhim v: S dng Delphi Help System bit thng tin trn topic nh ItemIndex. Chn con tr vo v bm F1.
H thng gip ny th kh vi nhng ngi mi nhng ta phi s dng thng xuyn. nu bn xem nhng ch trong hng dn, Bn s bit c lm cch no bit cch s dng cc thnh phn m bn cha tng bit. Nu bn bit qu r nhng vn chnh th bn c th l i. Nhim v Vit chng trnh tng t nh phn trn nhng s dng 1 ComboBox thay cho 1 ListBox. Use Delphi Help lm bi ny. Nu bn bm OK , Quick phi c thm vo danh sch. Sau ComboBox phn loi danh sch. (Ch nhp p chut 1 ln l lm n)
Hc bi 8 - To Menus - Mt Text Editor - Files Mt ng dng y Bi hc ny tin tin hn v s dng nhiu c tnh mi trong Delphi. Bi ny cng s dng rt nhiu iu khin. Bn s cn tm chng. Nhn vo nh di. Nu gi s chut lt qua nt nhn, mt tip mu vng hin ra cho bn bit chc nng ca nt ny. Nu bn s dng TABS, bn s chuyn qua iu khin khc.
1 2 3 4 5
To th mc cho cng vic ca bn chn hn F:\Delphi\Editor Khi ng Delphi To 1 d n mi : File | New | Project Lu d n ti F:\Delphi\Editor Thm cc thnh phn sau vo form ca bn v t cc thuc tnh tng ng. i tn cc thnh phn khp vi chc nng khi nh m. Ghi ch : Chy chng trnh sau mi bc thc hin pht hin li nhanh v d dng s cha. Gi tr alClient Blank Gii thch Chn TStrings [...] v xa Memo1
WantTabs MainMenu1
True
OpenDialog 1
TXT *.TXT Text File *.TXT |*.TXT Click vo [...] lm. Bn s in vo ci hp ny v nhn OK.
SaveDialog1
. Open A File TXT *.TXT Text File *.TXT |*.TXT Click vo [...] lm. Bn in vo hp (box) v click OK.
InitialDir Title
Form1
Caption
Click vo icon MainMenu1 to menu cha cc submenu . nh Captions v ShortCuts (phm tt) nh hnh di y.
S dng '&' xc nh k t phm nng khi bm Alt v k t sau du &. V d: &File E&xit in cc thuc tnh ca menu nh hnh bn.
To s kin cho File | Exit bng cch nhn p chut vo icon MainMenu1 v nhn p vo ty chn menu File | Exit . Delphi s to cc m x l s kin sau:. procedure TForm1.Exit1Click(Sender: TObject); begin end; Bn nh vo Close; N s nh th ny: (thc hin ng chng trnh) procedure TForm1.Exit1Click(Sender: TObject); begin Close; end;
To s kin x l File | Open tng t nh trn v nhn p vo ty chn menu File | Open . Delphi s to m lnh x l s kin sau:
S dng Delphi Help System hon tt bc th 8 c v theo hng dn trong nha bn. Click vo i tng OpenDialog1. Bm F1 gip . Click Methods thy phng php lm. Click vo Execute l phng php sn c duy nht. Click vo Example xem v d lm sao s dng phng php ny. S dng Edit | Copy sao chp nhng hng gia Begin v End. Bn cn n gip . Bi en nhng dng bn cn v hy bm Copy button. Chp nhng dng sau: if OpenDialog1.Execute then begin Memo1.Lines.LoadfromFile(OpenDialog1.FileName); SaveDialog1.Filename := OpenDialog1.FileName; Caption := OpenDialog1.FileName; end; Paste n vo gia Begin v End trong s kin bn to bi 8. Bn nn kt thc ln trn vi hng ny. Nh vy n:
procedure TForm1.Open1Click(Sender: TObject); begin if OpenDialog1.Execute then begin Memo1.Lines.LoadfromFile(OpenDialog1.FileName); SaveDialog1.Filename := OpenDialog1.FileName; Caption := OpenDialog1.FileName; end; end; 10 To s kin x l cho File | Save tng t nh cc phn trn x l ty chn menu File | Save . Bn nn kt thc cc s kin nh th ny. Bn phi nh vo gia Begin and End. Delphi s to phn cn li.
procedure TForm1.Save1Click(Sender: TObject); begin if SaveDialog1.FileName <> '*.TXT' Then begin Memo1.Lines.SavetoFile(SaveDialog1.FileName); { Lu file } end else begin messageDlg( 'File has no name.' + chr(13) + { Hin thng bo} 'File not saved.' + chr(13) + 'Use File | Save As to save the file.', mtWarning, [mbOK], 0); end end; 11 To s kin x l cho File | Save As. Rt tng t vi vic x l s kin File | Open . Hy nh on m cho s kin nh y.
procedure TForm1.SaveAs1Click(Sender: TObject); begin if SaveDialog1.Execute then begin Memo1.Lines.SavetoFile(SaveDialog1.FileName); OpenDialog1.Filename := SaveDialog1.FileName; Caption := OpenDialog1.FileName; end; end;
Hc bi 9 - ha S lp li s dng FOR v cc Bin Cc Bin Variables c tn nh pigeon holes <ai dch h vi>. y l chng trnh s dng bin s nguyn ni s c ct gi. S ny s dng t 1 ti 10. to mt bin bn c th nh nh bn di. Tn bin y l i nhng bn c th t tn no m bn thch v d nh cng c. Var i : Integer; Vng lp FOR Ci ny c s dng khi bn mun chng trnh lp li mt nhim v vi s lng v thi gian nh trc. V d bn di l vng lp cn lp li 10 ln For i := 1 To 10 Do Begin These Steps Are Repeated Ten Times End; Nh.V To 1 Image v 3 Buttons ln form. Cho mi nt mi s kin thch hp x l,bn hy chp cc dng lnh di. Sau hy nng cao ln, to cc x l v cc s kin cho ring bn. S dng Delphi help tm nhng th tc ha khc hn. { Lp li 10 ln}
Cc x l s kin procedure TForm1.Button1Click(Sender: TObject); Var i : Integer; begin Image1.Canvas.Pen.Color := clRed; Image1.Canvas.Brush.Color := clRed; { Set Pen Colour } { Set Brush Colour }
{ Colour image Red } Image1.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height); Image1.Canvas.Pen.Color := clYellow; Image1.Canvas.Brush.Color := clYellow; { Set Pen Colour } { Set Brush Colour }
{ Do horizontal lines } For i := 1 To 10 Do { Repeat 10 times } Begin Image1.Canvas.moveTo(0, 10 * I); { Start of line } Image1.Canvas.lineTo(Image1.width, 10 * I); { End of line } End; Image1.Canvas.Pen.Color := clLime; Image1.Canvas.Brush.Color := clLime; { Do vertical lines } For i := 1 To 10 Do Begin Image1.Canvas.moveTo(10 * i, 0); Image1.Canvas.lineTo(10 * i, Image1.height); End; end;
procedure TForm1.Button2Click(Sender: TObject); begin Image1.Canvas.Pen.Color := clBlue; { Set Pen Colour } Image1.Canvas.Brush.Color := clBlue; { Set Brush Colour } { Colour image Red } Image1.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height); Image1.Canvas.Pen.Color := clYellow; Image1.Canvas.Brush.Color := clYellow; Image1.Canvas.Ellipse(20, 20, 80, 80); Image1.Canvas.Pen.Color := clred; Image1.Canvas.Brush.Color := clRed; Image1.Canvas.Ellipse(30, 30, 70, 70); end; { Set Pen Colour } { Set Brush Colour } { Set Pen Colour } { Set Brush Colour }
procedure TForm1.Button3Click(Sender: TObject); begin Image1.Canvas.Pen.Color := clYellow; { Set Pen Colour } Image1.Canvas.Brush.Color := clYellow; { Set Brush Colour } { Colour image Red } Image1.Canvas.Rectangle(0, 0, Image1.Width, Image1.Height); Image1.Canvas.Pen.Color := clred; { Set Pen Colour } Image1.Canvas.TextOut(10, 40, 'Hello World'); end;
Ngn ng Pascal Khu vc ny gii thiu nhng kin thc c bn ca Pascal lp trnh Delphi (v Delphi cng do Borland sn xut nn cc lnh cng tng t nh Pascal) Cc kiu d liu. Nhng chng trnh c s dng x l d liu. Sau y l nhng kiu d liu xy dng thng dng trong Pascal. C mt s thng rt t s dng. Khi ct d nhng d liu quan trng la chn ng nhng d liu . Integer (s nguyn) Real (s thc) Char (k t) String[20] (chui) L nhng s nh12 or -22 -32768 ti 32767 l phm vi s dng. Nhng s thp phn nh 22.7 or -0.0032 Nhng c tnh ca cc k t. Ct gi nhng s hay vn bn. Trong v d ny ln ti 20 k t c th ct gi. Gi tr True or False (ng or Sai).
Boolean (logic)
Cc Bin. Variables are like named pigeon holes where data can be stored. Bin c nhng kiu c bit nh trn. Bn phi ct gi ng kiu trong mi bit. S dng tn bt k i din. iu ny gip cho chng trnh d dng hn. Good examples VAT_Rate, dayOfWeek, TAX_Band Bad Examples X, L, Lemming.
Cc lnh gn gi tr y l lm sao nhng gi tr c t vo trong nhng bin(pigeon holes). Trong v d di, y c cc bin l X, sname v ok. K t := l c, trong ting anh, l becomes (tr thnh). X := 3; X tr thnh (l ) 3. Ct gi 3 vo trong bin X. sname l Bloggs. Ct gi Bloggs vo trong bin sname. ok l True. Ct True vo ok.
sname := Bloggs;
ok := True
Nhng i tng. Delphi l xy dng i tng chng trnh. i tng ny c th s hu or cha ng i tng khc. i tng c thuc tnh ca n. Trong v d di y Form1.Label1.Caption := Hello World!; Form1 l 1 i tng. Form1 cha i tng khc gi l Label1. Label1 c 1 thuc tnh gi l Caption. on text Hello World! c ct vo thuc tnh Caption ca Label1. Caption l mt bin ct gi chui text. Bn khng th ct gi cc s nguyn vo trong 1 Caption tr khi n c chuyn i vo mt chui trc .
Nhng th tc. Nhng th tc nh nhng chng trnh nh bn trong mt chng trnh. Nhng th tc c s dng ph v chng trnh ln v cho n vo chng trnh n trong cc bit. nhng th tc cho php bn thit k nhng chng trnh bn trong c Modular. iu ny d dng kim tra li, kim tra chng trnh, thit k, ghi chng trnh no . y l cc trnh by cc th tc Procedure Lemming; Begin Several lines go in here. End;
Nhng s kin. S kin l nhng hnh ng nh bm nt, click chut.... Delphi c thit k tr li nhng s kin ny. lm iu ny bn phi vit nhng b x l s kin.
B x l s kin. y l nhng th tc p li nhng s kin tng ng. Chn hn, th tc bn di tr li ti Form1 khi Button1 c click. Trong v d ny, khi s kin xut hin, dng khc gi l tlightForm c hin ra. procedure Form1.Button1Click(Sender: TObject); begin tlightForm.Show end;
Bnh lun. Pascal programs are usually heavily annotated with text based comments that act as reminders to the programmer of what is going on within the program. This is done so the programmer can still understand the program after not looking at it for a year or two. It is also done so a new programmer can take over from the original one when he or she moves to a new job. BAD COMMENTS GOOD COMMENTS X := 3; simply repeat the code. explain what is going on and why. { X Becomes 3 (This is a bad comment) }
dayOfWeek := 3; { Store the third day (Wed) into dayOfWeek } { This is a good comment }
S ni tip. y l cch thc hin bin i chng trnh ni tip nhau theo mt trnh t nh sn v khng lp li. Mt v d lm r. Form1.Color := clGreen; { Nn ca form mu xanh Total := 0; { Tng cng c ct y Average := 0; { Trung bnh ct y. } Bn di l s cu trc Jackson th hin s ni tip } }
S chn lc. y l s quyt nh bn trong chng trnh. Trong Pascal, nhng quyt nh s dng lnh If. Chn hn m bn di c nh sau trong ting Anh. Nu mu ca Form1 l mu th lm cho mu ca Form1 i thnh mu xanh l cy. If Form1.Color = clRed then Begin Form1.Color := clGreen; End; If c th s dng phc tp hn v d
If Form1.Color = clRed then Begin Form1.Color := clGreen; End Else Begin Form1.Color := clRed; End;
Nu Form1 l mu th i thnh xanh l cy. Nu n l mu khc tc khng phi mu th cho n thnh . Lnh If c th kt hp mt cch phc tp hn. If Form1.Color = clRed then Begin Form1.Color := clGreen; End Else If Form1.color = clGreen Then Begin Form1.color := clBlue; End Else Begin Form1.Color := clRed; End;
Lnh If ny c th lng vo trong lnh If khc. Trong v d bn di, bn ngn nga chia ct bng zero. If Op = Divide then Begin If N2 = 0 then Begin messageDlg( You can not divide by zero., mtWarning, [mbOK], 0); End Else Begin Answer := N1 div N2; End End; S cu trc Jackson th hin s chn lc ny.
Vng lp. C ba cch lm cho chng trnh lp li. WHILE REPEAT FOR V d: Repeat Zero of More times. Repeat One or More times. Lp li 1 s lng thi gian bit trc.
FOR For I := 1 To 100 Do { Repeat 100 times. } Begin Label1.Caption := IntToStr(I); Label1.Update End;
WHILE While NOT allSorted Do Begin SortTheStuff; End; { Keep going until it is finished }
DO Do allThisStuff; andAllThis; Until Finished; { Keep going until Finished } { Unusual because Begin } { and End are not needed }
FOR Backwards For I := 100 DownTo 1 Do Begin Label1.Caption := IntToStr(I); Label1.Update End;
For Ch := 'Z' DownTo 'A' Do Begin Label1.Caption := CharToStr(Ch); Label1.Update End; S cu trc Jackson cho vng lp
Chui vn bn T Hello l chui text. Cn su byte hin th. Chiu di ca vn bn c ct gi t v tr s 0. nhng thuc tnh c ct gi trong nhng byte k tip t 1- 5. 0 Length 5 1 H 2 e 3 l 4 l 5 o 6 7 8 9
Wasted Space
Hm: Thng dng tnh ton hoc sn sinh ra d liu cha trong mt kt qu ring bit. y l v d v cc hm. Sum := Add(N1, N2); { Mt cch thm 2 s # nhau}
y l v d v hm dng chuyn i mt c tnh n vo trong chui vn bn. N c vit v bnh lun trong thi ph chun. { Definition Input Process String := CharToStr(Char) Hm ny dng k t n cho u vo (Ch). c tnh nhp vo x l bng cch ct gi ti mt v tr trong chui (S). Ti v tr Zero chui (S) c chiu di (1) c ct gi u ra chui k t n cha Ch.
Output }
Function TForm1.CharToStr(Ch : Char) : String; Var S : String; Begin S[0] := Chr(1); { Ct gi di xu ti posn 0 } S[1] := Ch; { Ct gi Ch ti posn 1 } CharToStr := S { Tr li kt qu} End;
Logic AND, OR, NOT, XOR (V, HOC, KHNG, XOR) Nhng ci ny dng s dng vi If, While v Do. R rng trong ting Anh chng c ngha cho nhau phi khng bn? Chng s d hc nu th hin theo kiu bng. IF A AND B Then Nu c A v B ng, khi . Mt trong A hoc B phi ng. Nu n ng th lm cho n sai v nu sai th lm cho n ng (^_^). N ng hoc ci khc ng nhng khng phi c 2 v khng phi l khng ng. (???Bn hiu khng???)
IF A OR B Then
If A XOR B Then
Cu ting Anh ca n l vy, c ai dch gip vi: One or other must be true but not both and not neither
A 0 0 1 1
Output 0 0 0 1
A 0 0 1 1
Output 0 1 1 1
A 0 0 1 1
Output 0 1 1 0
A 0 1