Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

Friday, January 23, 2004

Quyn 1

HNG DN LP TRNH DELPHI


Nhp mn
Ph lc TA Gii thiu thng tin Tm lt mi trng lp trnh Delphi Chng trnh Delphi n gin nht S dng nt nhn v thuc tnh Xut vn bn v s dng nhn Ra v vo ca vn bn S dng lnh IF Adding Machine - Alter it to do [ - * div ] as well. Thm Items vo mt List Box To menu - Mt Text Editor - Files Graphics, s lp li s dng FOR v cc bin Ngn ng Pascal Trang 2 3 4 5 7 9 12 13 14 15 20

Bi 1 Bi 2 Bi 3 Bi 4 Bi 5 Bi 6 Bi 7 Bi 8 Bi 9

Reviewed by NGUYEN, Ba Thanh 1 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 2 Distributed by Din n Tin hc http://www.diendantinhoc.net

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)

Hc v s dng cc phm tt trong menu File Save-All n l Ctrl+V

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

Reviewed by NGUYEN, Ba Thanh 3 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 4 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

Bm chut tri ln form1 v r chut v nt nhn nh hnh bn

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

procedure TForm1.Button1Click(Sender: TObject); begin end;

nh dng lnh ny.


Reviewed by NGUYEN, Ba Thanh 5 Distributed by Din n Tin hc http://www.diendantinhoc.net

Form1.Color := clRed; cl ngha l mu. N l CLRED ch khng phi l C1RED.

procedure TForm1.Button1Click(Sender: TObject); begin Form1.Color := clRed; end; F9

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

Reviewed by NGUYEN, Ba Thanh 6 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

Alt | File | Save Project Alt | File | Exit

Reviewed by NGUYEN, Ba Thanh 7 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

Alt | File | New Application Alt | File | Save All

Reviewed by NGUYEN, Ba Thanh 8 Distributed by Din n Tin hc http://www.diendantinhoc.net

Thay i Tiu ca Button1 l &Hello ging nh bi hc 2. Thay i Caption ca Label1 l trng.

Reviewed by NGUYEN, Ba Thanh 9 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 10 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 11 Distributed by Din n Tin hc http://www.diendantinhoc.net

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?

Reviewed by NGUYEN, Ba Thanh 12 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 13 Distributed by Din n Tin hc http://www.diendantinhoc.net

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 .

Reviewed by NGUYEN, Ba Thanh 14 Distributed by Din n Tin hc http://www.diendantinhoc.net

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 + *

Reviewed by NGUYEN, Ba Thanh 15 Distributed by Din n Tin hc http://www.diendantinhoc.net

Chia ly thng

DIV

Reviewed by NGUYEN, Ba Thanh 16 Distributed by Din n Tin hc http://www.diendantinhoc.net

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)

Reviewed by NGUYEN, Ba Thanh 17 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

Thnh phn Memo1

T. tnh Align Lines

WantTabs MainMenu1

True

(Nhp p chut lm iu ny.) Khng thuc tnh no cn thay i.

Reviewed by NGUYEN, Ba Thanh 18 Distributed by Din n Tin hc http://www.diendantinhoc.net

OpenDialog 1

DefaultEx t FileName Filter

TXT *.TXT Text File *.TXT |*.TXT Click vo [...] lm. Bn s in vo ci hp ny v nhn OK.

SaveDialog1

InitialDir Title DefaultEx t FileName Filter

. Open A File TXT *.TXT Text File *.TXT |*.TXT Click vo [...] lm. Bn in vo hp (box) v click OK.

InitialDir Title

Form1

Caption

Save File With A New Name Untitled

Click vo icon MainMenu1 to menu cha cc submenu . nh Captions v ShortCuts (phm tt) nh hnh di y.

Reviewed by NGUYEN, Ba Thanh 19 Distributed by Din n Tin hc http://www.diendantinhoc.net

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:

Reviewed by NGUYEN, Ba Thanh 20 Distributed by Din n Tin hc http://www.diendantinhoc.net

procedure TForm1.Open1Click(Sender: TObject); begin end;

Reviewed by NGUYEN, Ba Thanh 21 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 22 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 23 Distributed by Din n Tin hc http://www.diendantinhoc.net

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}

Reviewed by NGUYEN, Ba Thanh 24 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 25 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 26 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 27 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 28 Distributed by Din n Tin hc http://www.diendantinhoc.net

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 }

Reviewed by NGUYEN, Ba Thanh 29 Distributed by Din n Tin hc http://www.diendantinhoc.net

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;

Reviewed by NGUYEN, Ba Thanh 30 Distributed by Din n Tin hc http://www.diendantinhoc.net

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.

Reviewed by NGUYEN, Ba Thanh 31 Distributed by Din n Tin hc http://www.diendantinhoc.net

Reviewed by NGUYEN, Ba Thanh 32 Distributed by Din n Tin hc http://www.diendantinhoc.net

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 For Ch := A To Z Do Begin Label1.Caption := CharToStr(I); Label1.Update End;

Reviewed by NGUYEN, Ba Thanh 33 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

ct gi Fred Bloggs cn 12 Bytes. 11 F r e d B l o g g s

Reviewed by NGUYEN, Ba Thanh 34 Distributed by Din n Tin hc http://www.diendantinhoc.net

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}

Text := Join(FirstBit, SecondBit); Bigger := Max(N1, N2); { Tr li nu c bt c gi tr no ln hn N1 or N2}

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;

Reviewed by NGUYEN, Ba Thanh 35 Distributed by Din n Tin hc http://www.diendantinhoc.net

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

While NOT Done Do

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

Reviewed by NGUYEN, Ba Thanh 36 Distributed by Din n Tin hc http://www.diendantinhoc.net

Bng gi tr 0 l Sai (False). 1 l ng (True). AND B 0 1 0 1 OR B 0 1 0 1 XOR B 0 1 0 1 NOT Output 1 0

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

Reviewed by NGUYEN, Ba Thanh 37 Distributed by Din n Tin hc http://www.diendantinhoc.net

V d: If (Button = mbLeft) AND (X = 20) Then Begin doThis; End;

If (day = Mon) OR (day = Tue) Then Begin doShopping End;

While NOT Finished Do Begin doThis; End;

MI CC BN CHUYN QUA QUYN 2 HC


BIN DCH: L Khc Nh Cm n cc bn s dng Nu bn thy c ch no khng ng th nh bo cho mnh sa li nha Email: laptrinh04@yahoo.ca Website: http://www.lkn.b4.to

Reviewed by NGUYEN, Ba Thanh 38 Distributed by Din n Tin hc http://www.diendantinhoc.net

You might also like