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 11:32]
admin
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>​  
 +  
 +การเรียกใช้งาน 
 + 
 +<sxh delphi;>​ 
 +VAR 
 +  ToDay:​TDay;​ 
 +  Direction:​TDirection;​ 
 +BEGIN 
 +  Today:​=Wed;​ 
 +  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. 
 +</​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.1547181171.txt.gz · Last modified: 2019/01/11 11:32 by admin