MyBanner

โฆษณา

วันเสาร์ที่ 30 สิงหาคม พ.ศ. 2557

บทที่ 8 การจัดการข้อมูลเกี่ยวกับวันและเวลา



         ในภาษา OpenOffice / LibreOffice Basic ข้อมูลที่เกี่ยวกับวันเวลา จะมีข้อมูลรูปแบบเฉพาะเรียกว่าข้อมูลแบบ Date ซึ่งจะถูกเก็บอยู่ในรูปของ Binary ในแง่ของการใช้งาน นักพัฒนาโปรแกรมไม่จำเป็นต้องรู้จักรูปแบบข้อมูลที่จัดเก็บโดยละเอียด เนื่องจากสามารถจัดการได้โดยการใช้ข้อความ ที่ถูกจัดให้อยู่ในรูปของวันและเวลาแทน

8.1 การกำหนดค่าให้ตัวแปรแบบ Date

      ในการกำหนดค่าให้กับตัวแปรสำหรับเก็บข้อมูลแบบ Date สามารถเลือกดำเนินการเลือกดำเนินการได้ใน 2 ลักษณะคือ กำหนดค่าโดยใช้ข้อความที่จัดอยู่ในรูปมาตรฐานของวันและเวลา หรือใช้ชุดคำสั่งในการกำหนดค่า

8.1.1 การกำหนดค่าโดยจัดในรูปข้อความ

        ในตัวอย่างที่ 8-01 เป็นตัวอย่างกำหนดค่าให้กับตัวแปรที่ใช้เก็บข้อมูลแบบ Date ที่อยู่ในรูปของข้อความ ซึ่งจัดอยู่ในรูป “DD.MM.YYYY”

ตัวอย่างที่ 8-01 : การกำหนดค่าให้กับตัวแปรแบบ Date ในรูปข้อความ
SUB subExample08_01
       Dim dTestDateVar As Date

       dTestDateVar = "31.8.2007"

       MsgBox "กำหนด dTestDateVar = ""31.8.2007""" + Chr(13) + _
                 "ค่าที่เก็บในตัวแปร dTestDateVar คือ " + dTestDateVar
END SUB

รูปที่ 8-1 ผลการทำงานของ subExample08_01

โดยปรกติในภาษา OpenOffice / LibreOffice Basic จะใช้เครื่องหมาย / หรือเครื่องหมาย . (จุด) ในการแยกชุดข้อมูลวันเวลาที่จัดอยู่ในรูปข้อความดังในตัวอย่างข้างต้น
ในการทำงาน ตัวแปรภาษาของภาษา OpenOffice / LibreOffice Basic จะทำการแปลงข้อมูลที่เป็นข้อความให้เป็นข้อมูลแบบ Date โดยอัตโนมัติ ก่อนที่จะนำค่าไปเก็บไว้ในตัวแปร

8.1.2 การกำหนดค่าโดยการใช้ชุดคำสั่ง

นอกจากเราจะสามารถกำหนดค่าให้กับตัวแปรแบบ Date ด้วยข้อมูลวันเวลาที่อยู่ในรูปข้อความแล้ว เรายังสามารถใช้คำสั่งช่วยในการกำหนดค่าให้ตัวแปรแบบ Date ได้ด้วย ซึ่งชุดคำสั่งที่ใช้ได้แก่ คำสั่ง DateSerial() สำหรับกรณีข้อมูลที่เป็นวันเดือนปีและ TimeSerial() สำหรับข้อมูลเกี่ยวกับเวลา

8.1.2.1 การใช้คำสั่ง DateSerial()

คำสั่ง DateSerial() เป็นคำสั่งที่ทำหน้าที่แปลงชุดข้อมูลปี เดือน และวันที่ให้อยู่ในรูปข้อมูลแบบ Date ซึ่งมีรูปแบบชุดคำสั่งดังนี้

รูปแบบชุดคำสั่ง :
             DateSerial (year, month, day) As Date
โดยที่
        year    หมายถึง เลขปี ค.. 4 หลัก
        month หมายถึง เลขเดือน ซึ่งเป็นค่าตัวเลขในช่วง 1 ถึง 12
        day     หมายถึง เลขวันที่ ซึ่งเป็นค่าตัวเลขในช่วง 1 ถึง 31

8.1.2.2 การใช้คำสั่ง TimeSerial()

คำสั่ง TimeSerial() เป็นชุดคำสั่งที่ทำหน้าที่แปลงชุดข้อมูลเวลา ซึ่งประกอบด้วยชั่วโมง, นาที และวินาที โดยมีรูปแบบชุดคำสั่งดั่งนี้

รูปแบบชุดคำสั่ง :
        TimeSerial (hour, minute, second) As Date
โดยที่
         hour    หมายถึง เลขชั่วโมง (0 ถึง 23)
         minute หมายถึง เลขนาที (0 ถึง 59)
         second หมายถึง เลขวินาที (0 ถึง 59)
คำสั่ง Now ของภาษา OpenOffice / LibreOffice Basic เป็นชุดคำสั่งที่ทำหน้าที่หาค่าวันเวลาในขณะปัจจุบัน

ตัวอย่างที่ 8-02 : การกำหนดค่าให้กับตัวแปรแบบ Date ด้วยชุดคำสั่ง
SUB subExample08_02
       Dim dTestDateVar As Date
       Dim sDisplayStr AS String

       dTestDateVar = Now
       sDisplayStr = "กำหนด dTestDateVar = Now" + Chr(13) + _
                       "ค่าที่เก็บในตัวแปร dTestDateVar คือ " + dTestDateVar

       dTestDateVar = DateSerial(2007, 10, 17)
                          sDisplayStr = sDisplayStr + Chr(13) + Chr(13) + _
                          "คำสั่ง dTestDateVar = DateSerial(2007, 10, 15)" + Chr(13) + _
                          "ค่าที่เก็บในตัวแปร dTestDateVar คือ " + dTestDateVar

       dTestDateVar = TimeSerial(09, 09, 05)
                          sDisplayStr = sDisplayStr + Chr(13) + Chr(13) + _
                          "คำสั่ง dTestDateVar = TimeSerial(09, 09, 05)" + Chr(13) + _
                          "ค่าที่เก็บในตัวแปร dTestDateVar คือ " + dTestDateVar

       MsgBox sDisplayStr
END SUB
รูปที่ 8-2 ผลการทำงานของ subExample08_02
เทรด forex กับ www.exness.com

บันทึกประจำวันที่ 4 กรกฎาคม พ.. 2557 (2014)
เวลา
เหตุการณ์

06:00 . ตื่นนอน อ่านวารสารไมโครคอมพิวเตอร์
07:00 . ซ่อมหลังค่าซุ้มน้ำหมักชีวภาพ
08:45 .
0.กินข้าวเช้า
1.กับข้าว:ผัดหมี่, แกงป่าเนื้อเต่ามะเขือพวง, ผักรวก, น้ำพริก
09:15 . ตรวจสอบบล็อกเกอร์ที่ถูกลบ
10:15 . ไปพิมพ์เอกสารที่วัด ปรากฏว่าไฟฟ้าดับ
11:15 . คืนค่าบล็อกเกอร์ที่ถูกลบ
11:45 . Note:จ่าเนียนแวะมาที่บ้าน
12:30 .
0.กินข้าว พักผ่อน
1.กับข้าว:ผัดหมี่, แกงป่าเนื้อเต่ามะเขือพวง, ผักรวก, น้ำพริก
13:15 . สูบน้ำใช้ด้วยปั้มชักพลังงานโซลาร์เซลล์
14:00 .
0.งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : สูบน้ำรดต้นไม้ด้วยปั้มชักพลังงานโซลาร์เซลล์
1.ทำบันทึกประจำวันของวันก่อน, ทำบัญชีครัวเรือน
14:30 .
1.งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557):ทำต้นฉบับบทความเรื่องใหม่
15:00 . ลองเชื่อมต่ออินเตอร์เน็ตเนื่องจาก AIS ตั้งเสาสัญญาณใหม่ที่หน้า ร.. นิคมฯ2
16:30 . ไปพิมพ์เอกสารที่วัดเขาแก้ว
18:00 . เชื่อมต่ออินเตอร์เน็ต ค้นข้อมูลเกี่ยวกับเว็บโฮสติ้ง
19:30 .
0.อาบน้ำ กินข้าว พักผ่อน
1.กับข้าว:ผัดหมี่, แกงป่าเนื้อเต่ามะเขือพวง, ผักรวก, น้ำพริก
21:00 . เข้านอน


วันพฤหัสบดีที่ 28 สิงหาคม พ.ศ. 2557

การแปลงข้อมูล :: บทที่ 7 การจัดการข้อมูลที่เป็นค่าตัวเลขในภาษา OpenOffice / LibreOffice Basic



7.2 การแปลงข้อมูล

        การแปลงข้อมูล ในที่นี้หมายถึง การแปลงค่าข้อมูลใดๆ (ข้อความหรือตัวเลข) ให้เป็นข้อมูลที่ค่าตัวเลขในรูปแบบต่างๆ ซึ่งชุดคำสั่งสำหรับดำเนินการในลักษณะดังกล่าวของภาษา OpenOffice / LiberOffice Basic ประกอบด้วยคำสั่ง CDbl(), CSng(), CInt() และ CLng() โดยชุดคำสั่งดังกล่าว จะทำหน้าที่แปลงค่าข้อมูลใดๆ เป็นค่าตัวเลขแบบ Double, Single, Integer และ Long Integer ตามลำดับ
        นอกจากนี้ยังมีคำสั่ง CStr() ทำหน้าที่ในการแปลงค่าข้อมูลใดๆ ให้เป็นข้อความ ในกรณีที่ค่าข้อมูลที่นำมาทำการแปลงด้วยคำสั่ง CStr() เป็นค่าตัวเลข คำสั่งดังกล่าวจะให้ผลเป็นข้อความของค่าตัวเลขนั้นๆ

หมายเหตุ
คำสั่ง CStr() จะทำงานคล้ายกับคำสั่ง Format() คือ ทำหน้าที่แปลงข้อมูลที่เป็นค่าตัวเลขใดๆ ให้เป็นข้อความของค่าตัวเลขนั้นๆ แต่จะต่างกันตรงที่ CStr() จะไม่สามารถจัดรูปแบบในการแสดงผลข้อความได้

ตัวอย่างที่ 7-06 : ตัวอย่างการแปลงค่าตัวเลข
SUB subExample07_06
       MsgBox "ผลของคำสั่ง CDbl(9998976.5788733) คือ " + _
                      CDbl(9998976.5788733) + Chr(13) + _
                     "ผลของคำสั่ง CSng(8976.5788733) คือ " + _
                      CSng(8976.5788733) + Chr(13) + _
                     "ผลของคำสั่ง CInt(8976.5788733) คือ " + _
                     CInt(8976.5788733) + Chr(13) + _
                     "ผลของคำสั่ง CLng(9998976.5788733) คือ " + _
                     CLng(9998976.5788733) + Chr(13) + _
                     "ผลของคำสั่ง CStr(9998976.5788733) คือ " + _
                     CStr(9998976.5788733)
END SUB
รูปที่ 7-06 ผลการทำงานของ subExample07_06
ตารางที่ 7-01 เป็นรายการชุดคำสั่งที่เกี่ยวข้องกับข้อมูลที่เป็นค่าตัวเลขของภาษา OpenOffice / LibreOffice Basic

ตารางที่ 7-01 : สรุปชุดคำสั่งที่เกี่ยวกับข้อมูลที่เป็นตัวเลข
ชุดคำสั่ง
รายละเอียด
Abs() ทำหน้าที่ หาค่าสัมบูรณ์ (Absolute) ของค่าตัวเลข
Asc() ทำหน้าที่ หาค่ารหัส ASCII ของอักษรตัวแรกของข้อความ
Atn() ทำหน้าที่ หามุมเป็นเรเดียน
Blue() ทำหน้าที่ หาเลขสีในกลุ่มสีน้ำเงินจากเลขสีที่กำหนด
CByte() ทำหน้าที่ แปลงค่าข้อมูลให้อยู่ในรูปข้อมูลแบบ Byte
CDbl() ทำหน้าที่ แปลงค่าข้อมูลให้อยู่ในรูปค่าตัวเลขแบบ Double
CInt() ทำหน้าที่ แปลงค่าข้อมูลให้เป็นเลขจำนวนเต็มแบบ Integer
CLng() ทำหน้าที่ แปลงค่าข้อมูลให้เป็นเลขจำนวนเต็มแบบ Long Integer
Cos() ทำหน้าที่ หาค่า cos ของมุมที่กำหนด (หน่วยเป็นเรเดียน)
CSng() ทำหน้าที่ แปลงค่าข้อมูลให้อยู่ในรูปค่าตัวเลขแบบ Single
CStr() ทำหน้าที่ แปลงค่าข้อมูลที่เป็นตัวเลขให้เป็นข้อความ
Exp() ทำหน้าที่ หาค่า Exponential ของตัวเลข
Fix() ทำหน้าที่ หาเลขจำนวนเต็มของค่าตัวเลขที่กำหนด
Format() ทำหน้าที่ แปลงค่าตัวเลขให้เป็นข้อความตามรูปแบบที่กำหนด
Green() ทำหน้าที่ หาเลขสีในกลุ่มสีเขียวจากเลขสีที่กำหนด
Hex() ทำหน้าที่ แปลงค่าข้อมูลให้อยู่ในรูปเลขฐาน 16
Int() ทำหน้าที่ แปลงค่าข้อมูลให้เป็นเลขจำนวนเต็ม
IsNumeric () ทำหน้าที่ ตรวจสอบข้อมูลว่าเป็นค่าตัวเลขหรือไม่
Log() ทำหน้าที่ หาค่า Logarithmic
Oct() ทำหน้าที่ แปลงค่าข้อมูลให้อยู่ในรูปเลขฐาน 8
Randomize ทำหน้าที่ หาเลขสุ่มจากค่าตัวเลขที่กำหนด
Red() ทำหน้าที่ หาเลขสีในกลุ่มสีแดงจากเลขสีที่กำหนด
RGB() ทำหน้าที่ หาค่าสี (Color) จากชุดสีที่กำหนด (Red, Green, Blue)
Rnd ทำหน้าที่ หาเลขสุ่มที่อยู่ในช่วงระหว่าง 0 ถึง 1
Sgn() ทำหน้าที่ หาเครื่องหมายของค่าตัวเลข
Sin() ทำหน้าที่ หาค่า sin ของมุมที่กำหนด (หน่วยเป็นเรเดียน)
Sqr() ทำหน้าที่ หาค่ารากที่สองของค่าตัวเลขที่กำหนด
Tan() ทำหน้าที่ หาค่า tan ของมุมที่กำหนด (หน่วยเป็นเรเดียน)
TwipsPerPixelX ทำหน้าที่ หาตำแหน่งจุดบนจอภาพที่กำลังทำงานในขณะนั้นตามแกน X (Pixel)
TwipsPerPixelY ทำหน้าที่ หาตำแหน่งจุดบนจอภาพที่กำลังทำงานในขณะนั้นตามแกน Y (Pixel)
Val() ทำหน้าที่ หาค่าตัวเลขของข้อมูลที่กำหนด

 เทรด forex กับ www.exness.com

บันทึกประจำวันที่ 3 กรกฎาคม พ.. 2557 (2014)
เวลา
เหตุการณ์
05:00 . ตืนนอน อ่านวารสารไมโครคอมพิวเตอร์
06:00 . กวาดพื้นใต้ถุนบ้าน
06:30 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557) : ตัดหญ้าเตรียมพื้นที่ปลูกข้าวโพด
09:30 .
0.สูบน้ำรดต้นไม้ที่เพาะชำไว้ด้วยปั้มชักแผงพลังงานแสงอาทิตย์
1.อาบน้ำ กินข้าวเช้า
2.กับข้าว:แกงเหลือสับปะรด, แก้งส้มสายบัวผักบุ้งปลาดุก, ข้าวโพดทอด, สะตอสด, น้ำพริก; ของว่าง:ข้าว โพดต้ม
10:15 . ทำบัญชีครัวเรือน ทำบันทึกประจำวันของวันก่อน
10:45 .
งานของกิจกรรมอาชีพ งานอินเตอร์เน็ต (18/2557) : ทำต้นฉบับบทความเรื่องใหม่ เชื่อมต่ออินเตอร์เน็ต โพสต์บทความเรื่องใหม่ และแก้ไขบทความที่โพสต์ไปแล้ว
13:15 .
0.กินข้าว พักผ่อน
2.กับข้าว:แกงเหลือสับปะรด, แก้งส้มสายบัวผักบุ้งปลาดุก, ข้าวโพดทอด, สะตอสด, น้ำพริก; ของว่าง:ข้าวโพดต้ม
14:15 . กวาดพื้นใต้ถุนบ้าน
15:00 .
งานของกิจกรรมอาชีพ งานการตลาดและการลงทุน (20/2557) : ไปพิมพ์โปรชัวร์ YIC Capsule Nano ที่วัดเขาแก้ว
16:15 . งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ แปลงสวนปาล์ม (8/2557) : ตัดหญ้าในดงปาล์ม
19:00 .
0.อาบน้ำ กินข้าว พักผ่อน ดูหนังจากแผ่นซีดี 1.กับข้าว : แกงป่าเนื้อเต่ามะเขือพวง, แกงส้มผักบุ้งสายบัว
21:00 . เข้านอน


Adz2you.