This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
tutorial:syntax [2019/01/06 11:31] admin |
tutorial:syntax [2019/01/06 16:38] (current) admin |
||
|---|---|---|---|
| Line 231: | Line 231: | ||
| ====Declaration and Implementation==== | ====Declaration and Implementation==== | ||
| การเขียนโปรแกรมนอกเหนือจากต้องรู้จักโครงสร้างของโปรแกรมแล้ว ยังต้องทำความเข้าใจกับสองคำนี้ คือ Declaration กับ Implementation ซึ่งนอกจากจะเกี่ยวข้องกับการเขียน Main Program แล้ว ยังเกี่ยวข้องกับ Sub-program ด้วย (Sub-program คือ Procedure/Function หรือเรียกอีกอย่างว่า Method นั่นเอง เพื่อไม่ให้ดูซับซ้อนมากเกินไป ในหัวข้อนี้ จะขอเรียกพวกนี้สั้นๆว่า Sub-program แทน)\\ | การเขียนโปรแกรมนอกเหนือจากต้องรู้จักโครงสร้างของโปรแกรมแล้ว ยังต้องทำความเข้าใจกับสองคำนี้ คือ Declaration กับ Implementation ซึ่งนอกจากจะเกี่ยวข้องกับการเขียน Main Program แล้ว ยังเกี่ยวข้องกับ Sub-program ด้วย (Sub-program คือ Procedure/Function หรือเรียกอีกอย่างว่า Method นั่นเอง เพื่อไม่ให้ดูซับซ้อนมากเกินไป ในหัวข้อนี้ จะขอเรียกพวกนี้สั้นๆว่า Sub-program แทน)\\ | ||
| - | |||
| __**Declaration**__ คือ การประกาศ เป็นส่วนที่ใช้บอก Compiler ว่า Program หรือ Sub-program ดังกล่าว ชื่ออะไร รับ Input หรือส่ง Output อะไรบ้าง เป็นต้น แต่ยังไม่ได้บอกถึงรายละเอียดว่าทำอะไรได้บ้าง | __**Declaration**__ คือ การประกาศ เป็นส่วนที่ใช้บอก Compiler ว่า Program หรือ Sub-program ดังกล่าว ชื่ออะไร รับ Input หรือส่ง Output อะไรบ้าง เป็นต้น แต่ยังไม่ได้บอกถึงรายละเอียดว่าทำอะไรได้บ้าง | ||
| Line 237: | Line 236: | ||
| __**Implementation**__ คือ ส่วนที่บ่งบอกว่า Program หรือ Sub-program นั้นทำอะไรบ้าง มีขั้นตอนอะไรบ้าง | __**Implementation**__ คือ ส่วนที่บ่งบอกว่า Program หรือ Sub-program นั้นทำอะไรบ้าง มีขั้นตอนอะไรบ้าง | ||
| + | <hidden อธิบายเพิ่มเติมเกี่ยวกับ Declaration/Implementation> | ||
| ย้อนกลับไปดูที่โครงสร้างของ Main Program จะแบ่งแยกพื้นที่ได้ดังนี้ | ย้อนกลับไปดูที่โครงสร้างของ Main Program จะแบ่งแยกพื้นที่ได้ดังนี้ | ||
| - | * Declaration Scope คือ ส่วนแรก คือ บรรทัดที่ 1-16 | + | * Declaration คือ ส่วนแรก คือ บรรทัดที่ 1-16 |
| - | * Implementation Scope คือ ระหว่างคำว่า BEGIN ... END. หรือ บรรทัดที่ 18-20 | + | * Implementation คือ ระหว่างคำว่า BEGIN ... END. หรือ บรรทัดที่ 18-20 |
| <sxh delphi;highlight: [1-16,18-20]> | <sxh delphi;highlight: [1-16,18-20]> | ||
| Line 267: | Line 267: | ||
| \\ | \\ | ||
| ทีนี้ลองมาดูที่โครงสร้างของ Sub-Program ที่อยู่ภายใน Main Program กันบ้าง ขอยกตัวอย่าง Procedure SubProg และ Function SubFunc ข้างล่างนี้ เราจะแบ่งพื้นที่ของ Sub-Program Declaration กับ Implementation ได้ดังนี้ | ทีนี้ลองมาดูที่โครงสร้างของ Sub-Program ที่อยู่ภายใน Main Program กันบ้าง ขอยกตัวอย่าง Procedure SubProg และ Function SubFunc ข้างล่างนี้ เราจะแบ่งพื้นที่ของ Sub-Program Declaration กับ Implementation ได้ดังนี้ | ||
| - | * Declaration Scope คือ ส่วนแรก ในบรรทัดที่ 6-7 (เป็นการประกาศแบบล่วงหน้า หรือ Forward Declaration ซึ่งจากตัวอย่างนี้ จะมีหรือไม่มีก็ได้) | + | * Declaration คือ ส่วนแรก ในบรรทัดที่ 6-7 (เป็นการประกาศแบบล่วงหน้า หรือ Forward Declaration ซึ่งจากตัวอย่างนี้ จะมีหรือไม่มีก็ได้) |
| - | * Implementation Scope คือ บรรทัดที่ 9-17 บ่งบอกว่า Sub Program พวกนี้ ทำอะไรได้บ้าง | + | * Implementation คือ บรรทัดที่ 9-17 บ่งบอกว่า Sub Program พวกนี้ ทำอะไรได้บ้าง |
| <sxh delphi;highlight: [6-7,9-17]> | <sxh delphi;highlight: [6-7,9-17]> | ||
| Line 298: | Line 298: | ||
| สำหรับ Unit เราสามารถแบ่งพื้นที่ได้แบบนี้ | สำหรับ Unit เราสามารถแบ่งพื้นที่ได้แบบนี้ | ||
| - | * Declaration Scope คือ ส่วนแรก คือ บรรทัดที่ 1-5 | + | * Declaration คือ ส่วนแรก คือ บรรทัดที่ 1-5 |
| - | * Implementation Scope คือ ระหว่างคำว่า implementation ... end. หรือ บรรทัดที่ 7-9 (สังเกตว่ามันจะคล้ายกับ BEGIN...END. ของ Main Program แค่เปลี่ยนคำแรกเป็น implementation แค่นั้นเอง) | + | * Implementation คือ ระหว่างคำว่า implementation ... end. หรือ บรรทัดที่ 7-9 (สังเกตว่ามันจะคล้ายกับ BEGIN...END. ของ Main Program แค่เปลี่ยนคำแรกเป็น implementation แค่นั้นเอง) |
| <sxh delphi;highlight: [1-5,7-9]> | <sxh delphi;highlight: [1-5,7-9]> | ||
| unit unitname; | unit unitname; | ||
| Line 315: | Line 315: | ||
| \\ | \\ | ||
| สำหรับ Sub-Program ที่อยู่ภายใต้ Unit จะแบ่งพื้นที่ได้ดังนี้ | สำหรับ Sub-Program ที่อยู่ภายใต้ Unit จะแบ่งพื้นที่ได้ดังนี้ | ||
| - | * Declaration Scope คือ ส่วนแรก ในบรรทัดที่ 6-7 (ส่วนนี้บังคับว่าต้องมี และถือเป็นการ Forward Declaration เหมือนกัน แต่ไม่ต้องใส่คำว่า forward;) | + | * Declaration คือ ส่วนแรก ในบรรทัดที่ 6-7 (ส่วนนี้บังคับว่าต้องมี และถือเป็นการ Forward Declaration เหมือนกัน แต่ไม่ต้องใส่คำว่า forward;) |
| - | * Implementation Scope คือ บรรทัดที่ 10-18 บ่งบอกว่า Sub Program พวกนี้ ทำอะไรบ้าง | + | * Implementation คือ บรรทัดที่ 10-18 บ่งบอกว่า Sub Program พวกนี้ ทำอะไรบ้าง |
| <sxh delphi;highlight: [6-7,10-18]> | <sxh delphi;highlight: [6-7,10-18]> | ||
| Line 339: | Line 339: | ||
| end. | end. | ||
| </sxh> | </sxh> | ||
| + | |||
| + | </hidden> | ||
| \\ | \\ | ||