ใน Visual FoxPro เราถือว่า ฟอร์ม(Forms) , ฟอร์มเซ็ต(Form Set) และคอนโทรล(Control)
ทั้งหมดนี้เป็นวัตถุ(Object) แล้วเราก็นำเอา Object ไปใช้ในโปรแกรมต่างๆที่เราเขียนขึ้นมา
มาถึงตอนนี้เราก็เข้าแก๊บของการเขียนโปรแกรมแบบ OOP อีกแล้วครับท่าน
Object ต่างๆที่เราเขียนขึ้นมานั้นจะประกอบไปด้วย คุณสมบัติ(Properties) , อีเวนต์(Events)
และเมธอต(Methods) เอ้าที่ว่ามามันไม่เห็นจะเกี่ยวกับคลาสตรงไหนเลย เอาละ คลาส กับ Object
มันไม่เกี่ยวกันหรอกเพราะมันไม่มีตะขอเกี่ยว… แต่มันมีความละม้ายใก้ลเคียงกันมากเพราะ
Object มันเกิดมาจากคลาส อ่านมาถึงตรงนี้อย่าเพิ่งงงนะครับ ส่วนผมนะงงไปแล้ว งั้นยกตัวอย่างเลยแล้วกัน
ตัวอย่างก็มีอยู่ว่า ใน Visual FoxPro ได้จัดเตรียม คลาสสำเร็จรูปเตรียมไว้ให้เราซึ่งเรียกว่า เบสคลาส(Base Class)
แล้วเรานำมาเพิ่มคุณสมบัติ ใส่อีเวนต์ เติมเมธอต แล้วเราก็นำมันมาใช้เราเรียกตัวที่นำมาใช้ว่า Object
ถึงตอนนี้เข้าใจบ่ หรือบ่เข้าใจ แต่มีอีกคำหนึ่งอยากจะอะธิบายให้ฟังสักหน่อย คำว่า ซับคาลส(Sub Class)
ลักษณะของ Sub Class ก็เหมือนกับคลาสอีกนั่นแหละแต่ Sub Class จะอยู่ตรงกลางระหว่าง คลาส กับ Object
จุดประสงค์ของ Sub Class ก็มีไวอม…ไม่ใช่ ตัวอย่างเช่นถ้าเราต้องการสร้างฟอร์มแล้วมีปุ่มคำสั่งเราก็นำ เบสคลาส
มาใส่แล้วกำหนด คุณสมบัติ , อีเวนต์ และเมธอต เมื่อเรากำหนดเสร็จก็จะได้เป็น Sub Class แล้วเราก็ทำการเรียก
ใช้งาน เวลาเรนำมาใช้ก็กลายเป็น Object อีกแล้วครับท่าน งงไปก็งงมาอยู่ตรงนี้แหละ
ในการเขียนนิพจน์ขึ้นมาไม่ว่าคุณจะเขียนด้วยโปรแกรมภาษาใดก็ตาม ซึ่งอาจเป็น ภาษา C , BASIC หรือ PASCAL คุณจำเป็นจะต้องเข้าใจและรู้เกี่ยวกับคำสั่งที่ใช้ในการควบคุมการทำงานของโปรแกรม ซึ่งมีอยู่ 2 ชนิด
ได้แก่ นิพจน์คำสั่งที่ใช้ในการทดสอบ , คำสั่งที่ต้องการให้ทำงานซ้ำๆกัน ในความคิดผมนั้นถ้าผู้ที่ต้องการจะเป็น หรือเป็นโปรแกรมเมอร์ไม่ทราบคำสั่งประเภทนี้แล้ว เลิกเป็นโปรแกรมเมอร์แล้วไปขายเต้าฮวยจะดีกว่า
การสร้างระบบงานขึ้นมาสักหนึ่งระบบนั้น จำเป็นอย่างยิ่งที่จะต้องมีการเขียนโปรแกรมมาควบคุมการทำงานของส่วนต่างๆ ให้เป็นไปตามความต้องการของผู้ใช้งาน ในการเขียนโปรแกรมแต่ละภาษาจะมีวิธีการเขียนแตกต่างกันออกไป แต่โดยหลักการแล้วไม่ว่าคุณจะทำการเขียนโปรแกรมด้วยภาษาอะไรก็ตามคำสั่งและฟังก์ชั่นจะไม่เหมือนกันซักทีเดียว แต่หลักและวิธีการเขียนโปรแกรมจะเป็นในแนวทางเดียวกันในยุคปัจจุบันนี้วิธีการเขียนโปรแกรม ได้พัฒนาไปเป็นการเขียน
โปรแกรมเชิงวัตถุ (Object-Oriented Programming OOP) ซึ่งก่อนหน้านี้เราเคยชินกับการเขียนโปรแกรม แบบโครงสร้าง(Structure Programming) จะสังเกตได้ว่าพัฒนาการด้านโปรแกรมได้มีความก้าวหน้าขึ้นเรื่อยๆ ซึ่งจะอำนวยความสะดวกในการเขียนโปรแกรมให้แก่ผู้พัฒนาระบบงานมากยิ่งขึ้นกว่าเมื่อก่อน Visual FoxPro ก็เป็นอีกหนึ่งโปรแกรมที่ได้พัฒนามาจนกระทั่งเป็นโปรแกรมแบบ OOP ซึ่งก่อนจะพัฒนามาเป็น Visual FoxPro นั้นโปรแกรมได้พัฒนาเริ่มต้นมาจาก FoxBase, FoxPro แล้วก็มาถึง Visual FoxPro ที่เรากำลังกล่าวถึงอยู่นี้
อีเวนต์ (Events)
เกริ่นนำ…ในการเขียนโปรแกรมเชิงวัตถุ(Object Oriented Program) สิ่งที่จำเป็นอย่างยิ่งที่จะต้องรู้ก็คือการทำงานของ event ต่างๆที่เกิดขึ้นกับ object นั้นๆ ยิ่งถ้าท่านเคยทำการเขียนโปรแกรมแบบโครงสร้างมาก่อนแล้ว พอมาเจอกับ event งงเป็นไก่ตาแตก บางท่านถึงกับเลิกที่จะเรียนรู้ไปเลย ผมก็เป็นคนหนึ่งในจำนวนนั้นเหมือนกัน แต่ชีวิตนี้ยังมีหวังเลยไปรายการฝันที่เป็นจริง คุณไตรภพให้รถเข็นขายก๋วยเตี๋ยวมาคันหนึ่ง ก็เลยคิดได้ตั้งหน้าตั้งตากลับมาศึกษาใหม่หมด เลยได้สัจจะธรรมของเหตุการณ์(event) ต่างๆใน Visual FoxPro ว่าระหว่างที่เราทำงานกับวัตถุหนึ่งๆมันเกิดเหตุการณ์ขึ้นมากับ วัตถุนั้นหลายอย่างด้วยกัน แต่พอเกิดแล้วเราไม่รู้สึกว่ามันเกิดอะไรขึ้นหรอกเพราะเนื่องจากเรายังไม่ได้ทำการนำมันไปใช้งาน แต่ก่อนที่คุณจะนำมันไปใช้งานนั้นคุณต้องทำความเข้าใจกับลำดับการทำงานของ event ต่างๆกันก่อนว่าไก่กับไข่อะไรเกิดก่อน
- ข้อดีของภาพถ่ายคือไม่เคยเปลี่ยนแปลง แม้คนและสิ่งต่างๆ ในภาพจะเปลี่ยนไป https://t.co/SlDMzPqf3I 19:41:44
- ชีวิตไม่ได้แย่ไปทุกเรื่อง ต้องมีเรื่องดีสักเรื่องเข้ามาจนได้ เด็กๆ ที่สอนอยู่ตอนเย็นๆ ส่งเกรดมาให้ดู ม.1 ส่งมาจากก… https://t.co/aTmnmu0HzX 17:40:27
- ความจริงเด็กเขามีความสามารถอยู่ในตัวเขาอยู่แล้ว เขาจะทำได้ไม่ได้อยู่ที่ตัวเขาเอง เราทำได้แค่ชี้ให้เขาไป ส่วนเขาจะไปหรือไม่ เราทำแทนเขาไม่ได้ 17:44:42
- อาจารย์เคยบอกว่า ไม่มีครูที่เก่ง มีแต่ลูกศิษย์ที่เก่ง กับครูที่ดี 17:56:24
- @duangrts ขอบคุณครับ in reply to duangrts 06:08:16
- สวัสดียามเช้า ฝนตกมาตั้งแต่ยังไม่สว่าง จนตอนนี้ยังไม่หยุด กับอากาศที่หนุ่มสาวบอกว่ากำลังสบาย แต่คนแก่อย่างเราต้องใ… https://t.co/uWGNRwxgKW 07:37:17
- ไม่มีนากับเขาสักแปลง แต่พอหน้าเกี่ยวข้าวมีรถเกี่ยวมาจอดข้างหลังบ้านทุกที จนเขาจะเชื่อว่าเป็นรถลุงแล้ว บ้านเจ้าของนา… https://t.co/iXqbpIwC3z 07:46:57
- เก้าอี้ก็ยึด พรมเช็ดเท้าก็ยึด แม้แต่รองเท้าก็ยังยึด อีกหน่อยจะยึดมุ้งไล่ลุงออกมานอนข้างนอกไหม https://t.co/4nH3KFRDPl 07:57:57
- @patchajaijam ทางนี้เจอลมจากอีสานผ่านละอองฝน เย็นจนต้องไปขุดเสื้อกันหนาวมาใส่แล้วครับ in reply to patchajaijam 08:01:22
- ตอนเก็บมาเลี้ยงก็นึกว่าลูกแมว เลี้ยงไปไม่เท่าไรถึงรู้ว่าเป็นลูกลิงปลอมตัวมา https://t.co/pnyOKIws1G 08:04:10
- @NNgampit สวัสดีครับ in reply to NNgampit 10:24:15
- ลูกๆ อยู่อิมแพคกันหมดแล้ว 12:05:14
- ที่เป็นไร่ไม่นอน ต้องขึ้นมานอนบนคน https://t.co/yf1ReDFFDK 12:06:21
- @bennynana ขอบคุณครับ in reply to bennynana 16:44:40
- @8mR_Rm8 ขอบคุณครับ in reply to 8mR_Rm8 16:44:53
- @aday_man ขอบคุณครับ in reply to aday_man 16:45:03
- @patchajaijam ในงานไม่เหนื่อยไม่เมื่อยเลยครับ แต่อย่าถามหลังจากกลับมานะครับ in reply to patchajaijam 16:45:49
- @2017_since ขอบคุณครับ in reply to 2017_since 16:45:57
- @N_parwana ขอบคุณครับ in reply to N_parwana 16:46:07
- @KunaoyP ขอบคุณครับ in reply to KunaoyP 16:46:15
- @ooijohn5 ขอบคุณครับ in reply to ooijohn5 16:46:31
- @mell0wsunshine ขอบคุณครับ in reply to mell0wsunshine 16:46:39
- @ToddAdvisor ขอบคุณครับ in reply to ToddAdvisor 16:46:49
- @mungship ขอบคุณครับ in reply to mungship 16:46:57
- @Lulla_RABBIT ขอบคุณครับ รับจริงคงไม่ไปแล้วครับ ให้เด็กๆ เขาไปกันครับ in reply to Lulla_RABBIT 16:48:04
- @mew516 ขอบคุณครับ in reply to mew516 16:48:12
- @lukruen ขอบคุณครับ in reply to lukruen 16:48:20
- @hypertt1 ขอบคุณครับ in reply to hypertt1 16:48:28
- @HouseofBakes_th ขอบคุณครับ in reply to HouseofBakes_th 16:48:39
- @pornsawanp ขอบคุณครับ in reply to pornsawanp 16:48:51
- @j_lhan ขอบคุณครับ in reply to j_lhan 16:49:00
- @ChaKaiPed ขอบคุณครับ in reply to ChaKaiPed 16:49:09
- @SoraidaSalwala ขอบคุณครับ in reply to SoraidaSalwala 16:49:19
- @angttwitt ขอบคุณครับ in reply to angttwitt 16:49:27
- @Biggy36097202 ขอบคุณครับ in reply to Biggy36097202 16:49:35
- @thetukk12 ขอบคุณครับ in reply to thetukk12 16:49:46
- @keab338 ขอบคุณครับ in reply to keab338 16:49:55
- @wanwisadayni ขอบคุณครับ in reply to wanwisadayni 16:50:04
- @Rosaneet ขอบคุณครับ in reply to Rosaneet 16:50:12
- @mook40409286 ขอบคุณครับ in reply to mook40409286 16:50:22
- @wanwisadayni ขอบคุณครับ in reply to wanwisadayni 16:50:32
- ไม่ได้เข้าทวิตเตอร์หลายวัน มีข้อความเยอะมากเลย ตกหล่นไม่ได้ตอบใคร ขออนุญาตขอบคุณตรงนี้เลยครับ 16:52:13
- ฟ้าครึ้ม ฝนโปรยทั้งวัน บรรยากาศดูเศร้าๆ เหนื่อยๆ แต่เจ้าของนาที่กำลังจะเกี่ยววันนี้ ดูเศร้าและเหนื่อยกว่าบรรยากาศอีก https://t.co/Ns3ZX6YUes 16:52:41
- บรรยากาศจะเป็นอย่างไร ชีวิตก็ยังต้องไปต่อ วันนี้มีคิวเก็บผัก จะงดสอน เด็กก็กำลังจะสอบ เลยต้องเลื่อนไปเรียนกันดึกหน่… https://t.co/7AE1vpy6Vr 16:56:12
- ไม่ได้อ่านไทม์ไลน์ ไม่ได้ทักทายใครเลย โผล่หน้ามาให้เห็นว่าตาแก่คนนี้ยังอยู่ แค่ไม่มีเวลามาบ่นเท่านั้น 17:04:01
- เรื่องที่ไม่สมควรพูด อย่าพูด
เรื่องที่ไม่สมควรถาม อย่าถาม
เรื่องที่ไม่สมควรทำ อย่าทำ
เท่านี้ความทุกข์ที่ไม่สมควรมีก็จะไม่มี 17:04:46
1 $ การค้นหานิพจน์อักขระ
2 % ส่งค่าเศษที่ได้จากการหาร
3 & การทำงานแบบแมโคร
4 ABS() ส่งค่าสัมบูรณ์ของตัวเลข
5 ACOPY() การคัดลอกอาร์เรย์
6 ACOS() สั่งค่า arc cosine
7 ADELการลบสมาชิกในอาร์เรย์
8 ADIR() การแสดงข่าวสารของไดเรกทอรีนั้นๆ
9 AELEMENT() การส่งค่าตำแหน่งที่อยู่ในอาร์เรย์
10 AFIELDS() นำข่าวสารของ field มาไว้ในอาร์เรย์
ทดสอบแล้วใช้ได้ แต่ใช้จริงต้องปรับตำแหน่งเรียก mysqldump ที่ต่างกัน
OS : Windows Server
เช่นถ้าใช้ wamp เป็นตัวติดตั้งก็จะอยู่ที่
C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump
ถ้าติดตั้ง MySQL เพียวๆ ก็คงต้องหาตำแหน่งที่ถูกต้องของเซิร์ฟเวอร์แต่ละเวอร์ชั่น
เช่น C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump
การจะกำหนดเวลาแบ็กอัพนั้น Schedule ของ Windows Server ให้เรียกไฟล์ xxxxx.bat เพื่อทำงานตามเวลาที่กำหนด (หากใช้ลีนุกซ์ก็คงจะใช้ cronjob และจะสะดวกกว่าหากจัดการด้วย webmin)