This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial:procedureandfunction [2019/01/06 16:52] admin |
tutorial:procedureandfunction [2019/01/06 16:54] (current) admin |
||
---|---|---|---|
Line 109: | Line 109: | ||
</sxh> | </sxh> | ||
</hidden> | </hidden> | ||
+ | \\ | ||
สำหรับการเรียกใช้ Function นั้นก็คล้ายกับการเรียกใช้ Procedure แต่มีข้อแตกต่างอีกอย่างหนึ่ง คือ Function ให้ค่า Output ด้วย | สำหรับการเรียกใช้ Function นั้นก็คล้ายกับการเรียกใช้ Procedure แต่มีข้อแตกต่างอีกอย่างหนึ่ง คือ Function ให้ค่า Output ด้วย | ||
Line 115: | Line 116: | ||
=====Nested Function/Procedure===== | =====Nested Function/Procedure===== | ||
คือ Function/Procedure ที่เป็น Local Scope ซ้อนอยู่ใน Function/Procedure อื่น\\ | คือ Function/Procedure ที่เป็น Local Scope ซ้อนอยู่ใน Function/Procedure อื่น\\ | ||
- | <hidden Example-5: Nested Function> | + | <hidden Example-6: Nested Function> |
<sxh delphi;highlight: [4-10]> | <sxh delphi;highlight: [4-10]> | ||
procedure SolvePolynomial(A,B,C:real); | procedure SolvePolynomial(A,B,C:real); | ||
Line 161: | Line 162: | ||
writeln('X = ',X); | writeln('X = ',X); | ||
end; | end; | ||
- | </sxh> \\ | + | </sxh> |
====By Reference==== | ====By Reference==== | ||
Line 175: | Line 176: | ||
- | <hidden Example-6: Passing Parameters (By Value, By Reference)> | + | <hidden Example-7: Passing Parameters (By Value, By Reference)> |
<sxh delphi;> | <sxh delphi;> | ||
program Passing_Param; | program Passing_Param; | ||
Line 255: | Line 256: | ||
- | <hidden Example-7: Forward Declarations on Simple Program> | + | <hidden Example-8: Forward Declarations on Simple Program> |
__**อธิบาย**__ - ตัวอย่างนี้ มีการประกาศโปรแกรมย่อย ชื่อ Second ล่วงหน้าในบรรทัดที่ 4 เพื่อให้โปรแกรมย่อยที่ชื่อ First ได้รู้จัก Second ก่อน แน่นอนว่าหากตัด code ในบรรทัดที่ 4 ออกไปแล้ว สิ่งที่จะตามมาคือ เมื่อ compiler อ่านจนมาถึง First ก็จะฟ้องทันทีว่าไม่สามารถหา Second เจอ | __**อธิบาย**__ - ตัวอย่างนี้ มีการประกาศโปรแกรมย่อย ชื่อ Second ล่วงหน้าในบรรทัดที่ 4 เพื่อให้โปรแกรมย่อยที่ชื่อ First ได้รู้จัก Second ก่อน แน่นอนว่าหากตัด code ในบรรทัดที่ 4 ออกไปแล้ว สิ่งที่จะตามมาคือ เมื่อ compiler อ่านจนมาถึง First ก็จะฟ้องทันทีว่าไม่สามารถหา Second เจอ | ||