ใน 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 อีกแล้วครับท่าน งงไปก็งงมาอยู่ตรงนี้แหละ
Category: สู่เส้นทางดิจิตอล
ในการเขียนนิพจน์ขึ้นมาไม่ว่าคุณจะเขียนด้วยโปรแกรมภาษาใดก็ตาม ซึ่งอาจเป็น ภาษา 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 ต่างๆกันก่อนว่าไก่กับไข่อะไรเกิดก่อน
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)
VFP has two realms that concern datatypes: the DBF table, and the types of variables and .value property. There are 3 differences: objects, numerics, and chars. There is no Object type of DBF field, and DBF has different kinds of numerics: integer, float, currency, etc. as where numeric variables are all stored in floating point. VFP automagically converts back and forth when it moves data between memory and disk. As far as I know this should not concern anyone – it has been this way for years, and no one has ever suggested that there are any pitfalls to be aware of.
Moving memos to memory does the same thing, it ends up as a character variable type. — Mike Helland
Ok, I got bit: Currency’s don’t play nice with Pad L() – you have to use MtoN(). Thanks Bill
The VFP function that commits changes made to a view or buffered table to the underlying data store.
The syntax is;
TableUpdate(nRecords, lForce, cAlias, ArrayName)
nRecords is a number (0, 1, or 2) where:
0 updates only the current record
1 updates all records but stops on the first record that fails
2 update all records and will continue to update additional records after a record fails to update
(this first argument still supports the older syntax of a logical where .T. is identical to 1 and .F. the same as 0)
Article: Q130462
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,5.0,6.0
Operating System(s):
Keyword(s): kbvfp300 kbvfp500 kbvfp600
Last Modified: 19-OCT-2000
——————————————————————————-
The information in this article applies to:
– Microsoft Visual FoxPro for Windows, versions 3.0, 5.0, 6.0
——————————————————————————-
SUMMARY
=======
This article lists the differences in functionality between two new functions –
REQUERY() and REFRESH() – in Visual FoxPro.
MORE INFORMATION
================
