This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
tutorial:conditionalstatement [2019/01/07 09:17] admin [Case - Statements] |
tutorial:conditionalstatement [2019/01/07 13:00] (current) admin [Break, Continue, Exit and Goto] |
||
|---|---|---|---|
| Line 93: | Line 93: | ||
| </sxh> | | </sxh> | | ||
| - | \\ | + | |
| - | ===== Break, Continue and Goto ===== | + | จากตารางข้างบน เป็นรูปแบบ Case ที่มี statement แค่บรรทัดเดียวต่อหนึ่ง condition เท่านั้น อย่างไรก็ตามหากมี statement หลายบรรทัด ต้องเติม begin .. end ด้วยทุกครั้ง ดังนี้ |
| + | |||
| + | |||
| + | <hidden Case-Statements: Multiple Statements> | ||
| + | ^ Statements ^ Syntax ^ | ||
| + | |Exact value|<sxh delphi;> | ||
| + | case {Var} of | ||
| + | 1: begin | ||
| + | {Statement1}; | ||
| + | {Statement2}; | ||
| + | ...; | ||
| + | end; | ||
| + | 2: begin | ||
| + | {Statement3}; | ||
| + | {Statement4}; | ||
| + | {Statement5}; | ||
| + | ... | ||
| + | end; | ||
| + | 3: {Statement6}; | ||
| + | else {Statement7}; | ||
| + | end; | ||
| + | </sxh> | | ||
| + | |Range|<sxh delphi;> | ||
| + | case {Var} of | ||
| + | 1..10: begin | ||
| + | {Statement1}; | ||
| + | {Statement2}; | ||
| + | ...; | ||
| + | end; | ||
| + | 11..20: begin | ||
| + | {Statement3}; | ||
| + | {Statement4}; | ||
| + | ...; | ||
| + | end; | ||
| + | 21..30: begin | ||
| + | {Statement5}; | ||
| + | {Statement6}; | ||
| + | ...; | ||
| + | end; | ||
| + | else begin | ||
| + | {Statement7}; | ||
| + | {Statement8}; | ||
| + | ...; | ||
| + | end; | ||
| + | end; | ||
| + | |||
| + | </sxh> | | ||
| + | </hidden> \\ | ||
| + | ===== Break, Continue, Exit and Goto ===== | ||
| + | คำสั่ง Break, Continue, Exit และ Goto สรุปได้ดังนี้ | ||
| + | |||
| + | ^ Procedures ^ Meaning ^ Format ^ | ||
| + | | Break | ออกจาก Loop ปัจจุบัน (For/While/Repeat) |<sxh delphi;> | ||
| + | for i:=1 to 10 do | ||
| + | if i=5 then break; | ||
| + | |||
| + | writeln('i = ',i); //i = 5 | ||
| + | readln; | ||
| + | </sxh> | | ||
| + | |Continue| สิ้นสุด Loop ปัจจุบันทันที เพื่อเริ่ม Loop ปัจจุบันใหม่ในรอบถัดไป (For/While/Repeat) |<sxh delphi;> | ||
| + | for i:=1 to 5 do | ||
| + | begin | ||
| + | if i=4 then continue; | ||
| + | writeln('i = ',i); //i = 4 won't be showed | ||
| + | end; | ||
| + | </sxh> | | ||
| + | |Exit| ออกจาก Sub-Program ปัจจุบัน (Procedure/Function) |<sxh delphi;> | ||
| + | procedure MyProc; | ||
| + | begin | ||
| + | exit; | ||
| + | writeln('After Exit'); //This won't be shown | ||
| + | end; | ||
| + | </sxh> | | ||
| + | |Goto| ไปยัง Label ที่ระบุ |<sxh delphi;> | ||
| + | label PointA,PointB; //declare labels | ||
| + | BEGIN | ||
| + | Goto PointB; | ||
| + | PointA: | ||
| + | wrtieln('Passing PointA'); | ||
| + | exit; //Exit the program | ||
| + | PointB: | ||
| + | wrtieln('Passing PointB'); | ||
| + | Goto PointA; | ||
| + | END. | ||
| + | </sxh> | | ||