การใช้ Text File นำมาเก็บข้อมูลเป็น Logging file

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 5/11/2549 11:11:00
(อ่าน : 18214) 

ในงานอุตสาหกรรมบางอย่าง ที่ต้องใช้คอมพิวเตอร์เป็นตัวประมวลผล เพื่อให้เครื่องจักรทำงานตามวันเวลาที่ได้ตั้งเอาไว้ หรือ เพื่อการเก็บข้อมูลของการเกิด Error เอาไว้ และอื่นๆอีก จำเป็นต้องมีการบันทึกเหตุการณ์ต่างๆเอาไว้ทำการตรวจสอบความผิดพลาด พอดีลูกศิษย์ท่านนึง ได้เข้ามาสอบถามว่าโปรแกรมที่โรงงานเขาทำอยู่มีโปรแกรมใช้งานที่เขียนมาจาก VB อยากจะให้บอกวิธีทำ Logging เอาไว้ให้หน่อย ผมก็เลยลองมาก๊อกๆแก๊กๆดู เพราะตัวผมเองจะถนัดมากกว่า เมื่อเขียน VB หนักไปทางด้านฐานข้อมูลน่ะครับ.


อันดับแรกต้องเลือกปุ่ม CommandButton จาก Toolbox มา 1 ตัว และ ในงานชิ้นนี้ผมเลือกเอา Control อีกตัวก็คือ RichTextBox มาเพื่อทำการแสดงผลด้วย คุณสามารถเลือกได้จาก Project --> Components --> Microsoft Rich TextBox Control ดังรูปครับผม


เพราะ Code ของเราต้องอ้างถึง Script ด้วย จากนั้นต้องเลือก Project --> Reference --> Microsoft Scripting Runtime มิฉะนั้น Error แน่ครับท่าน




Option Explicit

Private Sub Command1_Click()

Dim MyFSO As New FileSystemObject, MyTextFile

Dim txtStream As TextStream

' เคลียร์ Rich TextBox Control ก่อน

RichTextBox1.Text = ""

'

If Dir(App.Path & "\Log.Txt") = "" Then ' กรณีที่ค้นหาไม่เจอ จะทำการสร้างไฟล์ชื่อ Log.txt ขึ้นมาใหม่

    Set MyTextFile = MyFSO.CreateTextFile(App.Path & "\Log.txt", False)
    MyTextFile.Write ("ไฟล์นี้ถูกสร้างเมื่อ ") & Now & vbCrLf
    MyTextFile.Close

    MsgBox "ไม่พบไฟล์ที่คุณต้องการ...."
Else

    Set MyTextFile = MyFSO.GetFile(App.Path & "\Log.Txt")
    Set txtStream = MyTextFile.OpenAsTextStream(ForAppending) ' เมื่อเจอไฟล์ที่ต้องการก็ทำการบันทึกข้อมูลลงไปต่อท้ายไฟล์เลย

    txtStream.WriteLine (Now)
    txtStream.Close
End If

'
' นำไปแสดงผลออกที่ RichTextBox1

RichTextBox1.LoadFile MyTextFile

End Sub


จากนั้นทำการ Run โปรแกรมด้วยการกด
F5....แล้วกดปุ่ม Command1

ลองเอาไปประยุกต์ใช้งานดูน่ะครับ