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/07 15:22]
admin
tutorial:variableanddatatype [2019/01/11 14:12]
admin [Enumerated Type]
Line 19: Line 19:
 </​sxh>​ </​sxh>​
  
-     +\\ \\
 =====Data Types===== =====Data Types=====
 แบ่งได้เป็น 4 ประเภท ดังนี้ แบ่งได้เป็น 4 ประเภท ดังนี้
Line 29: Line 28:
 | Structured Type | Array \\ Record \\ Object \\ Class | | Structured Type | Array \\ Record \\ Object \\ Class |
 | Pointer Type | Pointer | | Pointer Type | Pointer |
 +\\ 
 +\\
 =====Standard Type===== =====Standard Type=====
 สรุปได้ดังนี้ สรุปได้ดังนี้
-^  Data Types  ^  Declaration/​Defining ​ ^  +^  Data Types  ^  Declaration  ​^ Assign Value 
-|integer|<sxh delphi;>+|Integer|<sxh delphi;>
 var  var 
-  x:​integer;​ +  x,y:​integer; ​</​sxh>​ |<sxh delphi;> ​ 
-...   +x:=10; 
-  ​x:=10;+y:=$10; //Hex = 16
 </​sxh>​ | </​sxh>​ |
 |Real|<​sxh delphi;> |Real|<​sxh delphi;>
 var  var 
-  x:real; +  x,y:​real; ​</​sxh>​ |<sxh delphi;> ​ 
-...   +x:=624.32; 
-  ​x:=1.0923;+y:=2E3; // = 2*10^3
 </​sxh>​ | </​sxh>​ |
 |Boolean|<​sxh delphi;> |Boolean|<​sxh delphi;>
 var  var 
-  x:​boolean;​ +  x,y:​boolean; ​</​sxh>​ |<sxh delphi;> ​ 
-...   +x:=true; 
-  ​x:​=true; ​//or false+y:=false;
 </​sxh>​ | </​sxh>​ |
 |Character|<​sxh delphi;> |Character|<​sxh delphi;>
 var  var 
-  x:char; +  x,y:​char; ​</​sxh>​ |<sxh delphi;> ​ 
-...   +x:='A'; 
-  ​x:​='​A';​+y:='Z';
 </​sxh>​ | </​sxh>​ |
 |String|<​sxh delphi;> |String|<​sxh delphi;>
 var  var 
-  x:string; +  x,y:​string; ​</​sxh>​ |<sxh delphi;> ​ 
-...   +x:​='​Hello';​ 
-  ​x:​='​How are you?';+y:='How are you?';
 </​sxh>​ | </​sxh>​ |
 +
 +\\ \\
 +=====User-Define Type=====
 +=====Enumerated Type=====
 +คือ Data Type ที่เรากำหนดชื่อได้เอง ซึ่งชื่อที่กำหนดขึ้นต้องเป็นไปตามกฎการตั้งชื่อตัวแปร ไม่ใช่ชื่อในแบบ string โดยสิ่งที่สำคัญสำหรับ Data Type ประเภทนี้ คือ ลำดับตัวเลข ทำให้ Enumerated Type ถูกนำมาเปรียบเทียบกันด้วยเครื่องหมาย =,>,< ได้เหมือนๆกับตัวเลขทั่วไป
 +
 +การประกาศ Enumerated Type ทำได้ดังนี้
 +
 +<sxh delphi;>
 +Type
 +  TDay = (Mon,​Tue,​Wed,​Thu,​Fri,​Sat,​Sun);​
 +  TDirection = (North = 2, East, South = 8, West);
 +</​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.txt · Last modified: 2019/01/11 14:14 by admin