User Tools

Site Tools


tutorial:variableanddatatype

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
tutorial:variableanddatatype [2019/01/11 13:37]
admin [Enumerated Type]
tutorial:variableanddatatype [2019/01/11 14:12]
admin [Enumerated Type]
Line 67: Line 67:
 =====User-Define Type===== =====User-Define Type=====
 =====Enumerated Type===== =====Enumerated Type=====
-คือ Data Type ที่เรากำหนดชื่อได้เอง ซึ่งชื่อที่กำหนดขึ้นต้องเป็นไปตามกฎการตั้งชื่อตัวแปร ไม่ใช่ชื่อในแบบ string โดยสิ่งที่สำคัญสำหรับ Data Type ประเภทนี้ คือ ลำดับตัวเลข ​+คือ Data Type ที่เรากำหนดชื่อได้เอง ซึ่งชื่อที่กำหนดขึ้นต้องเป็นไปตามกฎการตั้งชื่อตัวแปร ไม่ใช่ชื่อในแบบ string โดยสิ่งที่สำคัญสำหรับ Data Type ประเภทนี้ คือ ลำดับตัวเลข ​ทำให้ Enumerated Type ถูกนำมาเปรียบเทียบกันด้วยเครื่องหมาย =,>,< ได้เหมือนๆกับตัวเลขทั่วไป 
 การประกาศ Enumerated Type ทำได้ดังนี้ การประกาศ Enumerated Type ทำได้ดังนี้
  
Line 73: Line 74:
 Type Type
   TDay = (Mon,​Tue,​Wed,​Thu,​Fri,​Sat,​Sun);​   TDay = (Mon,​Tue,​Wed,​Thu,​Fri,​Sat,​Sun);​
-  TDirection = (Right 1,Left,Front,Back);  +  TDirection = (North 2EastSouth = 8West);
 </​sxh> ​ </​sxh> ​
 + 
 การเรียกใช้งาน การเรียกใช้งาน
  
Line 84: Line 85:
 BEGIN BEGIN
   Today:=Wed;   Today:=Wed;
-  Direction:=Left;+  Direction:=EAst; //case insensitive 
 +   
 +  if  Today < Sat then 
 +    writeln('​Today is not holliday'​) 
 +  else 
 +    writeln('​Today is holliday'​);​ 
 +     
 +  writeln('​Your direction number is : ',​ord(Direction)); ​    
 +  readln;
 END. END.
 </​sxh> ​ </​sxh> ​
  
 +เราสามารถหาเลขลำดับของ Enumerated Variable ได้ โดยใช้ฟังก์ชั่น Ord() จากตัวอย่างข้างบน หากไม่มีการกำหนดลำดับให้ ลำดับก็จะเริ่มจาก 0 เสมอ จะได้ลำดับของแต่ละวันใน TDay ดังนี้
 +
 +  Mon=0, Tue=1, Wed=2, Thu=3, Fri=4, Sat=5, Sun=6 
 +
 +สำหรับ Enumerated Variable ที่มีการกำหนดลำดับ ก็จะได้ลำดับตามที่กำหนดมา แต่สำหรบตัวที่ไม่ได้กำหนด จะนำลำดับตัวก่อนหน้ามา +1 จากตัวอย่าง TDirection จะได้ลำดับดังนี้
 +
 +  North = 2, East = 3, South = 8, West = 9
 +
 +จากตัวอย่างข้างบน บรรทัดที่ 6 จะสังเกตว่า การใส่ชื่อเป็น Case Insensitive เหมือนกันกับการตั้งชื่อตัวแปรในภาษา Pascal ดังนั้น East, EAST, EAst, eAsT เหล่านี้ ย่อมเป็นตัวเดียวกัน
tutorial/variableanddatatype.txt · Last modified: 2019/01/11 14:14 by admin