program delphi 7 fileprogram delphi 7 เริ่มต้นกับ delphi 7 delphi...

Post on 11-Apr-2019

427 Views

Category:

Documents

9 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Program Delphi 7เรมตนกบ Delphi 7 Delphi เปนผลตภณฑ

ของบรษท Borland (ตอมาไดเปลยนชอเปนInprise โดยยงคงใชชอผลตภณฑวา Borland Delphi เชนเดม) ซงประสบความส าเรจจากการพฒนา Turbo Pascal ซงมชอเสยงโดงดงบน Dos จนกระทงมาเปน Delphi ในปจจบน และ Delphi ไดพฒนามาถงเวอรชน 7 แลว

Delphi เปนโปรแกรมส าหรบพฒนาแอปพลเคชนบน Windows ซงภาษาพนฐานทใชในการเขยนโปรแกรม คอ ภาษา Pascal เปนหลกในการพฒนาโปรแกรม ซงโครงสรางภาษาท เขยนงายวชวลโปรแกรมมง (Visual Programming) การพฒนาโปรแกรมแบบวชวลคอการพฒนาโดยเหนผลทจะเกดขนเมอรนโปรแกรมไดตงแตในขณะทก าลงสราง

โดยน าชนสวนตาง ๆ ทตองการ ไดแก ปม(Button), ขอความ(Label), รปภาพ (Image) ฯลฯ ซงเหลานเรยกโดยรวมๆ วา คอมโพเนนต(Component) น ามาวางบนวนโดวทเรยกวาฟอรม (Form) ปรบขนาดและต าแหนงรวมทงคณสมบตตาง ๆ ของคอมโพเนนต และแมแตฟอรมเองใหไดผลตามทตองการ

การโปรแกรมเชงวตถ (Object Oriented Programming - OOP) การโปรแกรมเชงวตถเปนการพฒนาโปรแกรมโดยการสรางวตถ หรอ ออบเจค (Object) ทตองการ ในมมมองของตววตถเองวาตองการใหมลกษณะเปนอยางไรและสามารถท าอะไรไดบาง แทนทจะมองทการสรางรทน(Routine) หรอโพรซเยอร (Procedure) เปนหลกเชนดงกอน ๆ น ประโยชนทไดกคอ เราสามารถสรางวตถโดยเรมจากวตถทงาย ๆ

สงส าคญในการเขยนโปรแกรมเชงวตถคอ จะตองมความเขาใจเกยวกบโครงสรางของออบเจคและหลกการของ OOP ดงน

โครงสรางของออบเจคออบเจค (Object) ทกๆ ออบเจคจะตองม

โครงสรางดงตอไปน

ชนดของออบเจค ออบเจคแตละออบเจคจะถอวาเปนคนละชนด (Type) กน เมอน าออบเจคไปสรางตอใหเปนออบเจคใหม กจะตองเปนชนดใหมเสมอ หรอเรยกไดวาเปนคนละคลาส (Class) กนนนเอง ชนดของออบเจค ไดแก ออบเจคชนดปมและชนดขอความ เปนตน

คณสมบต หรอเรยกวา “พรอพเพอรต”(Property) หมายถงคณลกษณะของออบเจคแตละตวทสามารถก าหนดใหแตกตางกนไปตามความตองการทตางกน เชน ขนาดและสของปม หรอขอความของออบเจคทแสดงอยบนปม เปนตน

พฤตกรรม หรอเมธอด (Method) คอความสามารถในการท างานของออบเจ คตวอยางเชน การแสดงปม (Show) หรอการซอนปม (Hide) เปนตน

คอมไพเลอรอยางแทจรง

Delphi เปนคอมไพเลอรทใชภาษาโปรแกรมเปนภาษาเครอง ซงหลงจากการคอมไพลโปรแกรมเราจะไดไฟล .exe ซงเกบเปนภาษาเครองนนๆ และสามารถท างานไดเลยโดยไมตองผานขนตอนการแปลภาษาในระหวางการท างานอก ท าใหสามารถท างานไดรวดเรวและไมมขดจ ากด

การเรมใชงาน Delphi 71. คลก Start เลอก Programs2. เลอก Borland Delphi 73. เลอก Delphi

Title bar Menu bar Desktops toolbar

ComponentPalette

หนาตางForm

Speedbar

Object TreeView

ObjectInspector

ไตเตลบาร (Title Bar)เปนสวนทอยบนสด แสดงชอโปรแกรม

Delphi และโปรเจคทท างานอยในขณะนนเมนบาร (Menu Bar)

เมนบารจะเปนสวนทแสดงเมนค าสงของ Delphi ซงใชในการท างานตางๆ เกอบทงหมด เชน เมน File ใชท างานกบแฟมขอมลไมวาจะเปนการเปด ปด หรอการบนทกแฟมขอมลเปนตน

เดสกทอปทลบาร (Desktops toolbar)

เดสกทอปทลบาร เปนคณสมบตใหมใน Delphi ซงจะใชส าหรบการบนทกเลยเอาดของเดสกทอปทงในขณะออกแบบและขณะดบกโปรแกรม ซงกคอต าแหนงของวนโดวตางๆ รวมทงไดอะลอกบอกซทเปดขนมาใน Delphi

โดยสวนของเดสกทอปทลบารนประกอบดวย

สปดบาร (Speed Bar)คอกลมของค าสงทใชบอยซงแสดงอยใตเมน

บารทางดานซายของวนโดวหลก ภายในสปดบารประกอบดวยปมแทนรายการตาง ๆ ของเมน เมอคลกเมาสทปมใดกจะเหมอนกบการเลอกค าสงจากเมน และเมอเลอนเมาสไปหยดทบนปมใดกจะเหน กรอบขอความ (tooltips) แสดงชอเมน และฟงกชนคยซงเปนคยลดส าหรบใชแทนปมนน

คอมโพเนนตพาเลต (Component Palette)คอมโพเนนตพาเลตคอสวนทอยถดจากสปดด

บารไปทางขวา ประกอบดวยคอมโพเนนตส าหรบสรางแอปพลเคชน โดยจดกลมไวในแทปตางๆ คลกทแทปเพอแสดงคอมโพเนนตในแตละกลม และเมอเลอนเมาสไปหยดบนคอมโพเนนตใดกจะปรากฏกรอบขอความแสดงชอคอมโพเนนตนนขน

วนโดวออบเจคอนสเปคเตอร(Object Inspector Window)

วนโดวออบเจคอนสเปคเตอรเปนวนโดวซงอยใตวนโดวหลกทางดานซาย ใชส าหรบแสดงและปรบแตงคาพรอพเพอรต (property) และอเวนต (event) ของคอมโพเนนต

วนโดวออบเจคทรวว(Object Tree View)

วนโดวออบเจคทรววเปนวนโดวซงอยใตวนโดวหลกทางดานซาย ใชส าหรบแสดงฟอรมและ คอมโพเนนตทวางลงบนฟอรม

วนโดวฟอรม (Form Window)ฟอรมเปนวนโดวทใชส าหรบออกแบบสวนท

ตดตอกบผใช โดยการน าคอมโพเนนตตางๆ จากคอมโพเนนตพาเลตมาวางลงบนฟอรมเมอรนเปดโปรแกรม Delphi ขนมาหรอสรางแอปพลเคชนใหม Delphi จะสรางฟอรมใหหนงฟอรมเสมอ ในแอปพลเคชนหนงๆ จะประกอบดวยฟอรมอยางนอยหนงฟอรมเสมอ

วนโดวโคตเอดเตอร (Code Editor Window)วนโดว โค ด เอด เ ตอรม ไ วส าหรบ เข ยน

โปรแกรม โดยอาจจะถกบงอยใตฟอรม เมอเลอนวนโดวฟอรมออกไปหรอคลกทปม Minimize ของฟอรม จะเหนวนโดวโคดเอดเตอรปรากฏขนภายในวนโดวโคดเอดเตอร จะประกอบดวยสวนตางๆ ดงตอไปน

การสรางแอพพลเคชนใหม (NewApplication)

คลกเมน File >New Appliction

จะไดฟอรมเปลาขนมาหนงฟอรมพรอมกบโปรเจคใหม แอปพลเคชนทสรางใหมน สามารถรนไดทนทแมวายงไมไดวางคอมโพเนนตใดๆ เลย

ทดสอบการรนแอปพลเคชนใหมไดโดยการเลอกเมน Run >Run และปดแอปพลเคชนทรนอยไดโดยคลกปม Close ()

Standard Component คอมโพเนนตพนฐานทใชในการสรางสวนตดตอกบผใช

Label ใชส าหรบแสดงขอความ

Edit ใชแสดงขอความทละบรรทด ท ผใชสามารถแกไขขอความนนได

Meno มลกษณะเหมอน Edit แต สามารถแสดงไดหลายบรรทด

Button ใชสรางปมพนฐานทวไป

Check Box ใชส าหรบงานทตองการ แสดงตวเลอกใหเลอก ซง

สามารถเลอกไดหลาย ๆ ตวเลอกพรอมกน

Radio Button เหมอน Check Box แต สามารถเลอกไดเพยง 1 ตวเลอกในกลมเดยวกน

List Box ใชส าหรบแสดงขอมลทเปน รายการใหเลอก

Combo Box เปนคอมโพเนนตทผสม ลกษณะของ Edit กบ List Box

Scrollbar เปนคอมโพเนนตทใชแสดง ชวงการเพมขนหรอลดลง

Group Box ใชส าหรบแบงแยกกลมทอยบนฟอรม

Radio Group สราง Radio Button ทอยใน Group Box

Panel ใชในการจดกลมใหคอมโพเนนตในอกรปแบบหนง

การสลบระหวางหนาตางฟอรมกบ Code Edit ในการสรางแอปพลเคชนใด ๆ จะตองมการ

ท างานกบฟอรมและตองเขยนโคตท Code Edit ดงนนถาเราตองการสลบการท างานของสวนนสามารถท าไดดงน

- เลอก Toggle Form/Unit จากเมน View หรอคลก

ไฟลตาง ๆ ในโปรเจค • Project File (.dpr) เปนไฟลทรวบรวมรายละเอยดของโปรเจค วาประกอบดวยฟอรมหรอ ยนตอะไรบางนอกจากนยงท าหนาสรางฟอรมและเรยกฟอรมของแอปพลเคชนขนมาท างานอกดวย ในแอปพลเคชนหนง ๆ จะมโปรเจคไฟลเพยงไฟลเดยว โดยมนามสกลเปน .dpr

แสดงโคดของโปรเจคไฟล

Unit File (.pas) เปนไฟลทเกบ Source Code โปรแกรมเชน รายละเอยดของตวแปร คาคงท ชนดของขอมล โพซเยอรและฟงกชนUnit ไฟลส าหรบฟอรมunit Unit1;interfaceuses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;typeTForm1 = class(TForm)

private{ Private declarations }

public{ Public declarations }

end;varForm1: TForm1;

implementation{$R *.dfm}end.

Type เปนสวนทใชส าหรบประกาศชนดขอมล โดยมการประกาศให Tform1 เปนคลาส )ชนดของออบเจค) ทสบทอดคณสมบตจากออบเจค Tform และภายในคลาสมการก าหนดขอบเขตของคลาสดวยค าวา private และ public โดยค าวา private หมายถงสงตาง ๆ ทประกาศไวในสวนน จะเปนทรจกและใชงานไดเฉพาะภายในคลาสนสวนค าวา public หมายถงสงทประกาศไวในสวนนจะเปนทรจกและใชงานไดทงภายในคลาสนและทอน ๆ ดวย

{$R *.DFM} เปนค าสงส าหรบคอมไพเลอร (compile directive)

โดยเครองหมาย $ แสดงวาเปนคอมไพเลอรไดเรคทฟ และ R คอ ค าสงทบอกใหรวมเอา Resource จากไฟลของฟอรมซงมชอเดยวกบยนตแตมนามสกลบเปน .dmf เขามาดวย

Var เปนการประกาศตวแปร Form1 ใหมชนดขอมลเปนออบเจค Tform1 โดยชอตวแปรนไดมาจากคาพรอพเพอรต Name ของฟอรมนนเอง

• Form File ในมมมองแบบ TextForm File (.dfm) เกบรายละเอยดของฟอรมและออบเจคตาง ๆ ทอยบนForm เมอเราบนทกโปรเจค Delphi จะสรางไฟลนใหโดยจะมชอเหมอนกบยนต แตนามสกลเปน .dmf

• Resource File (.res) เกบรายละเอยดของรปภาพและ ไอคอนทใชในแอปพลเคชน• Project Group File (.bpg) เกบรวบรวมรายการโปรเจคทก าหนดไวใหอยในโปรเจคกลมเดยวกนนอกจากการสงงานโดยใช Menu และ Speed bar แลวเรายงใชฟงชนคยเพอชวยใหท างานไดรวดเรว

F1 ขอความชวยเหลอF7,8 ใชส าหรบตรวจสอบล าดบการท างาน

ของโปรแกรมเพอหาจดผดพลาดF9 สงรนโปรแกรมF11 เปดวนโดวของ Object Inspector เพอ

ก าหนดคาของ ObjectF12 สลบวนโดวระหวาง Form Window

กบ Editor Window เพอเขยนและออกแบบฟอรม

การเขยนหมายเหตหรอค าอธบายการท างานของโปรแกรม(comment)

ใสหมายเหตไวหลงเครองหมาย // โดยขอความทงหมดในบรรทดทอยตอจากเครองหมาย//จะเปน หมายเหต ตวอยางเชนprocedure TForm1.Button1Click(Sender: TObject);begin

edit1.Text:='Hello'; // Assigns a value to Edit1end; //สนสดโปรแกรมใช

การก าหนดให Editor Window สามารถปอนภาษาไทยได โดยใชเมน Tool/Editor Option…. คลกท Display Tab แลวเลอก Editor Font เปน FixedSys ตามรป

ชนดขอมล (Data Type) ชนดขอมลใน Pascal มมากมายหลายชนด ดงนนกอนทเราจะก าหนดวาใชขอมลชนดใดเราควรจะทราบขอบเขตของแตละชนดขอมลกอน ในทนจะกลาวเฉพาะชนดทนยมใช

ชนดขอมล(Data Type)

ขอบเขตของขอมล(Range) ใชพนท(Byte)

- Integer - 2147483648…2147483647 4

- Real 5.0x10-324…1.7x10308 8

- Char ใชเกบอกขระ 1

- String ใชเกบอกขระตงแต 1 อกขระขนไป

ขนกบการ

ประกาศคา

- Variant

การตงชอตวแปร1. ควรตงชอตวแปรใหสอกบงานทใช เชน mak, cost

แทนทจะตงชอ a, b ซงจะไมไดความหมาย2. ชอตวแปรสามารถใช A–Z, a–z, 0–9 และ

เครองหมายขดลาง (_) ส าหรบตวอกษรพเศษไมสามารถใชได เชน @, % ฯลฯ

3. หามเวนวรรค

4. หามใชค าสงวน (reserved word) ซงจะสงเกตได ว า ถ า เ ป นค าส งวน เ ม อท า ก าร เข ยนโปรแกรมค านนๆ จะเปนตวหนาและไมควรใชชอตรงกบชอทมอยใน Delphi ทไมเปนค าสงวน เชน Integer, real ซงชอพวกนเมอท าการก าหนดจะไมเกด Error แตจะท าใหสบสน

5. ชอตวแปรสามารถมความยาวตงแต 1 ถง 63 ตวอกษร ซงถาตงชอตวแปรเกน 63 ตว การประมวลผลจะสนใจแค 63 ตวแรกเทานน

6. ตวอกษรพมพใหญ พมพเลกถอวาเหมอนกน เชน A3 กบ a3 ถอวาเปนชอเดยวกน

การประกาศตวแปร

กอนทจะมการใชตวแปรใด ๆ ตองท าการประกาศตวแปรกอนใน Delphi จะใชค าวา Varเปนตวบอกวาก าลงจะท าการประกาศตวแปรโดยมรปแบบดงน

Varชอตวแปร : ชนดขอมล ;

เชนVar

Firstname : string[50];num1, num2 : interger;

ตวด าเนนการ (Operator) ตวด าเนนการทางคณตศาสตร+ บวก เชน 5+2 ไดผลลพธ 7- บวก เชน 5-2 ไดผลลพธ 3 * บวก เชน 5*2 ไดผลลพธ 10 / บวก เชน 5/2 ไดผลลพธ 2.5Div หารผลลพธเอาเฉพาะจ านวนเตม (ไมเอาเศษจากการหาร)

เชน 5 Div 2 ไดผลลพธ 2Mod หารผลลพธเอาเฉพาะจ านวนเตม (ไมเอาเศษจากการหาร)

เชน 5 Mod 2 ไดผลลพธ 1

ตวด าเนนการทางการเปรยบเทยบ= เทากบ< > ไมเทากบ> มากกวา< นอยกวา>= มากกวาหรอเทากบ<= นอยกวาหรอเทากบ

ตวด าเนนการทางตรรกะAnd, Or, Not, xor

1. Align left edges จดขอความดานซายของทกคอมโพเนนตตรงกบขอบดานซายของคอมโพเนนตตวแรกทเลอก

2. Align tops จดใหขอบดานบนของคอมโพเนนตตรงกบขอบดานบนของคอมโพเนนตตวแรกทเลอก

3. Align horizontal centers ปรบต าแตงในแนวนอนใหกงกลางตรงกน

4. Align vertical centers ปรบต าแหนงในแนวตงใหกงกลางตรงกน5. Center horizontally in Window จดใหคอมโพเนนตทกตวอย

กงกลางวนโดวในแนวนอน

1 2 3 4 5

6. Center vertically in Window จดใหคอมโพเนนตทกตวอยกงกลางวนโดวในแนวตง

7. Space equally horizontally ปรบระยะหางระหวางคอมโพเนนตในแนวนอนใหมระยะหางเทากน

8. Space equally vertically ปรบระยะหางระหวางคอมโพเนนตในแนวตงใหมระยะหางเทากน

9. Align right edges จดขอความดานขวาของทกคอมโพเนนตตรงกบขอบดานขวาของคอมโพเนนตตวแรกทเลอก

10. Align Bottoms จดใหขอบดานลางของคอมโพเนนตตรงกบขอบดานลางของคอมโพเนนตตวแรกทเลอก

6 7 8 9 10

กฎการใหคะแนนในชวโมงสอน

• ท าลงเครองรนออกเรยกตรวจใหคะแนน• เมอรนออกจดค าสงทท าในเครอง ลงในสมดทกคาบทสอนใหคะแนน

ท าไดทกชวโมงไมตองลงรเกรด

top related