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
tutorial:variableanddatatype [2019/01/11 13:37]
admin [Enumerated Type]
tutorial:variableanddatatype [2019/01/11 14:14] (current)
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.1547188622.txt.gz · Last modified: 2019/01/11 13:37 by admin