This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorial:procedureandfunction [2019/01/04 15:16] admin |
tutorial:procedureandfunction [2019/01/04 15:56] admin |
||
---|---|---|---|
Line 124: | Line 124: | ||
การส่งผ่าน Parameters เข้าไปใน Procedure/Function มี 2 แบบ คือ By Value และ By Reference | การส่งผ่าน Parameters เข้าไปใน Procedure/Function มี 2 แบบ คือ By Value และ By Reference | ||
* **By Value** คือ ส่งเฉพาะค่าของ Parameter เข้าไปใน Procedure/Function โดยหากมีการเปลี่ยนแปลงค่าใดๆใน Procedure/Function นั้น จะ__**ไม่เปลี่ยนแปลง**__ต่อค่าที่แท้จริงของ Parameter สำหรับการรับค่าแบบปกติ | * **By Value** คือ ส่งเฉพาะค่าของ Parameter เข้าไปใน Procedure/Function โดยหากมีการเปลี่ยนแปลงค่าใดๆใน Procedure/Function นั้น จะ__**ไม่เปลี่ยนแปลง**__ต่อค่าที่แท้จริงของ Parameter สำหรับการรับค่าแบบปกติ | ||
- | * **By Reference** คือ ส่งเฉพาะค่าของ Parameter เข้าไปใน Procedure/Function โดยหากมีการเปลี่ยนแปลงค่าใดๆใน Procedure/Function นั้น จะ__**เปลี่ยนแปลง**__ค่าที่แท้จริงของ Parameter ด้วย | + | * **By Reference** คือ หากมีการเปลี่ยนแปลงค่าใดๆของ Parameter ใน Procedure/Function นั้น จะ__**เปลี่ยนแปลง**__ค่าที่แท้จริงของ Parameter ด้วย |
====By Value==== | ====By Value==== | ||
Line 135: | Line 135: | ||
writeln('X = ',X); | writeln('X = ',X); | ||
end; | end; | ||
- | </sxh> | + | </sxh> \\ |
- | + | ||
- | อย่างไรก็ตาม เราสามารถระบุ const หน้า Parameter ได้เช่นกัน | + | |
- | + | ||
- | <sxh delphi;> | + | |
- | procedure DoItA(const X:integer); | + | |
- | begin | + | |
- | X:=10; | + | |
- | writeln('X = ',X); | + | |
- | end; | + | |
- | </sxh> | + | |
- | \\ | + | |
====By Reference==== | ====By Reference==== |