เรียนลัด VB.NET เบื้องต้น

Zone-IT โซนไอที : สังคมดีๆบนโลกออนไลน์

sak2005

12 สิงหาคม พ.ศ. 2552, 13.11 น.
ผมครุ่นคิดอยู่นานว่า..ทำอย่างไร? ที่จะสอนการใช้งาน vb.net แบบรวบรัด กระชับ เข้าใจง่าย เพื่อปูพื้นฐานการเรียนรู้ vb.net ขั้นสูงต่อไป ให้แก่ท่านทั้งหลาย
ขอให้ติดตามบทความนี้กันไปเรื่อย จะมา Update ความรู้ให้เป็นระยะๆ ..ให้ท่านเตรียมติดตั้งโปรแกรม Visual Basic 2008 ไว้ก่อนล่วงหน้า
การติดตั้งโปรแกรม Visual Basic 2008 ทำได้2ทาง คือ ติดตั้งผ่านเน็ต หรือจะหาแผ่นCDมาติดตั้งเองก็ได้ ..คราวหน้าเรากลับมาเรียนรู้กัน
Link:VB.NET Setup



sak2005

12 สิงหาคม พ.ศ. 2552, 17.20 น.
ผมจะไม่อธิบายรายละเอียดการใช้งานในหน้าโปรแกรม เพราะเมื่อฝึกหัดเรียนรู้-สร้าง Project กันแล้ว จะรู้วิธีการใช้งานกันไปเอง
แต่ให้ทราบถึง ขั้นตอนการใช้ว่ามีอะไรบ้าง ดังนี้
--------------------------------------
1.สร้าง GUI หมายถึง การสร้าง Page Form และ Object ที่ต้องการใช้งานขึ้นมา
2.ปรับแต่งรายละเอียดของ GUI เพิ่มเติม
3.เขียนสคริ๊ปคำสั่งต่างๆลงไปควบคุมการทำงานของ GUI
4.ทดสอบและแก้ไขข้อบกพร่องต่างๆ
5.Save หรือบันทึกผลงาน
6.Build หรือ แปลง ไฟล์ Project ที่สร้าง เช่น .vb และอื่นๆ ..มาเป็น โปรแกรม ที่ใช้ได้ทั่วไป มักจะมีสกุลเป็น .exe
----------------------------------------------------------------------------------------

sak2005

12 สิงหาคม พ.ศ. 2552, 17.30 น.
แบบฝึกหัดที่1 เกี่ยวกับ Progressbar
-----------------------------
1.สร้าง Page Form ..คลิ๊กที่เมนู File ..เลือกคลิ๊กที่ New Project...
..เลือกคลิ๊กที่ Windows Forms Application
..ที่ช่อง Name: ตั้งชื่อให้ Project ..คลิ๊ก OK



-------------------------------------------------------
สร้าง Object ต่างๆที่ต้องการใช้งาน ลงบนพอร์ม เช่น Progressbar,Button และ Timer เป็นต้น
ที่ Toolbox ซ้ายมือ ..คลิ๊กเลือก Object ต่างๆที่ตองการใช้งาน มาวางไว้บนฟอร์ม






sak2005

12 สิงหาคม พ.ศ. 2552, 18.04 น.
2.ปรับแต่งรายละเอียดของ GUI
--------------------------
จะย่อ-ขยาย-ย้าย หรือ ปรับเปลี่ยน ขนาด-สี-ตัวอักษร-ตัวเลข และ สัญลักษณ์ ต่างๆ ตามสดวก

hohomona

12 สิงหาคม พ.ศ. 2552, 20.41 น.
ความ รู้ ทั้ง นั้น เลย ครับ ผม ติด ตาม อยู่ อิอิ

thekop2499

12 สิงหาคม พ.ศ. 2552, 21.24 น.
สมองเพิ่มรอยหยักได้อีกแล้ว

sak2005

12 สิงหาคม พ.ศ. 2552, 23.36 น.
3.เขียนสคริ๊ปคำสั่งลงบน Project
--------------------------
ขั้นตอนนี้ ถือว่าสำคัญมาก ทุกท่านควรให้ความสนใจเป็นพิเศษ ..สอบผ่านหรือไม่ผ่านก็ตรงนี้แหละ จำรูปแบบของสคริ๊ปคำสั่งต่างๆไว้ให้ดีว่า..หมายถึงอะไร?
และเขียนให้ถูกต้อง และต้องวางสคริ๊ปคำสั่งบน Object ให้ถูกที่ด้วย ไม่งั้นจะเกิดข้อผิดพลาดตามมา
------------------------------------------------------------------------------------
ดับเบิ้ลที่ Button1 เพื่อเปิด Editor และเขียนสคริ๊ปลงไปดังนี้

โค๊ด:
Timer1.Enabled = True

คำสั่งนี้หมายถึง ตั้งเวลาทำงาน ด้วยการกดที่ปุ่ม Button1 ..เป็นแบบ Timer_Tick คือจะทำงานอยู่เป็นช่วงๆ อย่างรวดเร็ว ตลอดเวลา
ในการกำหนดเวลาให้ช้าหรือเร็ว กำหนดได้ที่ในรายละเอียดที่ Interval หรือจะเขียนเป็นสคริ๊ป Timer ออกมาเลยก็ได้ ดังนี้
-------------------------------------------------------------------------------------------

โค๊ด:
Timer1.Interval = 100

ถ้าระบุจำนวนตัวเลขให้น้อยลง จะทำงานเร็วขึ้น (สคริ๊ปนี้จะนำไปใช้ใน Editor ของ Timer1  ซึ่งปกติไม่ใช้ก็ได้)
--------------------------------------------------------------------------------------------



----------------------------------------------------------------------------------------------------------------
ดับเบิ้ลคลิ๊กที่ Timer และเขียนสคริ๊ปคำสั่งลงไปดังนี้

โค๊ด:
If ProgressBar1.Value <= 100 Then
            ProgressBar1.Value = ProgressBar1.Value + 1
            Timer1.Interval = 50
            If ProgressBar1.Value >= 100 Then
                ProgressBar1.Value = 0
                Timer1.Enabled = False
            End If
        End If

การเริ่มการทำงานและการสิ้นสุดการทำงานของ Progressbar ถูกกำหนด ด้วยเงื่อนไขที่ว่า...
If ProgressBar1.Value <= 100 Then หมายถึง ถ้าการแสดงผลของ Progressbar นั้น น้อยกว่า 100
ซึ่งอันที่จริง Progressbar ถูกกำหนดโดยโปรแกรม ไว้ที่ 0 อยู่แล้ว นั่นก็เท่ากับว่า น้อยกว่า 100 จริงๆ
จึงเป็นเหตุให้ Progressbar ทำงานตามสั่ง คือ ProgressBar1.Value = ProgressBar1.Value + 1 หมายถึง
สั่งให้ Progressbar เคลื่อนที่ไปเรื่อยๆ ที่ละ 1 จนกว่าจะครบ 100
การเคลื่อนที่ของ Progressbar จะช้าหรือเร็ว สามารถกำหนดได้ด้วยคำสั่งนี้..Timer1.Interval = 50
+ 1 คือ Progress Step ..ถ้า + มาก จะวิ่งเร็วขึ้น
--------------------------------
If ProgressBar1.Value >= 100 Then
                ProgressBar1.Value = 0
Timer1.Enabled = False
3คำสั่งนี้หมายถึง ถ้า Progressbar เท่ากับ หรือมากกว่า 100 เมื่อใด ให้ Progressbar กลับไปเป็น 0 ตามเดิม และสั่งให้ Timer หยุดทำงาน
ถ้าต้องการสั่งปิด หน้าต่าง Form ด้วย บันทัดต่อไปให้ใส่คำสั่ง End

โค๊ด:
If ProgressBar1.Value <= 100 Then
            ProgressBar1.Value = ProgressBar1.Value + 1
            Timer1.Interval = 50
            If ProgressBar1.Value >= 100 Then
                ProgressBar1.Value = 0
                Timer1.Enabled = False
                End
            End If
        End If

sak2005

13 สิงหาคม พ.ศ. 2552, 1.55 น.
4.ทดสอบผลงาน ถ้าเขียนสคริ๊ปคำสั่งได้ถูกต้อง และไม่มี Error ..Progressbar ก็จะทำงานได้ ดังรูป
5.บันทึกผลงาน เก็บไว้ทำต่อ หรือแก้ไขในคราวต่อไป จะได้ไม่ต้องสร้างขึ้นมาใหม่อีก

sak2005

13 สิงหาคม พ.ศ. 2552, 2.15 น.
6.Build ผลงานออกเป็นโปรแกรม (Application) สกุล .exe และไฟล์ Project สกุลต่างๆ
---------------------------------
คลิ๊กที่ Start Page
ที่ Crate: ..คลิ๊กที่ Project... จะมี Dialog Popup ผุดขึ้นมา ให้คลิ๊กที่ Save
คลิ๊ก Browse และเลือกวางผลงานที่ Desktop ..คลิ๊ก Save

sak2005

13 สิงหาคม พ.ศ. 2552, 2.23 น.
แบบฝึกหัดที่2 หัดเขียนคำสั่งเกี่ยวกับ การจัดการ.. File และ Folder
----------------------------------------------------------------------
ใน Script Editor ของ VB.Net นั้น ถ้าเราใช้และสังเกตุให้ดี จะพบว่า ประกอบไปด้วย Script in หรือ สคริ๊ปตัวช่วยเขียน
ผุดขึ้นมาเป็นระยะ ระหว่างที่กำลังเขียนสคริ๊ปคำสั่งอยู่  สคริ๊ปคำสั่งที่เขียนต่อกัน มักถูกคั้นไว้ด้วยเครื่องหมาย  . จุด หรือ dot
และที่ต่อจากสคริ๊ปคำสั่ง จะเป็นรูปแบบสคริ๊ปที่ถูกสั่งให้ทำงาน มักจะประกอบไปด้วยเครื่องหมาย (" " , '' ") และ Parameter ต่างๆ เป็นต้น
ถ้าคลิ๊กขวา ก็จะสามารถใช้สคริ๊ป Snippet ซึ่งเก็บรวบรวม สคริ๊ปคำสั่งสำเร็จรูป ไว้ให้ท่านเลือกใช้มากมาย ไม่ต้องคอยเขียนเองทั้งหมด
..ท่านจะเห็นภาพจินตนาการได้ชัดเจนยิ่งขึ้น เมื่อท่านได้ฝึกฝนทำแบบฝึกหัด ดังต่อไปนี้..
---------------------------------------------------------------------------------------------------------------------
1.คำสั่ง: สร้างโฟลเดอร์ใหม่ (Create New Folder)
 
โค๊ด:
My.Computer.FileSystem.CreateDirectory("C:\Documents and Settings\Administrator\Desktop\New Folder1")
ความหมาย: สร้างโฟลเดอร์ใหม่ ชื่อ New Folder1 และวางไว้บนหน้าจอ
------------------------------------------------------------------------------------------------
2.คำสั่ง: ก๊อบปี้โฟลเดอร์ (Copy Folder)
โค๊ด:
My.Computer.FileSystem.CopyDirectory("C:\Documents and Settings\Administrator\My Documents\My Pictures", "C:\Documents and Settings\Administrator\Desktop\My Pictures", True)
ความหมาย: ก๊อบปี้ข้อมูลทั้งหมด ที่อยู่ในโฟลดเอร์ ชื่อ My Pictures มาไว้ในโฟลเดอร์ใหม่ชื่อ My Pictures
              ถ้ามีข้อมูลที่ซ้ำกัน ให้เขียนทับของเดิมที่มีอยู่ (ใช้คำสั่ง True)  (ถ้าไม่ต้องการเขียนทับ ให้ใช้คำสั่ง False)
              และวางโฟลเดอร์ไว้บนเดสก์ทอป
------------------------------------------------------------------------------------------------------------------------
3.คำสั่ง: รันไฟล์ (Run , Open) หรือ เปิดหรือรัน โปรแกรมต่างๆที่มีอยู่ในระบบ และอื่นๆ
โค๊ด:
Shell("Notepad.exe", AppWinStyle.NormalNoFocus, False, -1)
ความหมาย: สั่งเปิดโปรแกรม Notepad
-------------------------------------------------------------------------
โค๊ด:
Shell("C:\Documents and Settings\Administrator\Desktop\winamp512_full.exe", AppWinStyle.NormalNoFocus, False, -1)
ความหมาย: สั่งรันโปรแกรม Winamp_Setup.exe ที่วางอยู่บนเดสก์ทอป
----------------------------------------------------------------------------
โค๊ด:
Process.Start("C:\Documents and Settings\Administrator\Desktop\winamp512_full")
ความหมาย: สั่งรันโปรแกรม Winamp_Setup.exe ที่วางอยู่บนเดสก์ทอป
---------------------------------------------------------------------------

abc_man

13 สิงหาคม พ.ศ. 2552, 10.36 น.
ขอบคุนมากคับท่าน Sak2005
ลบกวนคุนหน่อยครับ
ผมอยากรู้โค้ดของกานหลี้นเพงใน VB 6.0 ครับ

ตัวย่าง เวลาเราคลิก Button แล้วให้มีเสียงเพงครับ

ขอบคุนล่วงหน้านะครับ

sak2005

13 สิงหาคม พ.ศ. 2552, 21.56 น.
ขอบคุนมากคับท่าน Sak2005
ลบกวนคุนหน่อยครับ
ผมอยากรู้โค้ดของกานหลี้นเพงใน VB 6.0 ครับ

ตัวย่าง เวลาเราคลิก Button แล้วให้มีเสียงเพงครับ

ขอบคุนล่วงหน้านะครับ

วันหลังจะกลับมาตอบให้ครับ ..เครื่องไม่ได้ลง VB.6 ไว้

sak2005

13 สิงหาคม พ.ศ. 2552, 21.58 น.
แบบฝึกหัดที่3
Dialog Popup Message เป็นหน้าต่างโปรแกรมที่ผุดขึ้นมาให้ใช้งาน เมื่อเราสั่งรัน อยู่หลายประเภท ดังนี้
-----------------------------------------------------
1.MessageBox (msgbox) มี2แบบคือ แบบมีเงื่อนไข และ ไม่มีเงื่อนไข
แบบแรก: มีเงื่อนไข ..ต้องใช้ตัวแปรร่วมด้วย การเขียนสคริ๊ปบน Editor ก็ต้องประกาศตัวแปรด้วยทุกครั้ง เมื่อใช้ตัวแปรนั้นๆ
ไม่งั้นสคริ๊ปที่เขียน จะไม่ทำงาน หรือ ตัวแปรไม่ทำงานนั่นเอง ถ้าสคริ๊ปที่เขียนไม่ได้ใช้ตัวแปร ก็ไม่จำเป็นตัวประกาศตัวแปร
..ประกาศตัวแปร โดยใช้คำสั่ง Dim  Stringตัวแปร As Integer..ดังนี้

 
โค๊ด:
Public Class Form1
    Dim BtnCode As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        BtnCode = MsgBox("ท่านต้องการทดสอบการกดปุ่ม?", 36, "Sample Project1")
        If BtnCode = vbYes Then
            MsgBox("คุณคลิ๊กปุ่ม.. Yes", 0, "")
        Else
            MsgBox("คุณคลิ๊กปุ่ม.. No", 0, "")
        End If

    End Sub
End Class

**ตัวอักษรที่ตั้งขึ้นเป็นตัวแปร คือ BtnCode**
----------------------------------------
อันนี้เป็นโค๊ดที่เขียนถูกต้องตามต้นฉบับ

 
โค๊ด:
Dim BtnCode As MsgBoxResult
        BtnCode = MsgBox("คุณต้องการทดสอบกดปุ่ม?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Test MessageBox")
        If BtnCode = MsgBoxResult.Yes Then
            MsgBox("คุณคลิ๊ก..Yes", MsgBoxStyle.Information, "")
        Else
            MsgBox("คุณคลิ๊ก..No", MsgBoxStyle.Information, "")
        End If
----------------------------------------


โค๊ด:
Public Class Form1
    Dim BtnCode As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        BtnCode = MsgBox("ท่านต้องการทดสอบการกดปุ่ม?", 35, "Sample Project1")
        Select Case BtnCode
            Case vbYes
                MsgBox("คุณคลิ๊กปุ่ม.. Yes", 0, "")
            Case vbNo
                MsgBox("คุณคลิ๊กปุ่ม.. No", 0, "")
            Case vbCancel
                MsgBox("คุณคลิ๊กปุ่ม.. Cancel", 0, "")
        End Select
    End Sub
End Class


-------------------------------------------------------------------------
แบบที่สอง: ไม่มีเงื่อนไข ..มักจะมีปุ่มให้ใช้แค่ปุ่มเดียว ดังนี้

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("ระวัง! พบข้อผิดพลาด ตรวจสอบอีกครั้ง ", 48, "")
    End Sub
End Class



โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("ระบบทำงานล้มเหลว!?!", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "")
    End Sub
End Class

abc_man

14 สิงหาคม พ.ศ. 2552, 7.03 น.
ขอบคุนมากคับท่าน Sak2005
ลบกวนคุนหน่อยครับ
ผมอยากรู้โค้ดของกานหลี้นเพงใน VB 6.0 ครับ

ตัวย่าง เวลาเราคลิก Button แล้วให้มีเสียงเพงครับ

ขอบคุนล่วงหน้านะครับ

วันหลังจะกลับมาตอบให้ครับ ..เครื่องไม่ได้ลง VB.6 ไว้

จะค่อยติดตามนะครับ ถ้าเป็นย่างไงบอก Code ด้วยนะครับ
ขอบคุนอีกที

sak2005

15 สิงหาคม พ.ศ. 2552, 14.10 น.
โปรแกรมดูหนัง ฟังเพลง สร้างจาก VB6 ตามคำขอครับ พร้อม Source code
Download: Multimedia Project
Size:1.4 MB
http://upload.one2car.com/download.aspx?pku=231F7D0A7315SEOLEN15XMYBA[D63R



โค๊ด:
Private Sub Form_Load()

End Sub
_______________________________________________________
Private Sub wmpRun_OpenStateChange(ByVal NewState As Long)

End Sub
_______________________________________________________
Private Sub txtURL_Change()

End Sub
_______________________________________________________
Private Sub cmdOpenFile_Click()
cdlFile.ShowOpen
cdlFile.Filter = "MP3 File (*.mp3 : *.dat ) | *.mp3; *.dat | All File (*.*) | *.*"
txtURL.Text = cdlFile.FileName
End Sub
________________________________________________________
Private Sub Command1_Click()
wmpRun.URL = txtURL.Text
End Sub
________________________________________________________

hohomona

15 สิงหาคม พ.ศ. 2552, 21.19 น.
สุด ยอด จริงๆ ครับ ท่าน sak2005

อิอิ

sak2005

17 สิงหาคม พ.ศ. 2552, 10.49 น.
OpenFileDialog เป็นคำสั่ง นำเข้าไฟล์ หรือ browse เพื่อเลือกไฟล์ที่ต้องการใช้งาน และใช้งานไฟล์ที่เลือก(สั่งเปิดหรือรันไฟล์)





โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.InitialDirectory = "C:\Documents and Settings\Administrator\Desktop"
        OpenFileDialog1.Title = "Select a file to Open:"
        OpenFileDialog1.Filter = "Program File(*.exe;*.msi)|*.exe;*.msi|All Files(*.*)|*.*"
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Shell(TextBox1.Text, AppWinStyle.NormalFocus)
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

    End Sub
End Class

sak2005

19 สิงหาคม พ.ศ. 2552, 4.43 น.
AutoInstaller&SilentMode ใช้สำหรับติดตั้งโปรแกรมแบบอัตโนมัติ
ผมออกแบบเอง ทำอยู่หลายวันเหมือนกันกว่าจะเสร็จ ยากตรงเขียนสคริ๊ปคำสั่งนี่แหละ ลองนำไปศึกษากันดูครับ
Download:Sample Project9
Size:3.4 MB
http://upload.one2car.com/download.aspx?pku=2C6FAB2E52JGBLKNGPWRE[8QBIH5WQ



โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button2.Enabled = True
        Button3.Enabled = True
        OpenFileDialog1.InitialDirectory = "C:\Documents and Settings\Administrator\Desktop"
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = "Program Files (*.exe;*.msi)|*.exe;*.msi|All Files (*.*)|*.*"
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim Proc As Process
        TextBox1.Text = TextBox1.Text
        Proc = Process.Start(TextBox1.Text, TextBox2.Text)
        Proc.WaitForExit()
        MsgBox("ติดตั้งเรียบร้อย.", MsgBoxStyle.OkOnly + MsgBoxStyle.ApplicationModal, "")
    End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Shell("C:\Documents and Settings\Administrator\Desktop\AutoInstallerVB.NET_Project9\ProjectHit\Plugin\USSF1", _
              AppWinStyle.NormalFocus)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button2.Enabled = False
        Button3.Enabled = False
    End Sub
End Class
-------------------------------------------------------------------------
อันนี้ปรับปรุงมาให้ใหม่ มี Switch parameter ให้เลือกใช้ในตัว


--------------------------------------------------
ส่วนประกอบโปรแกรม มีอยู่ด้วยกัน 6 ส่วน แต่ละส่วน ต้องเขียนสคริปกำกับไว้ ดังนี้
1.Form

โค๊ด:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Button2.Enabled = False
        TextBox2.Enabled = False
        ComboBox1.Enabled = False
    End Sub
--------------------------------------------------------------------
2.TextBox1 หรือ Source

ไม่ต้องเขียนสคริ๊ปกำกับ
--------------------------------------------------------------------
3.Button1 หรือ Browse

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      
        OpenFileDialog1.InitialDirectory = "C:\Documents and Settings\Administrator\Desktop"
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = "Program Files (*.exe;*.msi)|*.exe;*.msi|All Files (*.*)|*.*"
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
        ComboBox1.Enabled = True
        TextBox2.Enabled = True
    End Sub
------------------------------------------------------------------------------------------
4.TextBox2 หรือ Parameter

ไม่ต้องเขียนสคริ๊ปกำกับ
-----------------------------------------------
5.ComboBox1 หรือ Switches ..ต้องนำเข้า Switches Parameter ที่ต้องใช้ เข้าไปในลิสท์รายการ ดังรูป
   เลือกคลิ๊กที่ Edit Items ..นำเข้า Switches Parameter ..คลิ๊ก OK





 
โค๊ด:
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        TextBox2.Text = ComboBox1.Text
        Button2.Enabled = True
    End Sub
------------------------------------------------------------
6.Button2 หรือ Install

โค๊ด:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim Proc As Process
        TextBox1.Text = TextBox1.Text
        Proc = Process.Start(TextBox1.Text, TextBox2.Text)
        Proc.WaitForExit()
        MsgBox("ติดตั้งเรียบร้อย.", MsgBoxStyle.OkOnly + MsgBoxStyle.ApplicationModal, "")
        End
    End Sub

sak2005

19 สิงหาคม พ.ศ. 2552, 11.32 น.
ตอบปัญหาคาใจ มีคนถามมาว่า TextBox และ InputBox ต่างกันอย่างไร?
และเมื่อพิมพ์ข้อความลงไปแล้ว จะส่งออกผลของข้อความนั้นได้อย่างไร?
----------------------------------------------------------------
ตอบ: TextBox หมายถึง กล่องที่มีช่องให้กรอกข้อความโต้ตอบลงไป
เป็นเครื่องมือที่ช่วยอำนวยความสดวกในการเขียนโปรแกรม
เป็นกราพฟิกซ์สำเร็จรูป มองเห็นได้ ใช้งานได้ทันที ไม่ต้องเสียเวลาเขียนเป็นสคริ๊ป
InputBox เป็น Dialog Popup หมายถึง หน้าต่างโต้ตอบที่ผุดขึ้นมา เรามองไม่เห็น
ต้องเขียนสคริ๊ปสั่งให้แสดงผล เหมือนกับ MessageBox(MsgBox)
---------------------------------------------------------------
ทดลอง:สร้างปุ่มขึ้นมาบนฟอร์ม1ปุ่ม ..ดับเบิ้ลคลิ๊กที่ปุ่มและเขียนโค๊ดลงไปดังนี้

โค๊ด:
Public Class Form1
    Dim Resp As String
    Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Resp = InputBox("คุณต้องการทดสอบพิมพ์ข้อความ?", "Test InputBox Project", _
"พิมพ์ข้อความที่นี่")
    End Sub
End Class


--------------------------------------------
เตือนความจำ: ทุกครั้งที่เขียนโค๊ดที่มีการสร้าง'เงื่อนไข'ขึ้นมา ต้องประกาศตัวแปรด้วยเสมอ (Dim ... As ...)

sak2005

19 สิงหาคม พ.ศ. 2552, 12.30 น.
ต่อไปเป็นการทำให้ ข้อความที่เรากรอกลงไปในช่อง มีผลโต้ตอบออกมา ด้วยการเขียนสคริ๊ปเพิ่มเติมลงไปดังนี้
---------------------------------------------------
วาง Label ,TextBox และ Button ลงบน Form ตามรูปเลยครับ


---------------------------------------------------
ดับเบิ้ลคลิ๊กที่ปุ่ม แล้วเขียนโค๊ดลงไปดังนี้ ..เสร็จแล้วกดปุ่ม F5 ที่คีย์บอร์ด ทดสอบดูครับ

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = TextBox1.Text
        MsgBox("ชื่อของท่านคือ:" & TextBox1.Text, MsgBoxStyle.DefaultButton1, _
"Answer")
    End Sub
--------------------------------------------------------------------------
อันนี้เป็นโค๊ด ทดสอบการใช้งาน InputBox

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Dim fname
        fname = InputBox("กรุณากรอกชื่อลงในช่อง")
        MsgBox("ชื่อของคุณคือ " & fname)
    End Sub
End Class

sak2005

23 สิงหาคม พ.ศ. 2552, 0.09 น.
ตัวอย่างการเขียนสคริ๊ปที่มีเงื่อนไขตัวแปร , การประกาศตัวแปร
ให้ท่านสร้างปุ่มบนฟอร์ม1ปุ่ม ..ดับเบิ้ลคลิ๊กที่ปุ่ม และเขียนโค๊ดลงไปดังนี้ ..เสร็จแล้วกด F5 ทดสอบดูครับ

โค๊ด:
Public Class Form1

    Private Sub Label1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Label1.Click

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
        Dim StrName As String
        StrName = InputBox("กรอกชื่อสกุล", "Name", "", -1, -1)
        Dim StrPhone As String
        StrPhone = InputBox("กรอกเบอร์โทรศัพท์", "Phone", "", -1, -1)
        Dim StrDis As String
        StrDis = InputBox("กรอกข้อความรายละเอียด", "Dis", "", -1, -1)
        MsgBox("Name:" & StrName & vbCrLf & "Phone:" & _
StrPhone & vbCrLf & "Dis:" & StrDis, MsgBoxStyle.OkOnly, "Record")
    End Sub
End Class
-------------------------------------------------------------------
ข้อสังเกตุ: จะเห็นได้ว่า ใช้เงื่อนไขตัวแปรตรงไหน ก็ประกาศตัวแปรตรงนั้น
ในโค๊ดนี้มี3เงื่อนไขตัวแปร คือ StrName , StrPhone และ StrDis

sak2005

25 สิงหาคม พ.ศ. 2552, 22.28 น.
เลือกติดตั้งโปรแกรมต่างๆ แบบอัตโนมัติ ด้วยคอนโทรล RadioButton
-----------------------------------------------------------
มีนักศึกษาไถ่ถามกันมา มากมายว่า อยากทำโปรแกรมแบบเลือกติดตั้งเองด้วยVB.NET
ให้อาจารย์ช่วยทำ Project เป็นตัวอย่างให้หน่อย จะได้นำไปประยุกต์ใช้งาน
ฉนั้นก็จัดให้เลยครับตามคำขอ ดังรูป
Download:Sample Project11
Size:10.9 MB
http://upload.one2car.com/download.aspx?pku=3A67F52BB0JLUA22NBV79ZCQLYXZVU



โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then
            Dim Proc As Process
            Proc = Process.Start("ezb5_en.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If

        If RadioButton2.Checked = True Then
            Dim Proc As Process
            Proc = Process.Start("uiso8_pe.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If

        If RadioButton3.Checked = True Then
            Dim Proc As Process
            Proc = Process.Start("winamp512_full.exe", "/S")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If
    End Sub
End Class

sak2005

26 สิงหาคม พ.ศ. 2552, 12.47 น.
ตัวอย่างการใช้งานคอนโทรล CheckBox
--------------------------------------
ออกแบบมาให้ใช้ติดตั้งโปรแกรมอัตโนมัติ เลือกติดตั้งทีละโปรแกรม หรือ
เลือกติดตั้งคราวเดียวทั้งหมดเลยก็ได้ ต้องการติดตั้งโปรแกรมไหน? ก็ใส่เครื่องหมายถูกลงไป
Download:http://upload.one2car.com/download.aspx?pku=3CBBFFA5B18YU6F[TS2YNQ1TGPLR9G



โค๊ด:
Public Class Form1

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If CheckBox1.Checked Then
            Dim Proc As Process
            Proc = Process.Start("ezb5_en.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If

        If CheckBox2.Checked Then
            Dim Proc As Process
            Proc = Process.Start("uiso8_pe.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If

        If CheckBox3.Checked Then
            Dim Proc As Process
            Proc = Process.Start("winamp512_full.exe", "/S")
            Proc.WaitForExit()
            MsgBox("Completed.", MsgBoxStyle.DefaultButton1, "")
        End If
    End Sub
End Class

sak2005

26 สิงหาคม พ.ศ. 2552, 14.51 น.
ตัวอย่างการใช้งานคอนโทรล ListBox
Download:http://upload.one2car.com/download.aspx?pku=3CBBFFDE9C1DERRKUQ8OFRUG8ZPMXK



โค๊ด:
Public Class Form1

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
        Select Case ListBox1.SelectedIndex
            Case 0 'ปวดหัว
                Label2.Text = "บีบนวด เส้นเอ็นหรือกล้ามเนื้อ บริเวณท้ายทอย"
            Case 2 'ปวดฟัน
                Label2.Text = "แปรงฟันด้วย ยาสีฟันตราดอกบัวคู่ เป็นประจำ"
            Case 4 'ไอ
                Label2.Text = "ทานช็อกโกแล็ตเป็นประจำ จะทำให้การไอทุเลาลง"
            Case 6 'ปวดใจ
                Label2.Text = "ให้คิดว่า บุรุษ หรือ สตรี ไม่ได้มีอยู่คนเดียวในโลก " & vbCrLf & vbCrLf & "ยังมีคนที่ดีกว่าให้เลือกอีกเยอะ"
        End Select
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

    End Sub
End Class

sak2005

26 สิงหาคม พ.ศ. 2552, 15.17 น.
อันนี้เป็นอีกตัวอย่างหนึ่ง สำหรับคอนโทรล ListBox ..มีปุ่มสำหรับติดตั้งโปรแกรม นำแนวคิดไปประยุกต์ใช้งานได้ครับ



โค๊ด:
Public Class Form1

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Text = ListBox1.Text
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If ListBox1.SelectedIndex = 0 Then
            Dim Proc As Process
            Proc = Process.Start("ezb5_en.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("ติดตั้งเรียบร้อย.", MsgBoxStyle.DefaultButton1, "")
        End If
        If ListBox1.SelectedIndex = 1 Then
            Dim Proc As Process
            Proc = Process.Start("uiso8_pe.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")
            Proc.WaitForExit()
            MsgBox("ติดตั้งเรียบร้อย.", MsgBoxStyle.DefaultButton1, "")
        End If
        If ListBox1.SelectedIndex = 2 Then
            Dim Proc As Process
            Proc = Process.Start("winamp512_full.exe", "/S")
            Proc.WaitForExit()
            MsgBox("ติดตั้งเรียบร้อย.", MsgBoxStyle.DefaultButton1, "")
        End If
    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        Me.Close()
    End Sub

    Private Sub ToolTip1_Popup(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles ToolTip1.Popup

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolTip1.SetToolTip(Button1, "ติดตั้งอัตโนมัติ")
        ToolTip1.SetToolTip(Label1, "ปิดโปรแกรม")
        ToolTip1.SetToolTip(ListBox1, "เลือกติดตั้ง")
        ToolTip1.SetToolTip(TextBox1, "ชื่อโปรแกรม[i][/i][สำหรับอ่านเท่านั้น]")

    End Sub
End Class

sak2005

27 สิงหาคม พ.ศ. 2552, 23.05 น.
ข้อควรรู้: Properties ที่ใช้ปรับแต่ง Form และ Object (ที่ใช้งานบ่อย)
-------------------------------------------------------------------
เมื่อเริ่มต้นการใช้งานโปรแกรม VB.NET ..โปรแกรมจะกำหนด Properties เป็นค่า Default มาให้
ซึ่งหมายถึง ทำให้เกิดความยืดหยุ่นในระหว่างใช้งาน เช่น ปรับขนาด,เปลี่ยนสไตล์ และเติมแต่งสีสัน เป็นต้น
แต่ถ้าเมื่อถึงขั้นตอนสุดท้าย ซึ่งหมายถึง ก่อนการคอมไพล์ หรือ Build งาน (ทำออกมาเป็นโปรแกรม)
เราจะต้องปรับแต่ง Properties อีกครั้งหนึ่ง เพื่อให้ได้งานออกมาเป็นมาตรฐาน มีข้อบกพร่องน้อยที่สุด..ดังนี้
----------------------------------------------------------------------------------------
Form Properties:
1.ล๊อคขนาดของหน้าต่างฟอร์มให้คงที่
   AutoSizeMode ..ปกติ เป็น Growonly ให้เปลี่ยนเป็น GrowAndShrink
   MaximizeBox ..ปกติ เป็น True ให้เปลี่ยนเป็น False
2.เปลี่ยนสีพื้นฉากหลังของหน้าต่างฟอร์ม
   BackColor ..มีสีให้เลือกปรับแต่งตามชอบ 3 Option คือ Custom,Web และ System
3.ใส่รูปภาพเป็นพื้นฉากหลังของหน้าต่างฟอร์ม
   BackgroundImage ..นำเข้ารูปภาพ
   BackgroundImageLayout ..ปรับเลเยอร์รูปภาพ
4.ระบุตำแหน่งบนหน้าจอ..ที่ให้โปรแกรมปรากฏ
   StartPosition ..ให้เลือกเป็น CenterScreen
---------------------------------------------------
Object Properties:
Properties: Button

1.Text  ..ตั้งหรือเปลี่ยนชื่อ ที่ปรากฏบนปุ่ม
2.Font  ..ปรับแต่ง ขนาดตัวอักษร และภาษา ไทย-อังกฤษ และตัวอักษร หนา-บาง
3.ForeColor  ..เปลี่ยนสีตัวอักษร
4.BackColor  ..ใส่สีให้กับปุ่ม
5.Cursor ..ปกติ เป็น Default เปลี่ยนเป็น Hand
------------------------------------------------
Properties: Label

1.Cursor ..ปกติ เป็น Default เปลี่ยนเป็น Hand
2.Font  ..ปรับแต่ง ขนาดตัวอักษร และภาษา ไทย-อังกฤษ
3.ForeColor  ..เปลี่ยนสีตัวอักษร
------------------------------------------------
Properties: TextBox           (ลงรายละเอียดให้คราวหน้า)
Properties: ComboBox
Properties: ListBox
-----------------------------------------------------
ToolTip เป็นการแสดงข้อความรายละเอียดเพิ่มเติม[BalloonTip] เมื่อเรานำตัวชี้เม๊าท์หรือ Cursor มาวางไว้บนคอนโทรล Object นั้นๆ
Properties: ToolTip
1.AutomaticDelay ..ปกติตั้งไว้ที่500 หรือปรับเองตามชอบ
2.IsBalloon ..เปลี่ยนสไตล์บอลลูน
การใช้งาน: ToolTip
เมื่อติดตั้งToolTipแล้ว ให้ดับเบิ้ลคลิ๊กที่ Form และเขียนโค๊ดลงไป ตามตัวอย่าง ดังนี้
ToolTip1.SetToolTip(Button1, "ติดตั้งอัตโนมัติ")
ToolTip1.SetToolTip(Label1, "ปิดโปรแกรม")
ToolTip1.SetToolTip(ListBox1, "เลือกติดตั้ง")
ToolTip1.SetToolTip(TextBox1, "ชื่อโปรแกรม[สำหรับอ่านเท่านั้น]")
คำอธิบาย:
ToolTip1.SetToolTip หมายถึง คำสั่งแสดงบอลลูนทิป
(Button1, "ติดตั้งอัตโนมัติ") หมายถึง แสดงข้อความที่อยู่ในเครื่องหมายคำพูด เมื่อเม๊าท์ชี้อยู่บน (Name) Button1
-------------------------------------------------------------------------------------------
ความรู้เรื่อง: การควบคุมทิศทางการทำงานของโปรแกรมด้วยคำสั่งต่างๆ พอสรุปได้เป็น2แนวทางง่ายๆดังนี้
1.ควบคุมการทำงานของโปรแกรม ด้วยการสร้างเงื่อนไข, ตัวแปร และ ตัวเลือก
2.คำสั่งControl Loop และ Timer
-----------------------------------------------------------
Snippet Code: และการใช้งาน
--------------------------------------
การใช้งาน:ตัวช่วยเหลือ หรือ Help Support
------------------------------------------------------
Tips1: เกี่ยวกับคำสั่ง Visible และ Enable = True หรือ False

Visible   หมายถึง Object ปรากฏอยู่หรือไม่?
Enable   หมายถึง Object กระทำอยู่หรือไม่?
True     หมายถึง เป็นจริง
False    หมายถึง เป็นเท็จ
------------------------------
ตัวอย่าง:โค๊ดและความหมาย
Button1.Visible = True  หมายถึง ปุ่มButton1 ยังปรากฏให้เห็นอยู่
Button1.Visible = False  หมายถึง ปุ่มButton1 ถูกปิดบังไว้มองไม่เห็น
--------------------------------------------------------------------------
Button1.Enable = True  หมายถึง ปุ่มButton1 ยังคงใช้งานได้ปกติ
Button1.Enable = False  หมายถึง ปุ่มButton1 ถูกระงับการใช้งานไว้
-------------------------------------------------------------------------
Tips2: เกี่ยวกับ การใช้ properties Object
การเข้าไปปรับแต่งใน Properties ถ้าท่านสังเกตุให้ดี เขาได้จัดแบ่งหมวดหมู่ในการปรับแต่งไว้ให้แล้ว
ถ้าใครแบ่งหมวดหมู่ใน propertie ยังไม่เป็น ก็จะเข้าไปปรับแต่งไม่ค่อยถูก หรือปรับมั่วไปหมด
ไม่รู้อันไหน หมายถึงอะไร? และไม่จำเป็นต้องปรับแต่งทั้งหมด
เลือกปรับแต่งเฉพาะที่ต้องการใช้งานเท่านั้น ..ดูตามภาพและคำอธิบายเลยครับ จะได้เข้าใจดียิ่งขึ้น
..ขอยกตัวอย่างเป็น Properties ของ Button1 ที่สร้างขึ้นทดสอบการปรับแต่ง Properties..
------------------------------------------------------------------------


หมวดที่1 เกี่ยวกับปุ่มโดยตรง เช่น. (Name) เป็นชื่อจริงของปุ่ม ที่ใช้ในสคริ๊ปคำสั่ง เป็นต้น.และอื่นๆ
--------------------------------------------------------------------------------------


หมวดที่9 Text คือชื่อเล่นของปุ่ม จะตั้งชื่ออะไร? ก็ได้ ไม่มีผลต่อสคริ๊ปคำสั่ง
ส่วนหมวดอื่นๆ ทดลองปรับแต่ง เพื่อหาความรู้เพิ่มเติมกันเองนะครับ

sak2005

22 กันยายน พ.ศ. 2552, 10.02 น.
Scripting Update บริเวณนี้ผมตั้งใจจะนำ สคริ๊ปโค๊ดคำสั่ง ที่ต้องใช้บ่อย หรือจำเป็นต้องใช้ มาเก็บรวบรวมไว้ที่นี่
เพระบางคราวเราจะใช้สคริ๊ปคำสั่ง สั่งให้ Objectทำอะไร?บางอย่าง ..แต่เราไม่รู้ และต้องเสียเวลาค้นหา
ตั้งแต่เปลี่ยนจาก VB6 เป็น VB.NET ..รูปแบบสคริ๊ปโค๊ดคำสั่งต่างๆก็เปลี่ยนไปค่อนข้างมาก
..แต่เปลี่ยนไปในทางที่ดีขึ้น ..แต่เราก็ต้องศึกษาค้นคว้าเพิ่มเติม ถึงจะเขียนสคริ๊ปได้อย่างคล่องตัว
---------------------------------------------------------------------------------------------
NameSpace Threading
คำสั่ง Sleep ใช้สำหรับหน่วงเวลาการทำงานของ Object ด้วยการกำหนดตัวเลขระยะเวลา
รูปแบบThreading.Thread.Sleep(millisecondsTimeout As Integer)



โค๊ด:
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
     ByVal e As System.EventArgs) Handles Button1.Click
       
        PgB1.Minimum = 1
        PgB1.Maximum = 100
        PgB1.Step = 1
        PgB1.Value = 1
       
        Dim x As Integer
        For x = 1 To 100 Step 1
            If PgB1.Value < 100 Then
                PgB1.Value += 1
                Threading.Thread.Sleep(50)
            End If
        Next x
        If PgB1.Value >= 100 Then
            MsgBox("Completed.", MsgBoxStyle.Information, "")
            PgB1.Value = 1
        End If
    End Sub
   
    Private Sub PgB1_Click(ByVal sender As System.Object, _
     ByVal e As System.EventArgs) Handles PgB1.Click
    End Sub
End Class
----------------------------------------------------------
Project Download:http://upload.one2car.com/download.aspx?pku=3371C60907UVTKPUDMF9OEER[9CRW1

sak2005

24 กันยายน พ.ศ. 2552, 9.05 น.
คำสั่ง: ยกเลิกการใช้งาน หรือปิดโปรแกรมต่างๆ
โค๊ด:
Close()
โค๊ด:
Me.Close
โค๊ด:
Application.Exit()
------------------------------------
คำสั่ง:แสดง Message "ข้อความ หรือ รายละเอียด" อย่างง่าย
โค๊ด:
MessageBox.Show("ยินดีต้อนรับ")
<Tip:ประยุกต์ใช้งาน> นำโค๊ดนี้ไปเขียนกำกับไว้ใน Object เช่น ฟอร์ม(Event Shown) , ปุ่ม หรือตัวอักษรลิ๊งค์

sak2005

24 กันยายน พ.ศ. 2552, 12.02 น.
การใช้งาน:KeyStorke ใน VB.NET
ตัวอย่าง:เป็นการส่งคีย์ เพื่อสั่งติดตั้งโปรแกรม EasyBoot แบบอัตโนมัติ

โค๊ด:
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Shell("ezb5_en.exe")
        Threading.Thread.Sleep(2000)
        AppActivate("Setup - EasyBoot")
        SendKeys.SendWait("{ENTER}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{TAB}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{UP}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{ENTER}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{ENTER}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{ENTER}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{ENTER}")
        Threading.Thread.Sleep(2000)
        SendKeys.SendWait("{ENTER}")
    End Sub
End Class
 

sak2005

26 กันยายน พ.ศ. 2552, 21.56 น.
ตัวอย่างการส่งคีย์เพื่อลงทะเบียนโปรแกรม
เพื่อหลีกเลี่ยงการละเมิดลิขสิทธ์ จึงจำลองโปรแกรมขึ้นมา ให้ทดสอบ แล้วนำไปศึกษาค้นคว้ากันเอง ดังรูป
Download:http://upload.one2car.com/download.aspx?pku=3CC1F71ED0Q6W8KNP9MPHT62[V9NBH



โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
     ByVal e As System.EventArgs) Handles Button1.Click
        AppActivate("Test Activate")
        Threading.Thread.Sleep(1000)
        SendKeys.SendWait("1A2B3C-4D5E6F-I7J8K-9L0M1N-2O3P4Q5R-6S7T8U")
    End Sub
End Class

jpoo267

27 กันยายน พ.ศ. 2552, 18.57 น.
ขอบคุณมากค่ะ

sak2005

28 กันยายน พ.ศ. 2552, 10.45 น.
ความรู้เพิ่มเติมเกี่ยวกับคำสั่ง Control Loop แบบต่างๆ เช่น Do Loop , While Loop และ For Loop โดยไม่ต้องใช้ Timer ช่วย
ลองดาวน์โหลด Sample Project ไปศึกษากันดูนะครับ
Size:134.2 KB
Download:http://upload.one2car.com/download.aspx?pku=416A0CEA2B2VNKKLMY3BT6OEDCIW78

sak2005

28 กันยายน พ.ศ. 2552, 12.41 น.
ความรู้เกี่ยวกับ ProgressBar Percentage
เป็นการประยุกต์ใช้งานไฟล์สคริ๊ป Control Properties สร้าง Fontตัวเลข % ขึ้นมาบน progressbar ดังรูป
Download Project:http://upload.one2car.com/download.aspx?pku=416A0D38A52[SZU5FVGCJJO9BC6Y1F

sak2005

4 ตุลาคม พ.ศ. 2552, 22.51 น.
ขยายความเรื่องคำสั่งControl Loop แปลเป็นไทยก็หมายความว่า.. ทำซ้ำๆกันหลายๆครั้งวนไปวนมา
คำสั่ง Loop บางคำสั่ง ก็มีจุดสิ้นการทำงาน เช่น คำสั่ง For Next
และบางคำสั่ง ก็ไม่มีจุดสิ้นสุดการทำงาน ทำไปเรื่อยๆ จนกว่าเราจะสร้างเงื่อนไขให้หยุด
เช่น คำสั่ง While หรือ DO เป็นต้น ..ถ้าเราหัดใช้คำสั่งLoopให้เป็น จะมีประโยชน์อย่างมากในการเขียนโปรแกรม
-----------------------------------------------------------------
การเขียนคำสั่งต่างๆ ให้สามารถทำงานได้นั้น ขั้นแรกเราจะต้องทำความเข้าใจ ในรูปแบบคำสั่งต่างๆเหล่านั้นเสียก่อน
ไม่งั้นก็จะเขียนกันผิดๆ ..เมื่อเขียนผิด ก็จะเกิดข้อผิดพลาด(Error!)ตามมา
หลักการก็ง่ายๆขอให้ท่านจำไว้ ดังนี้
1.ถ้ามีการใช้ 'ตัวแปร' ก็ต้องมีการ 'ประกาศ' ตัวแปร ทุกครั้งให้ถูกต้อง
2.จำรูปแบบคำสั่งต่างๆไว้ให้ได้ว่า.. เขียนอย่างไร? จึงไม่เกิด Error!
3.จัดลำดับคำสั่งที่เขียนให้ถูกต้อง เพราะถ้าจัดวางไว้ผิด แต่เขียนได้ครบถูกต้อง ก็เป็นสาเหตุให้เกิด Error! ได้เช่นกัน

sak2005

5 ตุลาคม พ.ศ. 2552, 9.00 น.
เพื่อความกระจ่างชัด ใน Control Loop แบบต่างๆดังที่กล่าวมา ผมจะอธิบายให้ท่านเข้าใจ ในความหมายของรูปแบบอีกครั้ง
ตัวอย่างแรก: For...Next Statements
รูปแบบ:
โค๊ด:
For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next
-----------------------------------------------------------
คำอธิบาย:
counter คือตัวแปรที่เรากำหนดขึ้น ส่วนมากจะใช้ตัวอักษร i หรือ x หรือตัวอักษรใดๆก็ได้ที่ต้องไม่ตรงกับคำที่สงวนไว้เป็นคำสั่ง
statements คือคำสั่งที่ถูกควบคุมการทำงานโดย Loop
---------------------------------------------------------------------------
ยกตัวอย่างจากการสั่งให้ Progressbar ทำงาน เขียนได้ดังนี้
เริ่มต้นด้วยการประกาศตัวแปร เพราะเราจำเป็นต้องใช้ตัวแปร
Dim x As Interger
รูปแบบการประกาศก็มีให้เลือกประกาศได้หลายแบบ เช่น
For x As Interger = 1 To 100
Dim x As Interger = 0
------------------------------------------------
ต่อไปก็ใส่คำสั่ง statements ลงไป ถ้าเป็น Progressbar เขียนได้ดังนี้
ProgressBar1.Value += 1
ProgressBar1.Value = ProgressBar1.Value + 1
-------------------------------------------------------
ถ้าเป็นตัวแปร ซึ่งเป็นเงื่อนไขใน statements มักจะใช้สัญญลักษณ์ต่างๆเป็นตัวดำเนินการ จะไม่มีการประกาศตัวแปรใดๆ เช่น
=    หมายถึง   เท่ากับ
<       "        น้อยกว่า
>       "        มากกว่า
<=     "        น้อยกว่าเท่ากับ
>=     "        มากกว่าเท่ากับ
-------------------------------------------------------
การใช้งานตัวดำเนินการ ก็ต้องใช้ให้เหมาะสมกับโค๊ดคำสั่งนั้นๆ บางตัวถ้าใส่ไว้ไม่เหมาะสม ก็จะทำให้เกิด Error! ได้



sak2005

5 ตุลาคม พ.ศ. 2552, 10.18 น.
While...End While Statement
รูปแบบ:

โค๊ด:
While condition
    [ statements ]
    [ Exit While ]
    [ statements ]
End While
-----------------------------------------------
คำอธิบาย:
condition   หมายถึง   เป็นคำสั่งที่ให้ statements เริ่มต้นการทำงาน โดยระบุไว้ว่า..ให้ทำไปถึงไหน? แล้ววนกลับมาเริ่มต้นทำใหม่
วนไปวนมาอยู่อย่างนี้ไปเรื่อยๆ เช่น
While < 100   หมายถึง   ถ้า statements น้อยกว่า 100 จริง ให้ทำไปจนครบ 100 และเมื่อครบ 100 แล้วก็ให้วนกลับมาเริ่มต้นทำใหม่ ซ้ำไปซ้ำมาอยู่เรื่อยๆ
---------------------------------------------------
ส่วนคำสั่ง Exit เช่น Exit For , Exit While เป็นคำสั่งที่ต้องการให้ statements
ที่กำลังทำงานอยู่ หยุด หรือ หลุดออกจากการ วน Loop (กระโดด)
---------------------------------------------------
คำแนะนำ: คำสั่งที่เขียนเต็มรูปแบบ ได้ลงไว้ให้ดาวน์โหลดข้างต้นแล้ว ลองนำไปศึกษาเปรียบเทียบดู



sak2005

5 ตุลาคม พ.ศ. 2552, 11.23 น.
เรามาดูกันซิว่า..เมื่อเราใส่คำสั่ง Exit ลงไปใน Statement แล้วจะเกิดอะไร?ขึ้น ดั่งตัวอย่าง
ตัวอย่าง:

 
โค๊ด:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 100
        ProgressBar1.Step = 1
        ProgressBar1.Value = 0
        Dim x As Integer
        For x = 1 To 100
            x += 1
            ProgressBar1.Value += 1
            ProgressBar1.PerformStep()
            Threading.Thread.Sleep(50)
            If x = 50 Then Exit For         '<----คำสั่งที่ใส่เพื่อทดสอบ----<<
            Next x
        If ProgressBar1.Value >= 100 Then
            Threading.Thread.Sleep(500)
            MsgBox("Completed.", MsgBoxStyle.Information, "")
            ProgressBar1.Value = 0
        End If
    End Sub
End Class

-----------------------------------
ผลที่ได้ก็คือ.. progressbar วิ่งมาถึงครึ่งทางแล้วหยุดลง

sak2005

5 ตุลาคม พ.ศ. 2552, 11.39 น.
 ถ้าใส่ตัวดำเนินการ ที่เป็นเครื่องหมาย = และตามด้วยจำนวนตัวเลข% ล่ะ! ..จะเกิดอะไร?
-----------------------------------------------------------------------
 
โค๊ด:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 100
        ProgressBar1.Step = 1
        ProgressBar1.Value = 0
        Dim x As Integer
        For x = 1 To 100
            x += 1
            ProgressBar1.Value += 1
            ProgressBar1.PerformStep()
            Threading.Thread.Sleep(50)
            If x = 50 Then                       
           MsgBox("BarCurrent = 50%", MsgBoxStyle.Information, "")   '<-Message ยืนยันการทำงาน ตามเงื่อนไข-<
            End If
            Next x
        If ProgressBar1.Value >= 100 Then
            Threading.Thread.Sleep(500)
            MsgBox("Completed.", MsgBoxStyle.Information, "")
            ProgressBar1.Value = 0
        End If
    End Sub
End Class
---------------------------------------------------------
ผลที่ได้..progressbar วิ่งมาถึง 50% ก็จะหยุดวิ่งชั่วคราว แล้วมี Message ขึ้นมาบอกเงื่อนไข%
ถ้าเราคลิ๊ก ok ยืนยันเงื่อนไข ..progressbar ก็จะวิ่งต่อไปจนครบ 100%


-----------------------------------------------------------------
อันนี้เป็นการใส่ Counter หรือ Value% ลงบนฟอร์ม ใช้ Timer ควบคุมการทำงาน
Size:64.7 KB
Download:Sample Project
http://upload.one2car.com/download.aspx?pku=17872B285CI8HPINAT7KO9YOH6I6C[



โค๊ด:
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim i As Integer
        If ProgressBar1.Value < 100 Then
            Label1.Text = "Installing.." & ProgressBar1.Value.ToString() & "%"
            ProgressBar1.PerformStep()
            i = i + 1
            If ProgressBar1.Value >= 100 Then
               Timer1.Enabled = False
                MsgBox("Completed.", MsgBoxStyle.Information, "")
                ProgressBar1.Value = 0
                Label1.Text = "Installing..0%"
            End If
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Enabled = False
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Close()
    End Sub

    Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBar1.Click

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class

BBBeAu

9 ตุลาคม พ.ศ. 2552, 10.01 น.
เพิ่งจะเริ่มค่ะกับ VB.net คือว่าจะสร้าง GUI อ่าค่ะ

ยังไงอาจมารบกวนบ่อยหน่อยนะคะ อิอิ

ขอถามตั้งแต่เริ่มเลยว่า Visual studio กะ Visual Basic ไม่เหมือนกันใช่มั้ยค่ะ คือว่าแต่มีแผ่น studio

ขอบคุณค่ะ

sak2005

9 ตุลาคม พ.ศ. 2552, 23.20 น.
เพิ่งจะเริ่มค่ะกับ VB.net คือว่าจะสร้าง GUI อ่าค่ะ
ยังไงอาจมารบกวนบ่อยหน่อยนะคะ อิอิ
ขอถามตั้งแต่เริ่มเลยว่า Visual studio กะ Visual Basic ไม่เหมือนกันใช่มั้ยค่ะ คือว่าแต่มีแผ่น studio
ขอบคุณค่ะ
-------------------------------------------
Visual Basic หรือเขียนย่อๆว่า..VB ..ภาษาVB ได้รับการพัฒนา Upgrage เวอร์ชั่นมาอย่างต่อเนื่อง
จนโปรแกรมมีขนาดใหญ่และสมบูรณ์มากขึ้น เริ่มตั้งแต่ VB6.0 จนกลายเป็น VB.NET
Visual studio หมายถึง VB.NET ที่มีการเก็บรวบรวมข้อมูลต่างที่เป็นประโยชน์ต่อการเขียนและพัฒนาโปรแกรม
มารวมไว้ด้วยกัน จะสังเกตุเห็นได้ว่า โปรแกรมจะมีขนาดความจุใหญ่มาก ใครที่มีคอมพิวเตอร์แรงน้อยๆ คงจะรันลำบาก
รูปแบบสคริ๊ปคำสั่งที่ใช้เขียน ของ VB6.0 กับ VB.NET ก็เปลี่ยนแปลงแตกต่างกันออกไปโดยสิ้นเชิง
ใช้ร่วมกันหรือแทนกันได้เป็นบางคำสั่งเท่านั้น แต่ถ้าใครมีพื้นความรู้จาก VB6.0 มาบ้างแล้ว..VB.NET ก็คงจะศึกษาได้ไม่ยากเย็นอะไร



sak2005

10 ตุลาคม พ.ศ. 2552, 9.40 น.
ความรู้เกี่ยวกับ Timer Component
ลักษณะการทำงานของ Timer ก็คล้ายๆกับการใช้คำสั่ง Loop ..ปกติ Timer จะอยู่ในตำแหน่ง Off ..เมื่อต้องการให้ Timer เริ่มทำงาน(ON)
ก็ใช้คำสั่ง.. Timer.Enable = True ..ตรงกันข้าม เมื่อต้องการให้ Timer หยุด ก็ใช้คำสั่ง.. Timer.Enable = False
Timer สามารถกำหนดอัตราความเร็วด้วยคำสั่ง.. Interval ..ปรับได้ใน Properties ของ Timer ..ซึ่งปกติถูกตั้งไว้ที่ 100
หรือจะเขียนเป็นคำสั่งลงไปก็ได้ เช่น Timer.Interval = 150 เป็นต้น

BBBeAu

10 ตุลาคม พ.ศ. 2552, 13.34 น.
คือว่าตอนนี้ลองทำ Form ขึ้นมา Form นึงอ่าค่ะ...รูปข้างล่างอ่าค่ะ

แล้วถ้าต้องการกดปุ่ม "เลือกรูปแบบ" แล้วให้มันเด้งฟอร์มนึงมาให้กด สมมติเป็น Form2 จะต้องเขียนสคริปยังไงหรอคะ

แล้วสร้าง Form2 ก็ต้องสร้างให้อยู่ใน project เดียวกันหรือป่าวค่ะ

ขอบคุณค่ะ

BBBeAu

10 ตุลาคม พ.ศ. 2552, 13.43 น.
หื้อๆ รูปไม่ขึ้นอ่าค่ะ

อธิบายเป็นคำพูดแล้วกันนะคะว่า...สร้าง Form1

มีปุ่มให้กด 3 ปุ่ม...ปุ่ม 1 อยากให้กด แล้วไปที่ Form2
อ่าค่ะ ต้องเขียนสคริปต์ที่...

buttom 1 ยังไงหรอคะ...

meymee

12 ตุลาคม พ.ศ. 2552, 15.25 น.
Code นี้ใช้กับ VB 2005 ได้มั้ยคะ

sak2005

14 ตุลาคม พ.ศ. 2552, 10.08 น.
Code นี้ใช้กับ VB 2005 ได้มั้ยคะ
ได้ครับ..แต่ต้องทำเป็น Plug in ขึ้นมาใช้ใน APMS7.5

sak2005

14 ตุลาคม พ.ศ. 2552, 10.30 น.
อ้างถึง
หื้อๆ รูปไม่ขึ้นอ่าค่ะ
อธิบายเป็นคำพูดแล้วกันนะคะว่า...สร้าง Form1
มีปุ่มให้กด 3 ปุ่ม...ปุ่ม 1 อยากให้กด แล้วไปที่ Form2
อ่าค่ะ ต้องเขียนสคริปต์ที่...
buttom 1 ยังไงหรอคะ...
เมื่อต้องการลิ๊งค์ไปยัง PageForm2,3,4,5 หรือหน้าต่อไปที่สร้างไว้ ให้ไปที่ Script Action Wizard
Step1 เลือกที่ Page และ Step2 ให้เลือกใช้คำสั่ง Page.Jump
ถ้ายังไม่เข้าใจอีก ก็ให้ดาวน์โหลด SampleProject ไปศึกษาดูครับ
Download:http://upload.one2car.com/download.aspx?pku=20D75C54C0S8V1MZJG24AC5TLF72KF


เลือกได้ตามชอบว่า..จะไปยังหน้าไหน?

sak2005

14 ตุลาคม พ.ศ. 2552, 11.12 น.
การติดตั้งและการใช้งาน Plug in Script Action Wizard
การติดตั้ง Plug in เพิ่มเติมลงไปใน Script Action Wizard
จะช่วยให้เราสามารถเลือกเขียนสคริ๊ปคำสั่งเพิ่มเติมได้มากขึ้น
เท่ากับเพิ่มความสามารถการใช้งานโปรแกรมได้มากขึ้น
-----------------------------------------------
ก่อนอื่นให้ท่านไปดาวน์โหลด Plug in ที่ต้องการใช้งานมาก่อนครับ
เมื่อติดตั้ง Plug in กันแล้ว เดี๋ยวให้สร้างโปรแกรมอะไร?ดีดีขึ้นมาใช้กัน

BBBeAu

14 ตุลาคม พ.ศ. 2552, 18.50 น.
อยากถามว่า ถ้าจะทำ Gui มีปุ่ม ห้าปุ่ม 1,2,3,4,5

คือจะทำไว้สำหรับเลือก template พอกด"1" ให้โชว์รูป template ของแบบที่ 1

แต่แบบที่ 1 มีห้าสี ก็โชว์ทั้งห้าสีเลยค่ะ แล้วให้มี ratio ให้เลือกว่าจะเอา สีไหน

มีปุ่มให้กดตกลง

แบบนี้ได้มั้ยอ่ะค่ะ

แล้วอยากรบกวนถามว่า...มี สื่อ พวก ebook ภาษาไทย ให้อ่านในการใช้ vB สร้าง GUI ได้มั้ยค่ะ

อยากได้มากเลยค่ะ ตอนนี้โปรเจคเร่งมาก ขอบคุณมากค่ะ

sak2005

15 ตุลาคม พ.ศ. 2552, 10.37 น.
อยากถามว่า ถ้าจะทำ Gui มีปุ่ม ห้าปุ่ม 1,2,3,4,5

คือจะทำไว้สำหรับเลือก template พอกด"1" ให้โชว์รูป template ของแบบที่ 1

แต่แบบที่ 1 มีห้าสี ก็โชว์ทั้งห้าสีเลยค่ะ แล้วให้มี ratio ให้เลือกว่าจะเอา สีไหน

มีปุ่มให้กดตกลง

แบบนี้ได้มั้ยอ่ะค่ะ

แล้วอยากรบกวนถามว่า...มี สื่อ พวก ebook ภาษาไทย ให้อ่านในการใช้ vB สร้าง GUI ได้มั้ยค่ะ

อยากได้มากเลยค่ะ ตอนนี้โปรเจคเร่งมาก ขอบคุณมากค่ะ
---------------------------------------------
งง???ตรง template นี่แหละ ไม่รู้ว่าเป็น template ของอะไร? ต้องบอกมาด้วย ถึงจะทำให้ได้ตรงจุด

BBBeAu

15 ตุลาคม พ.ศ. 2552, 11.53 น.
อยากถามว่า ถ้าจะทำ Gui มีปุ่ม ห้าปุ่ม 1,2,3,4,5

คือจะทำไว้สำหรับเลือก template พอกด"1" ให้โชว์รูป template ของแบบที่ 1

แต่แบบที่ 1 มีห้าสี ก็โชว์ทั้งห้าสีเลยค่ะ แล้วให้มี ratio ให้เลือกว่าจะเอา สีไหน

มีปุ่มให้กดตกลง

แบบนี้ได้มั้ยอ่ะค่ะ

แล้วอยากรบกวนถามว่า...มี สื่อ พวก ebook ภาษาไทย ให้อ่านในการใช้ vB สร้าง GUI ได้มั้ยค่ะ

อยากได้มากเลยค่ะ ตอนนี้โปรเจคเร่งมาก ขอบคุณมากค่ะ
---------------------------------------------
งง???ตรง template นี่แหละ ไม่รู้ว่าเป็น template ของอะไร? ต้องบอกมาด้วย ถึงจะทำให้ได้ตรงจุด

จาทำ gui เพื่อให้ใช้ ทำ presentation เหมือนของ power point อ่าค่ะ

แบบว่าจะทำ gui แล้วให้เค้าเลือกรูปแบบก่อนเลยอ่ะค่ะ

sak2005

16 ตุลาคม พ.ศ. 2552, 13.33 น.
เดี๋ยวจะลอง จำลองเหตุการณ์ดูว่าใช่แบบนี้หรือเปล่า? เช่น เมื่อกดปุ่ม1แล้ว ก็จะเปิดหน้าต่าง File browse ขึ้นมา
 และเข้าไปเลือกรูปแบบ Template(ทำเก็บไว้)ที่ต้องการใช้งาน พร้อมสั่งเปิด Template

BBBeAu

16 ตุลาคม พ.ศ. 2552, 13.55 น.
เดี๋ยวจะลอง จำลองเหตุการณ์ดูว่าใช่แบบนี้หรือเปล่า? เช่น เมื่อกดปุ่ม1แล้ว ก็จะเปิดหน้าต่าง File browse ขึ้นมา
 และเข้าไปเลือกรูปแบบ Template(ทำเก็บไว้)ที่ต้องการใช้งาน พร้อมสั่งเปิด Template

ประมาณนั้นค่ะ

แต่ไม่ได้ให้ browse เอาอ่าค่ะ 

ให้โชว์รูปให้เค้าเลือก...โชว์รูปด้วยอ่าค่ะ เช่น เลือกแบบ ก แล้วก้อไปเลือกต่อว่า ก จะเอาสีอะไร เช่นมีให้เลือกสองสี แดง กะ ดำ

พอกดตกลง แล้วจะทำการเขียนไฟล์อ่ะค่ะ  ยังไงขอคำสั่งสร้างไฟล์ .tex ด้วยนะคะ

รบกวนหน่อยนะคะ

แต่ตอนนี้ก้อกำลังพยายามศึกษาอย่างรุนแรง แต่ไม่รู้จะ apply ได้หรือป่าว  อิอิ |n1:|

BBBeAu

16 ตุลาคม พ.ศ. 2552, 14.42 น.
ตอนนี้พอจะได้คร่าวๆ แล้วค่ะ ขอ คำสั่งในการสร้างไฟล์ .tex แล้วก้อเข้าไปเขียนไฟล์ด้วย

อยากรู้คำสั่งอ่าค่ะ

sak2005

16 ตุลาคม พ.ศ. 2552, 16.21 น.
ตอนนี้พอจะได้คร่าวๆ แล้วค่ะ ขอ คำสั่งในการสร้างไฟล์ .tex แล้วก้อเข้าไปเขียนไฟล์ด้วย

อยากรู้คำสั่งอ่าค่ะ

---------------------------------------------------------------------
ประมาณนี้อ่ะครับ..ทดลองดู
Download:Progject Click here



โค๊ด:
Imports System
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim path As String = "C:\Documents and Settings\Administrator\Desktop\Readme.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("ยินดีต้อนรับ")
                sw.WriteLine("เข้าสู่บทเรียน")
                sw.WriteLine("JaVaScript")
                sw.WriteLine("Made by:sak2005")
                sw.Flush()
            End Using
        End If
        Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using
    End Sub
End Class

nanostation

16 ตุลาคม พ.ศ. 2552, 16.53 น.
เยี่ยมเลยครับท่าน ถ้าทำเป็น pocket book ได้ก็ดีครับ ^^ จะได้เอาไปศึกษาด้วย รู้สึกว่า VB.net เขียนง่ายกว่า VB6 ด้วยครับ เพราะว่าจากที่ดูโค๊ดแล้วไม่ต้องประกาศตัวแปรอะไรมาก เพียงแต่ต้อง import library เข้ามา คล้ายกับภาษา C เลยครับ

BBBeAu

16 ตุลาคม พ.ศ. 2552, 16.59 น.
ขอบคุณมากนะค่ะ

ได้แล้วค่ะ

วันนี้นั่งหามาทั้งวัน เจอในหนังสือบางเล่ม แต่เหมือนคำสั่งจะเก่า ไปหรือยังไงไม่ทราบ มันไม่มีคำสั่งที่หาได้ เลยทำอะไรไม่ได้เลย ขอบคุณจิงๆค่ะ


แต่พบปัญหา อย่างเวลา เราตั้งชื่อ user ไม่เหมือนกัน

เราจะฟิก path ไป โปรแกรมจะไม่ยืดหยุ่น

เราสามารถทำ แบบว่า ให้เค้าเลือกที่เซฟ แบบว่า กด browse ให้เค้าไปสร้างโฟลเดอร์ใหม่ได้ หรือให้เก็บในโฟลเดอร์ที่มีอยู่แล้วได้ เหมือนทั่วๆไปอ่ะค่ะ

เราสามารถทำได้มั้ยค่ะ  

แล้วค่อยเก็บค่านั้นใส่ตัวแปร path อ่ะค่ะ

ขอบคุณค่ะ

sak2005

16 ตุลาคม พ.ศ. 2552, 17.09 น.
เยี่ยมเลยครับท่าน ถ้าทำเป็น pocket book ได้ก็ดีครับ ^^ จะได้เอาไปศึกษาด้วย รู้สึกว่า VB.net เขียนง่ายกว่า VB6 ด้วยครับ เพราะว่าจากที่ดูโค๊ดแล้วไม่ต้องประกาศตัวแปรอะไรมาก เพียงแต่ต้อง import library เข้ามา คล้ายกับภาษา C เลยครับ
---------------------------------------------------------
ถูกต้อง ..VB.net เขียนง่ายกว่า VB6 ..เพราะถ้าพัฒนาอัพเวอร์ชั่นขึ้นมาแล้วเขียนยากกว่าเก่า คงจะไม่มีใครใช้ vb.net เป็นแน่...เช่นคำสั่งบางอย่าง vb6 เขียนไม่ได้ ..แต่ vb.net เขียนได้

sak2005

16 ตุลาคม พ.ศ. 2552, 17.15 น.
ขอบคุณมากนะค่ะ

ได้แล้วค่ะ

วันนี้นั่งหามาทั้งวัน เจอในหนังสือบางเล่ม แต่เหมือนคำสั่งจะเก่า ไปหรือยังไงไม่ทราบ มันไม่มีคำสั่งที่หาได้ เลยทำอะไรไม่ได้เลย ขอบคุณจิงๆค่ะ


แต่พบปัญหา อย่างเวลา เราตั้งชื่อ user ไม่เหมือนกัน

เราจะฟิก path ไป โปรแกรมจะไม่ยืดหยุ่น

เราสามารถทำ แบบว่า ให้เค้าเลือกที่เซฟ แบบว่า กด browse ให้เค้าไปสร้างโฟลเดอร์ใหม่ได้ หรือให้เก็บในโฟลเดอร์ที่มีอยู่แล้วได้ เหมือนทั่วๆไปอ่ะค่ะ

เราสามารถทำได้มั้ยค่ะ 

แล้วค่อยเก็บค่านั้นใส่ตัวแปร path อ่ะค่ะ

ขอบคุณค่ะ


-------------------------------------------------
ได้ครับ.. แต่ท่านต้องบอกรายละเอียดที่ต้องนำไปใช้งาน ให้ผมทราบมากกว่านี้หน่อย ..ตอนนี้ งง?!??

BBBeAu

16 ตุลาคม พ.ศ. 2552, 17.18 น.
If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("ยินดีต้อนรับ")
                sw.WriteLine("เข้าสู่บทเรียน")
                sw.WriteLine("JaVaScript")
                sw.WriteLine("Made by:sak2005")
                sw.Flush()
            End Using
        End If


โค้ดส่วนนี้....สร้างแล้วก็เขียนหรอคะ

Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using


แต่ตรงนี้เดาไม่ออกเลยค่ะ

ว่างๆรบกวนอธิบายหน่อยนะคะ  อยากรุ้ๆๆ

- อีกอย่างค่ะ visual basic 6.0 มัน ไม่เหมือนกับ vb.net หรอคะ

เหนคำสั่ง ไม่ค่อยเหมือนกันเลย เพราะหนังสือที่อ่านอยู่ เป็น visual basic 6.0


BBBeAu

16 ตุลาคม พ.ศ. 2552, 20.09 น.
ขอบคุณมากนะค่ะ

ได้แล้วค่ะ

วันนี้นั่งหามาทั้งวัน เจอในหนังสือบางเล่ม แต่เหมือนคำสั่งจะเก่า ไปหรือยังไงไม่ทราบ มันไม่มีคำสั่งที่หาได้ เลยทำอะไรไม่ได้เลย ขอบคุณจิงๆค่ะ


แต่พบปัญหา อย่างเวลา เราตั้งชื่อ user ไม่เหมือนกัน

เราจะฟิก path ไป โปรแกรมจะไม่ยืดหยุ่น

เราสามารถทำ แบบว่า ให้เค้าเลือกที่เซฟ แบบว่า กด browse ให้เค้าไปสร้างโฟลเดอร์ใหม่ได้ หรือให้เก็บในโฟลเดอร์ที่มีอยู่แล้วได้ เหมือนทั่วๆไปอ่ะค่ะ

เราสามารถทำได้มั้ยค่ะ 

แล้วค่อยเก็บค่านั้นใส่ตัวแปร path อ่ะค่ะ

ขอบคุณค่ะ


-------------------------------------------------
ได้ครับ.. แต่ท่านต้องบอกรายละเอียดที่ต้องนำไปใช้งาน ให้ผมทราบมากกว่านี้หน่อย ..ตอนนี้ งง?!??

แหะๆๆ ค่ะ

คือว่าจะทำโปรเจค เกี่ยวกับ โปรแกรม LaTeX อ่าค่ะ มันเอาไว้สร้างเอกสาร ทำงานเหมือนๆ MS word แต่ว่าต้องมีคำสั่ง ไว้หัวกระดาษนิดหน่อย

เลยต้องการทำ GUI ที่พอกดปุ๊บ สร้างไฟล์ chapter.tex แล้วข้างในก้อ จะใส่หัวใส่ท้ายไว้ให้ผู้ใช้เลย ให้ผู้ใช้ใส่แต่เนื้อหาอ่ะค่ะ

เลยก่อนที่จะสร้างไฟล์จะให้ผู้ใช้เลือกที่อยู่ ที่ต้องการสร้างไฟล์อ่ะค่ะ เพราะมีหลายไฟล์เหมือนกันค่ะ

คลิกที่นี่เพื่อแสดงรูปภาพที่ซ่อนอยู่

BBBeAu

16 ตุลาคม พ.ศ. 2552, 20.36 น.
sw.WriteLine("\addcontentsline{toc}{chapter}{กิตติกรรมประกาศ}")

ใช้ TexNicCenter เปิด

ตรง กิตติกรรมประกาศ ออกมาเป็นภาษาต่างด้าวอ่ะค่ะ

เหนพี่ที่เคยทำแนวๆนี้ เค้าบอกว่า เกี่ยวกับเรื่องรหัส อ่ะค่ะ เค้าก้อจำไม่ได้ว่าต้องให้เขียนไฟล์เป็นรหัสแบบไหน

เลยอยากถามหน่อยค่ะ ว่า พอจะทราบมั้ยค่ะ

BBBeAu

18 ตุลาคม พ.ศ. 2552, 11.20 น.
หื้อๆ เจ้าของกระทู้หายไปไหนอ่า...

sak2005

19 ตุลาคม พ.ศ. 2552, 10.12 น.
อ้างถึง
sw.WriteLine("\addcontentsline{toc}{chapter}{กิตติกรรมประกาศ}")

ใช้ TexNicCenter เปิด

ตรง กิตติกรรมประกาศ ออกมาเป็นภาษาต่างด้าวอ่ะค่ะ

เหนพี่ที่เคยทำแนวๆนี้ เค้าบอกว่า เกี่ยวกับเรื่องรหัส อ่ะค่ะ เค้าก้อจำไม่ได้ว่าต้องให้เขียนไฟล์เป็นรหัสแบบไหน

เลยอยากถามหน่อยค่ะ ว่า พอจะทราบมั้ยค่ะ


ถ้า TextFile เขียนออกมาเป็นภาษาต่างด้าว ..อันเกิดจากการเข้ารหัสไฟล์ไม่ถูกต้อง ก็ต้องทำการปรับเปลี่ยนให้ถูกต้อง (Encoding)

BBBeAu

19 ตุลาคม พ.ศ. 2552, 13.53 น.
อ้างถึง
sw.WriteLine("\addcontentsline{toc}{chapter}{กิตติกรรมประกาศ}")

ใช้ TexNicCenter เปิด

ตรง กิตติกรรมประกาศ ออกมาเป็นภาษาต่างด้าวอ่ะค่ะ

เหนพี่ที่เคยทำแนวๆนี้ เค้าบอกว่า เกี่ยวกับเรื่องรหัส อ่ะค่ะ เค้าก้อจำไม่ได้ว่าต้องให้เขียนไฟล์เป็นรหัสแบบไหน

เลยอยากถามหน่อยค่ะ ว่า พอจะทราบมั้ยค่ะ


ถ้า TextFile เขียนออกมาเป็นภาษาต่างด้าว ..อันเกิดจากการเข้ารหัสไฟล์ไม่ถูกต้อง ก็ต้องทำการปรับเปลี่ยนให้ถูกต้อง (Encoding)


นั่นล่ะค่ะ ทำไงอ่าค่ะ

เปลี่ยนนี่เปลี่ยนที่โค้ด vb เราใช่มั้ยค่ะ

แต่ไม่ทราบคำสั่ง รบกวนหน่อยนะคะ

ขอบคุณค่ะ

sak2005

23 ตุลาคม พ.ศ. 2552, 9.55 น.
ความรู้เกี่ยวกับ การควบคุม ปุ่ม (button) ด้วย If statement
เป็นวิธีการใช้ปุ่มเพียงปุ่มเดียว ให้สามารถควบคุมการทำงานได้หลายๆหน้าที่ ..ลองดาวน์โหลดโปรเจ็คไปศึกษาดูครับ
Download:http://upload.one2car.com/download.aspx?pku=35CBC743A5N4NRGB[5JCHOGOB248XF

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Button1.Text = "A" Then
            MsgBox("คุณกดปุ่ม A", MsgBoxStyle.Information, "")
            MsgBox("เปลี่ยนจาก Control-A เป็น Control-B", MsgBoxStyle.Information, "")
            Button1.Text = "B"
        Else
            If Button1.Text = "B" Then
                MsgBox("คุณกดปุ่ม B", MsgBoxStyle.Information, "")
                MsgBox("เปลี่ยนจาก Control-B เป็น Control-C", MsgBoxStyle.Information, "")
                Button1.Text = "C"
            ElseIf Button1.Text = "C" Then
                MsgBox("คุณกดปุ่ม C", MsgBoxStyle.Information, "")
                MsgBox("เปลี่ยนจาก Control-C ย้อนเป็น Control-A", MsgBoxStyle.Information, "")
                Button1.Text = "A"
            End If
        End If
    End Sub
End Class





BBBeAu

24 ตุลาคม พ.ศ. 2552, 13.59 น.
ขอโค้ด ฟอร์ม browse รูป แล้วก้อโชว์
 พอ browse เส็ด ให้มันเซฟอัตโนมัติที่ path ที่เรามีอยู่แล้ว เก็บ path ไว้ที่ตัวแปล p อ่าค่ะ โดยไม่ต้องมากดปุ่มเซฟอะไรอีกอ่าค่ะ

เขียนให้หน่อยนะคะ ตอนนี้เขียนได้แค่ เลือกรูปโชว์รูป แต่เอาไปเซฟไม่เปน

ขอบคุณมากค่ะ

sak2005

25 ตุลาคม พ.ศ. 2552, 19.37 น.
ขอโค้ด ฟอร์ม browse รูป แล้วก้อโชว์
 พอ browse เส็ด ให้มันเซฟอัตโนมัติที่ path ที่เรามีอยู่แล้ว เก็บ path ไว้ที่ตัวแปล p อ่าค่ะ โดยไม่ต้องมากดปุ่มเซฟอะไรอีกอ่าค่ะ

เขียนให้หน่อยนะคะ ตอนนี้เขียนได้แค่ เลือกรูปโชว์รูป แต่เอาไปเซฟไม่เปน

ขอบคุณมากค่ะ
-------------------
ทำมาให้เป็นตัวอย่างสำหรับท่านโดยเฉพาะเลยนะเนี่ย..ลองนำโค๊ดไปศึกษาดูครับ
Download:http://upload.one2car.com/download.aspx?pku=3A73E0A32DRMQK4XA3[M4KBSO936SQ

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Filter = "Image files (*.jpg;*.gif;*.bmp;*.png)|*.jpg;*.gif;*.bmp;*.png|All Files (*.*)|*.*"
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.ImageLocation = OpenFileDialog1.FileName
            Button2.Enabled = True
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     SaveFileDialog1.FileName = (OpenFileDialog1.FileName)  'โค๊ดที่ใส่เพิ่มเติม
        Dim strName As String
        SaveFileDialog1.Filter = "Image files (*.jpg;*.gif;*.bmp;*.png)|*.jpg;*.gif;*.bmp;*.png|All Files (*.*)|*.*"
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            strName = SaveFileDialog1.FileName
            PictureBox1.Image.Save(strName)
            MsgBox("บันทึกเรียบร้อย", MsgBoxStyle.Information, "")
            Button2.Enabled = False
        End If
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub

    Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk

    End Sub

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
        ToolTip1.SetToolTip(Button1, "กรุณาเลือกรูปภาพก่อนคลิ๊ก Open เพื่อแสดงรูปภาพ")
    End Sub

    Private Sub Button2_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.MouseEnter
        ToolTip1.SetToolTip(Button2, "กรุณาเลือกสถานที่เก็บและพิมพ์ชื่อ-สกุล รูปภาพ ลงในช่อง File name ก่อนคลิ๊ก Save")
    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

    End Sub
End Class




--------------------------
Tip ควรเข้าไปศึกษารายละเอียดของ Object ใน Properties ว่า..ได้มีการปรับแต่งเพิ่มเติมไว้ แบบไหน? อย่างไร?

comkr2499

29 ตุลาคม พ.ศ. 2552, 10.39 น.
ขอบคุณครับ

BBBeAu

2 พฤศจิกายน พ.ศ. 2552, 9.12 น.
ขอบคุณมากค่ะ แต่ต้องการให้พอกด browse รูปขึ้นมา...แล้วมีปุ่ม ตกลง ซักปุ่มนึง..

พอกดปุ๊บมีผลคือให้มันไปเซฟอัตโนมัติที่ path ที่เก็บอยู่ในตัวแปล ที่ชื่อว่า p อ่ะค่

โดยไม่ต้องให้ผู้ใช้มานั่งเลือก path อีก แล้วก้อเซฟโดยใช้ชื่อเดิม ไม่ต้องให้ผู้ใช้มาพิมพ์ชื่ออีกอ่าค่ะ

auto save อ่ะค่ะ

ขอบคุณค่ะ

sak2005

3 พฤศจิกายน พ.ศ. 2552, 10.32 น.
ขอบคุณมากค่ะ แต่ต้องการให้พอกด browse รูปขึ้นมา...แล้วมีปุ่ม ตกลง ซักปุ่มนึง..

พอกดปุ๊บมีผลคือให้มันไปเซฟอัตโนมัติที่ path ที่เก็บอยู่ในตัวแปล ที่ชื่อว่า p อ่ะค่

โดยไม่ต้องให้ผู้ใช้มานั่งเลือก path อีก แล้วก้อเซฟโดยใช้ชื่อเดิม ไม่ต้องให้ผู้ใช้มาพิมพ์ชื่ออีกอ่าค่ะ

auto save อ่ะค่ะ

ขอบคุณค่ะ

เพิ่มเติมโค๊ดให้แล้วนะครับ ลองขึ้นไปดูที่โค๊ดที่เขียนไว้อีกครั้ง
ที่นี้ไม่ต้องพิมพ์ชื่อลงในช่อง File Name ..คลิ๊ก Save ได้เลย
------------------------------------------------
...ไม่ใช่แต่เพียง ใช้เกี่ยวกับไฟล์รูปภาพเท่านั้น แต่ยังสามารถนำไป ประยุกต์ใช้กับไฟล์้อื่นๆได้อีก...

BBBeAu

3 พฤศจิกายน พ.ศ. 2552, 18.25 น.
ขอบคุณมากค่ะ แต่ต้องการให้พอกด browse รูปขึ้นมา...แล้วมีปุ่ม ตกลง ซักปุ่มนึง..

พอกดปุ๊บมีผลคือให้มันไปเซฟอัตโนมัติที่ path ที่เก็บอยู่ในตัวแปล ที่ชื่อว่า p อ่ะค่

โดยไม่ต้องให้ผู้ใช้มานั่งเลือก path อีก แล้วก้อเซฟโดยใช้ชื่อเดิม ไม่ต้องให้ผู้ใช้มาพิมพ์ชื่ออีกอ่าค่ะ

auto save อ่ะค่ะ

ขอบคุณค่ะ

เพิ่มเติมโค๊ดให้แล้วนะครับ ลองขึ้นไปดูที่โค๊ดที่เขียนไว้อีกครั้ง
ที่นี้ไม่ต้องพิมพ์ชื่อลงในช่อง File Name ..คลิ๊ก Save ได้เลย
------------------------------------------------
...ไม่ใช่แต่เพียง ใช้เกี่ยวกับไฟล์รูปภาพเท่านั้น แต่ยังสามารถนำไป ประยุกต์ใช้กับไฟล์้อื่นๆได้อีก...

ขอบคุณมากๆค่ะ....


BBBeAu

3 พฤศจิกายน พ.ศ. 2552, 18.58 น.
มีปัญหามากวนอีกแล้วค่ะ..

คือว่าอย่างคำสั่ง  PictureBox1.ImageLocation เวลาได้ path มาจะเป็น C:\folder\image.jpg

อะไรประมาณนี้อ่ะค่ะ....

แต่เมื่อนำไปเขียนไฟล์ ใส่ text editor ตัวนึงแล้ว...เครื่องหมาย "\" ดันเป็นเครื่องหมายเฉพาะของเค้า..

ต้องแก้เป็น c:/folder/image.jpg  ทำไงได้บ้างอ่ะค่ะ....

ต้องเป็น slash ธรรมดา..ไม่ใช่ back slash

BBBeAu

3 พฤศจิกายน พ.ศ. 2552, 22.15 น.
ขออีกคำถามค่ะ..

ถ้าใช้ tabcontrol และมี tabpage หลายๆหน้า

จะกัน bug ว่า ถ้ากรอกข้อมูลใน tabpage1 ยังไม่ครบ จะล็อกด้านบนอ่ะค่ะ ที่เป็น tab ให้เลือก...

ให้กดแล้วไม่ไปไหน...

ต้องใช้คำสั่งอะไรหรอค่ะ

BBBeAu

4 พฤศจิกายน พ.ศ. 2552, 15.57 น.
ขอโค้ดตรวจสอบ อีเมลล์ค่ะ...ว่ากรอกถูกรูปแบบหรือป่าววว

BBBeAu

13 พฤศจิกายน พ.ศ. 2552, 13.04 น.
ถ้าเราสร้างไฟล์ เขียนไฟล์

แล้วถ้าอยากเขียนไฟล์ โดยเขียนต่อจากไฟล์เดิม...ทำได้มั้ยอ่าค่ะ

ขอบคุณค่ะ

BBBeAu

16 พฤศจิกายน พ.ศ. 2552, 13.17 น.
เผื่อเจ้าของกระทู้จะผ่านมา...................งงงแหะๆๆ :e3:

ใช้ vb.net รัน cmd คำสั่งยังไงหรอคะ

แล้วถ้าจะให้มันเขียนคำสั่งด้วยเลย ได้มั้ยค่ะ
cd\
ไรงี้อ่าค่ะ

sak2005

16 พฤศจิกายน พ.ศ. 2552, 20.11 น.
ถ้าเราสร้างไฟล์ เขียนไฟล์

แล้วถ้าอยากเขียนไฟล์ โดยเขียนต่อจากไฟล์เดิม...ทำได้มั้ยอ่าค่ะ

ขอบคุณค่ะ
ตอบ ทำได้ครับ ..โดยใช้โค๊ดคำสั่งเชื่อมต่อสคริ๊ปเข้าด้วยกัน
---------------------------------------------------
ต้องขออภัย..ผู้ถามจริงๆ คำถามบางคำถาม ที่ผมไม่ได้ตอบ แสดงว่า ผมไม่รู้ หรือ โค๊ดคำสั่งเขียนยาก(ซับซ้อน)เกินที่ผมจะเขียนให้ได้

sak2005

16 พฤศจิกายน พ.ศ. 2552, 20.55 น.
ถ้าเราสร้างไฟล์ เขียนไฟล์

แล้วถ้าอยากเขียนไฟล์ โดยเขียนต่อจากไฟล์เดิม...ทำได้มั้ยอ่าค่ะ

ขอบคุณค่ะ

ไม่รู้คำตอบจะตรงกับคำถามหรือเปล่า?!?
---------------------------------
ใช้ cmd สั่งรัน Notepad

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim oShell
        oShell = CreateObject("WScript.Shell")
        oShell.Run("cmd /c Notepad.exe")
        oShell = Nothing
    End Sub
----------------------------------------------
Tip สกุลไฟล์ ที่นิยมใช้ โปรแกรม Command Line Prompt รัน หรือ เปิด
มักจะเป็นไฟล์ที่มีสกุลเป็น .cmd หรือ .bat
---------------------------------
ยกตัวอย่าง การสร้าง หรือเขียน Batch File ด้วยโปรแกรม Notepad ..เขียนเสร็จ ให้ Save As เป็นไฟล์สกุล .cmd หรือ .bat
กรณีย์นี้เป็นการเขียนไฟล์คำสั่ง .bat ..เพื่อใช้สำหรับสั่งให้โปรแกรม เครื่องคิดเลข เปิดขึ้นมา

โค๊ด:
@echo off
title Run Calc Sample
color 9F
echo.
echo Calc Running
echo.
start Calc.exe
pause
exit

BBBeAu

18 พฤศจิกายน พ.ศ. 2552, 17.20 น.
เขียนไฟล์ต่อท้ายไฟล์เดิมยังไงหรอคะ

สมมติว่ารับค่ามาจาก textbox1 กดทีแรกก้อสร้างไฟล์ ถ้ากดอีกที ก้อเอาค่าที่เรากรอก  ไปเขียนต่อ

ขอบคุณค่ะ

BBBeAu

24 พฤศจิกายน พ.ศ. 2552, 22.20 น.
ถ้าเราสรร้าง GUI เสร็จแล้ว...

แล้วจะทำตัว SETUP ยังไงหรอคะ..

ขอบคุณค่ะ |n1:| |n1:| |n1:|

sak2005

3 ธันวาคม พ.ศ. 2552, 20.33 น.
อ้างถึง
ถ้าเราสรร้าง GUI เสร็จแล้ว...

แล้วจะทำตัว SETUP ยังไงหรอคะ..

ขอบคุณค่ะ |n1:| |n1:| |n1:|

ขั้นตอนการทำตัว Setup ให้กับโปรแกรมที่สร้างขึ้น มีอยู่หลายขั้นตอน
สอนแบบรวบรัดไม่ได้ ยังไงแล้วจะกลับไปเขียนบทความเตรียมไว้ แล้วจะนำมาลงให้รวดเดียว

Transistor

5 ธันวาคม พ.ศ. 2552, 14.16 น.
ผมขอคารวะจากใจจริงเลยคับ

มีไม่กี่คนหรอกคับที่จะมีน้ำใจแบบท่าน

ขอบคุนสำหรับทุกสิ่ที่อย่างคับ

sak2005

5 ธันวาคม พ.ศ. 2552, 18.16 น.
ผมขอคารวะจากใจจริงเลยคับ

มีไม่กี่คนหรอกคับที่จะมีน้ำใจแบบท่าน

ขอบคุนสำหรับทุกสิ่ที่อย่างคับ

การเสียสละหรือการให้ โดยไม่หวังสิ่งใดๆตอบแทน เป็นกุศลอย่างยิ่ง
เป็นผลบุญเกื้อหนุนให้เราได้พบแต่สิ่งดีดี ทั้งภพนี้และภพหน้า

sak2005

7 ธันวาคม พ.ศ. 2552, 20.37 น.
วิธีสร้างชุดติดตั้งซอฟต์แวร์หรือโปรแกรมที่พัฒนาขึ้นมา แบ่งออกเป็น2แบบ
1.ชุดติดตั้งแบบ ClickOnce Deployment ..สามารถติดตั้งผ่านเว็บไซด์ได้
2.ชุดติดตั้งแบบ Setup Project ..ข้อดีของ Setup Project
คือการนำเอาความสามารถของ Windows Installer เข้ามาช่วยทำชุดติดตั้ง ให้เป็นไปอย่างราบรื่น
และสามารถจัดการกับปัญหาที่เกี่ยวข้องกับการติดตั้งแอพพลิเคชั่นได้เป็นอย่างดี ซึ่งได้แก่
1. Rollback   ถ้าการติดตั้งเกิดความผิดพลาด เราสามารถย้อนกลับมายัง
ลำดับที่เกิดความผิดพลาดนั้นได้โดยไม่ต้องเริ่มใหม่ทั้งหมด
2.Self Repair  ถ้าแอพพลิเคชั่นที่ติดตั้งเกิดความผิดพลาดขึ้นมา สามารถซ่อมแซมตัวเองได้
3.Uninstall  สามารถถอนการติดตั้งได้โดยไม่ทิ้งไฟล์ขยะไว้
4.Advertisement  สามารถแทรกข้อมูลที่ต้องการได้
ในที่นี้ขอแนะนำเฉพาะแบบ Setup Project เท่านั้น

sak2005

7 ธันวาคม พ.ศ. 2552, 21.16 น.
การเตรียมความพร้อมก่อนทำชุดติดตั้ง
ก่อนที่เราจะใช้งาน Setup Project นั้น ควรเตรียมตัวให้พร้อมก่อนดังนี้
1.นอกจาก Source Code แล้ว เรายังต้องการไฟล์อะไรบาง เช่น
ไฟล์ Readme.txt  (สำหรับคำแนะนำ) ไฟล์ไอคอน เป็นต้น
2.ตั้งใจจะให้ติดตั้งที่โฟลเดอร์ไหน
3.เราจะนำชุดติดตั้งนั้นไว้ในสื่อใด เช่น CD , Flash drive หรือจะเป็น NetWork
4.ลำดับขั้นของการติดตั้งเป็นอย่างไร

sak2005

7 ธันวาคม พ.ศ. 2552, 21.45 น.
เริ่มสร้างชุดติดตั้ง  มีลำดับขั้นตอนการทำดังนี้
1.คลิ๊กขวาที่ชื่อ Project ในหน้าต่าง Solution Explorer เลือกคำสั่ง Properties
2.จะปรากฏหน้าต่าง properties ให้คลิ๊กปุ่ม Assembly Information...

BBBeAu

9 ธันวาคม พ.ศ. 2552, 1.43 น.
ค่ะตอนนี้ทำตัว SETUP ได้แล้ว........

แล้วก้อต้องทำ GUI อีกตัว มี checkbox ถ้าเช็คให้เรียก ตัว setup นี้มา

อยากทราบว่าพอไรต์ลงไปที่ CD แล้ว เราจะเขียน โค้ดยังไงหรอคะ ว่าถ้าเช็คให้ไปรันไฟล์ที่ path ไหน เพราะมันอยู่ในแผ่น CD ไม่รู้เครื่องนี้ ไดส์ อะไร

ขอบคุณค่ะ |n1:| |n1:|

BBBeAu

9 ธันวาคม พ.ศ. 2552, 1.48 น.
 If CheckBox3.Checked Then
            Shell("setup.exe")

        End If

ตรง ที่จะ shell อ่าค่ะ เราจะใส่ path ยังไง ให้มาเลือกแผ่นซีดีเรา

BBBeAu

9 ธันวาคม พ.ศ. 2552, 11.20 น.
อันนี้ดูมาจาก autoinstall หน้าที่ สองอ่าค่ะ
            Proc = Process.Start("ezb5_en.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")

Proc = Process.Start("setup.exe", "/S")

สองแบบนี้ต่างกันอย่างไรหรอคะ

sak2005

11 ธันวาคม พ.ศ. 2552, 10.23 น.
If CheckBox3.Checked Then
            Shell("setup.exe")

        End If

ตรง ที่จะ shell อ่าค่ะ เราจะใส่ path ยังไง ให้มาเลือกแผ่นซีดีเรา

ท่านต้องใส่ Dir Path หรือ พาธที่อยู่ ที่เก็บไฟล์ลงไปด้วย เช่น สมมุติว่า CDrom Drive ของท่านเป็นไดร์ฟ E:\
ให้ท่านลองเขียนโค๊ด ดังนี้

โค๊ด:
Process.Start("E:\setup.exe")

sak2005

11 ธันวาคม พ.ศ. 2552, 10.33 น.
อันนี้ดูมาจาก autoinstall หน้าที่ สองอ่าค่ะ
            Proc = Process.Start("ezb5_en.exe", "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-")

Proc = Process.Start("setup.exe", "/S")

สองแบบนี้ต่างกันอย่างไรหรอคะ


ต่างกันที่แต่ละโปรแกรม มี Command Line Parameter ที่เหมือนกันและต่างกันได้ ขึ้นอยู่กับแต่ละโปรแกรมว่า...
จะใช้ Command Line Parameter แบบไหน ..ถ้าใส่ Parameter ไม่ถูกต้อง
โปรแกรมที่สั่งติดตั้ง ก็ไม่สามารถทำงานแบบอัตโนมัติได้

sak2005

30 ธันวาคม พ.ศ. 2552, 9.26 น.
ทำนาฬิกา digital ด้วยคำสั่ง Date TimePicker เป็นคำสั่งใน NameSpace ใช้ Control Timer อัพเดทเวลา
สร้าง Form และใส่ Label ลงไปบนฟอร์ม ตามรูปเลยครับ


------------------------------------------------------------------
ต่อไปเขียนคำสั่งลงบน Event Form Shown และ Event Timer ตามรูป แล้วลอง Preview ดูครับ

คลิกที่นี่เพื่อแสดงรูปภาพที่ซ่อนอยู่

expact

2 มกราคม พ.ศ. 2553, 16.37 น.
ผมอยากเขียนโปรแกรมที่รวมโปรแกรมติดตั้งอ่าครับ

แบบว่า

butto1 - ตัว setup winrar
butto2 - ตัว setup winamp
butto3 - ตัว setup editplus

ประมาณนี้อ่าครับ

คือปุ่มจะเรียก setup.exe อ่าครับ

sak2005

4 มกราคม พ.ศ. 2553, 11.39 น.
ผมอยากเขียนโปรแกรมที่รวมโปรแกรมติดตั้งอ่าครับ

แบบว่า

button1 - ตัว setup winrar
button2 - ตัว setup winamp
nutton3 - ตัว setup editplus

ประมาณนี้อ่าครับ

คือปุ่มจะเรียก setup.exe อ่าครับ

ทำปุ่มติดตั้งโปรแกรมต่างๆนั้นง่ายมาก เพียงแต่ว่า..ท่านจะติดตั้งแบบปกติหรือแบบอัตโนมัติ หรือทั้งสองอย่าง
คำสั่งที่ใช้ในการรันโปรแกรม ใช้  namespace คือ System.IO.Process.Start()
ลองดาวน์โหลด SampleProject ไปศึกษาดูครับ..Size:5.2 MB คลิ๊กที่นี่

nanut

4 มกราคม พ.ศ. 2553, 18.32 น.
ขอบคุณครับบบ

^^

expact

5 มกราคม พ.ศ. 2553, 10.03 น.
ขอบคุณมากๆๆๆ ครับ ผมทำได้แล้วครับ ^^

ขออีกคำถามนึงนะครับ
แล้วเราจะเปลี่ยนไอคอนโปรแกรมที่เรา build ออกมายังไงครับ



หรือว่าเปลี่ยนใน vb ได้ครับ

sak2005

6 มกราคม พ.ศ. 2553, 10.48 น.
ขอบคุณมากๆๆๆ ครับ ผมทำได้แล้วครับ ^^

ขออีกคำถามนึงนะครับ
แล้วเราจะเปลี่ยนไอคอนโปรแกรมที่เรา build ออกมายังไงครับ



หรือว่าเปลี่ยนใน vb ได้ครับ

------------------------------------------------------------------
ถ้าจะเปลี่ยนไอคอน exe บนเดสก์ทอป ใช้โปรแกรม Change Icon เปลี่ยนเอาครับ


expact

8 มกราคม พ.ศ. 2553, 12.11 น.
ไม่ได้อ่ะครับ อันนี้มันเปลี่ยนแต่ไอคอนในโปรแกรมอ่าครับ

sak2005

8 มกราคม พ.ศ. 2553, 22.15 น.
ไม่ได้อ่ะครับ อันนี้มันเปลี่ยนแต่ไอคอนในโปรแกรมอ่าครับ

การเลี่ยนไอคอนที่เป็นโปรแกรมSetup.exe หรือโปรแกรมติดตั้ง โดยตรงนั้นทำได้ยาก คือเมื่อเปลี่ยนแล้วโปรแกรม
มักจะเกิด Error! ไม่สามารถติดตั้งได้
วิธีที่ง่ายที่สุด ซึ่งไม่ต่างจากการเปลี่ยนไอคอนSetup.exe คือ
ต้องนำโปรแกรมSetup.exeมาซิ๊ปไฟล์เสียก่อนแล้วค่อยเปลี่ยนไอคอนของซิ๊ปไฟล์นั้น ลองทำตามตัวอย่างดังนี้
ขั้นแรกจัดเตรียมไอคอนที่จะเปลี่ยนไว้ให้เรียบร้อยก่อนนะครับ







1.คลิ๊กขวาที่โปรแกรมSetup.exe เลือก Add to archive...



2.ใส่เครื่องหมายถูกที่ Create SFX archive  จากนั้นคลิ๊กที่ Advanced



3.คลิ๊กที่ปุ่ม SFX options...



4. Path to extract หมายถึง สถานที่เก็บไฟล์ที่แตกซิ๊ปแล้ว ให้้พิมพ์ระบุชื่อลงในช่องตามรูปเลยครับ ..เก็บไว้ที่ C:\Temp
และที่ Setup program ระบุชื่อ-สกุล โปรแกรมของท่านลงในช่องตามรูปเลยครับ ..เพื่อสั่งรันโปรแกรม หลังจากแตกซิ๊ปแล้ว



5.ถึงขั้นตอนสำคัญที่ท่านต้องการแล้วละ ก็คือการเปลี่ยนไอคอน ..คลิ๊กที่ Text and icon
ให้ท่านดูที่ช่องด้านล่าง2ช่อง ..ช่องแรก ใช้สำหรับนำเข้า หรือโหลดรูปโลโก้ เข้ามาใช้งานในโปรแกรม อันนี้ข้ามไปไม่ใช้ก็ได้
มาดูช่องถัดลงมาคือช่อง Load SFX icon from the file ..คลิ๊กที่ปุ่ม Browse โหลดไอคอนที่ท่านเตรียมไว้เข้ามา





6.ถึงขั้นตอนสุดท้ายแล้วครับ ..คลิ๊กที่ Modes และเลือกคลิ๊กที่ Hide start dialog ..คลิ๊ก ok  ok


sak2005

10 มกราคม พ.ศ. 2553, 22.05 น.
ถ้าจะทำโปรแกรมติดตั้งแบบมืออาชีพ เราก็มีให้เรียนรู้กัน ลองนำโค๊ดคำสั่งด้านล่างไปใช้ดูครับ
---------------------------------------------------------------------
VBScript AutoInstall
โค๊ด:
Dim ShellObj, Btncode
Set ShellObj=CreateObject("WScript.Shell")
BtnCode=MsgBox("ท่านต้องการติดตั้งใช่หรือไม่?", 36, "EasyBoot AutoSetup")
If BtnCode=vbYes Then
ShellObj.Run"ezb5_en.exe /VERYSILENT /SP-", 0, True
MsgBox"ติดตั้งเรียบร้อย", 64, ""
Else
MsgBox"ติดตั้งใหม่ภายหลัง", 4096, ""
End If
Set ShellObj=Nothing
WScript.Quit()
--------------------------------------------------------------------
JScript AutoInstall
โค๊ด:
var ShellObj, BtnCode;
ShellObj=new ActiveXObject("WScript.Shell");
BtnCode=ShellObj.Popup("ท่านต้องการติดตั้งใช่หรือไม่?", 0, "EasyBoot AutoSetup", 36);
switch (BtnCode){
   case 6:
ShellObj.Run("ezb5_en.exe /VERYSILENT /SP-",0, true);
ShellObj.Popup("ติดตั้งเรียบร้อย", 0, "", 64);
break;
   case 7:
 ShellObj.Popup("ติดตั้งใหม่ภายหลัง", 0, "", 4096);
break;
 }
---------------------------------------------------------------
Download:โปรแกรมสำหรับแปลงไฟล์ .vbs , .js เป็น .exe
ExeScript3 Portable|FileSize: 3.2 MB|Click here
--------------------------------------------------------------------------
การใช้งานโปรแกรม ExeScript
เมื่อท่านเตรียม VBScript , Icon และโปรแกรมที่ท่านจะติดตั้งเรียบร้อยแล้ว ให้ทำตามขั้นตอน ดังนี้
เปิดโปรแกรม ExeScript ขึ้นมา
1.คลิ๊กที่เมนู File ..เลือกคลิ๊กที่ Open ..ที่ช่อง Files of type: ..เลือกเป็น VBScript จากนั้นท่านก็นำเข้าไฟล์สคริ๊ปVBSที่ท่านเตรียมไว้
2.ต่อไปเป็นการปรับแต่ง Option เพื่อให้ Compile หรือ Build งานออกมาสมบูรณ์ ดังนี้
ที่ Main ในหมวดของ Work directory ปรับเลือกเป็น Current directory
ในหมวดของ Script type ปรับเลือกเป็น Windows
ในหมวดของ Execution type ปรับเลือกเป็น Compile
ในหมวดของ Output file ..ใส่ชื่อ-สกุลของไฟล์และเลือกสถานที่เก็บไฟล์โปรแกรมที่Build (แนะนำให้เก็บไว้ที่Desktop)
ที่ Icon ในหมวดของ Icon type ปรับเลือกเป็น Custom Icon
ในหมวดของ Icon path ให้นำเข้าไอคอนที่ท่านเตรียมไว้
3.มาถึงขั้นตอนสุดท้ายแล้วครับ ก็คือการ Build งาน ..คลิ๊กที่เมนู Project ..คลิ๊กเลือกที่ Build หรือกด F7
เพียงเท่านี้ ท่านก็ได้ โปรแกรมติดตั้ง ในสไตล์ท่านทำเองแล้วครับ

phichetkung

14 มกราคม พ.ศ. 2553, 18.16 น.
ผมจะหาอ่าน namespace ได้จากที่ไหนครับ ช่วยบอกทีเอาแบบมีวิธีเขียนให้ด้วยอะครับ

sak2005

16 มกราคม พ.ศ. 2553, 8.37 น.
ผมจะหาอ่าน namespace ได้จากที่ไหนครับ ช่วยบอกทีเอาแบบมีวิธีเขียนให้ด้วยอะครับ

หาอ่านได้ใน Help ของโปรแกรมนั่นแหละครับ อยากรู้อะไร?ก็..search เอาครับ
เช่น. อยากรู้เรื่อง namespace ก็พิมพ์คำว่า  namespace ลงในช่อง Search เท่านี้ก็เรียบร้อย
วิธีใช้ help search อย่างง่าย..ใช้เม๊าท์รูด หรือไฮไลท์ ที่คำ หรือข้อความที่ต้องการค้นหา จากนั้นกด F1


BBBeAu

27 มกราคม พ.ศ. 2553, 9.54 น.
คือว่าเขียน gui บน โน๊ตบุค..ค่ะ

แล้วพอเอาตัว Setup ไปลง...ใช้ที่ PC หน้า GUI มันเหนได้ไม่หมดอ่าค่ะ...ขาดไปเยอะเลยค่ะ

อยาากให้มันปรับ pixel อัตโนมัติ ได้มั้ยค่ะ..ประมาณว่าไปที่หน้าจอแบบไหน ก็ ปรับขนาด อัตโนมัติอ่าค่ะ

rachan2123

25 กุมภาพันธ์ พ.ศ. 2553, 6.54 น.
ขอบคุณมากครับ

BBBeAu

26 กุมภาพันธ์ พ.ศ. 2553, 17.41 น.
 If CheckBox3.Checked Then
           
            'MsgBox("ติดตั้ง Thai LaTeX เรียบร้อยแล้ว")

            Dim Proc As Process
            Proc = Process.Start("GUI\setup.exe")
            Proc.WaitForExit()
            'MsgBox("ติดตั้ง NUthesis GUI เรียบร้อยแล้ว")
        End If
     If CheckBox4.Checked Then
           
            Dim Proc As Process
            Proc = Process.Start("Program\AdobeReader9\AdbeRdr910_Lite_en_US.exe")
            Proc.WaitForExit()
            'MsgBox("ติดตั้ง AdobeReader เรียบร้อยแล้ว")

       End If


จะทำยังไงให้ใช้โค้ดแบบนี้แล้ว โปรแกรมค่อยๆลงตามลำดับ อันแรกเสร็จก่อน ค่อยขึ้นอันสองมาให้ลง...

ตอนนี้มันขึ้นซ้อนกันค่ะ แต่ถ้าใช้โค้ดแบบที่มี /s ต่อท้ายไรนี่อ่าค่ะ ตามที่แสดงไว้ในหน้าสองของกระทุ้นี้อ่าค่ะ มัน ลง โปรแกรมไม่ได้

มันขึ้น windows Install  error อ่าค่ะ

ขอบคุณนะคะ ขอด่วนๆนะคะ

hideuki

1 มีนาคม พ.ศ. 2553, 6.47 น.
thank you

off

29 ธันวาคม พ.ศ. 2553, 22.42 น.
ขอบคุณมากครับ กำลังหา ขออนุญาต นำไปเผยต่อนะครับ

hellosad

30 ธันวาคม พ.ศ. 2553, 18.05 น.
ผมขอคารวะจากใจจริงเลยคับ

มีไม่กี่คนหรอกคับที่จะมีน้ำใจแบบท่าน

ขอบคุนสำหรับทุกสิ่ที่อย่างคับ

ผมด้วยคนครับ ผมมาอ่านกระทู้นี้สองวันแล้วครับ แต่ยังไม่ได้แสดงการขอบคุณ ต้องขอโทษด้วยครับ

ขอบคุณมากครับ คุณ sak2005

คุณเยี่ยมมาก  :c3:

sak2005

4 มีนาคม พ.ศ. 2554, 19.27 น.
Create Ping tool with Vb.Net
กลับมาอีกแล้วครับท่าน กับความรู้ดีดี vb.net
อาจเป็นโปรแกรมภาษา ที่นักศึกษาถูกบังคับให้เรียน
ทั้งๆที่มีโปรแกรมภาษาอื่นที่ใช้ง่ายกว่า เช่น AutoIt v3 เป็นต้น
แต่ก็ช่างเถอะ.. เรียนไปเหอะ ดีกว่าไม่รู้อะไรเลย
น้อยคนที่จบการศึกษาออกไปแล้ว จะนำความรู้ vb.net ที่ได้ ไปใช้ประโยชน์อย่างจริงจัง
--------------------------------------------------------------------
สร้างโปรแกรมเครื่องมือตรวจสอบเว็บไซด์ว่า.. มีอยู่จริง หรือ เปิดออนไลน์อยู่หรือไม่? และอื่นๆ
ให้ท่านสร้าง form object ตามรูปเลยครับ แล้วปรับแต่งรายละเอียด (properties) เพิ่มเติม ดังนี้
(การเขียนโปรแกรม GUI ..ถ้าไม่มีการปรับแต่งรายละเอียด โปรแกรมที่สร้างออกมาจะไม่สมบูรณ์100%)
เมื่อคิดจะปรับแต่งสิ่งใด? ท่านต้องคลิ๊กลงไปบนสิ่งนั้นก่อน เช่น ถ้าท่านเลือกที่จะปรับแต่งหน้าต่างโปรแกรม(form)
ท่านก็ต้องคลิ๊กเม๊าท์ไปที่ตำแหน่ง form ที่สร้าง จากนั้นก็ดูที่กรอบ properties ทางขวามือ
-----------------------------------------
1.บังคับให้โปรแกรมปรากฏขึ้นที่กึ่งกลางจอ ..ที่ StartPosition เลือกปรับเป็น CenterScreen
2. บังคับไม่ให้ขยายหน้าต่างโปรแกรม
ที่ AutoSizeMode เลือกปรับเป็น GrowAndShrink
ที่ MaximizeBox เลือกปรับเป็น False
3.บังคับให้โปรแกรมที่สร้าง อยู่เหนือโปรแกรมอื่น ป้องกันโปรแกรมอื่นปิดบัง ..ที่ TopMost เลือกปรับเป็น True
-----------------------------------------
เปลี่ยนรูปไอคอนไตเติลบาร์ ..ที่ Icon และคลิ๊กปุ่มเพื่อนำเข้าไอคอนใหม่เข้ามาแทน
เปลี่ยนพื้นหลังโปรแกรมด้วยรูปภาพ ..ที่ BackgroundImage และคลิ๊กปุ่มเพื่อนำเข้ารูปภาพเข้ามาแทนการใช้สี
ที่ BackgroundImage Layout เลือกปรับเป็น Stretch
-------------------------------------------------------------------------------------
พิเศษ: บังคับให้หน้าต่างโปรแกรมโปร่งใส ..ที่ TransparencyKey ..เลือกหมวดสี System และเลือกเปลี่ยนเป็นสี Control
หรือเขียนคำสั่งใส่ไว้ที่ Form_Load ดังนี้
โค๊ด:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.TransparencyKey = Color.Transparent
    End Sub
End Class
พิเศษ: บังคับให้ไอคอนโปรแกรมอยู่นอกทาสก์บาร์ เมื่อ Minimize (้Hide Taskbar Icon) ..ที่ ShowIn Taskbar เลือกปรับเป็น False
พิเศษ: บังคับให้ไม่ต้องแสดงรูปไอคอนบนไตเติลบาร์ ..ที่ ShowIcon  เลือกปรับเป็น False
พิเศษ: บังคับให้ไม่ต้องแสดงปุ่มควบคุมบนไตเติลบาร์ ..ที่ ControlBox เลือกปรับเป็น False
พิเศษ: บังคับไม่ให้มีพื้นหลังบนตัวอักษร(Label Background Color Trans) ..ที่ BackColor  ..เลือกหมวดสี Web และเลือกเปลี่ยนเป็นสี Transparent
หรือจะเขียนเป็นคำสั่ง ใส่ไว้ใน Form_Load ก็ได้ ดังนี้
โค๊ด:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.BackColor = Color.Transparent
    End Sub
End Class
---------------------------------------------------------------------------------------------------
ดับเบิ้ลคลิ๊กที่ปุ่ม Ping และเขียนโค๊ดลงไปดังนี้ ส่วนรายละเอียด ความหมายของคำสั่ง จะอธิบายให้ภายหลัง

โค๊ด:
Public Class Form1
    Dim textout As String
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If My.Computer.Network.IsAvailable = False Then
            MessageBox.Show("ท่านยังไม่ได้ต่ออินเทอร์เน็ต")
        Else
            textout = TextBox1.Text
            If textout <> "" Then
                If My.Computer.Network.Ping(textout, 1000) Then
                   MessageBox.Show("ติดต่อสำเร็จ.")
                    Process.Start(textout)
                    Application.Exit()
                Else
                   MessageBox.Show("ไม่สามารถติดต่อได้.")
                   TextBox1.Clear()
                End If
            Else
                MessageBox.Show("กรุณากรอกลิ๊งค์เว็บลงในช่อง.")
            End If
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    End Sub
End Class



อธิบายแต่ละคำสั่ง:

My.Computer.Network.IsAvailable = False หมายถึง คำสั่งเงื่อนไขตรวจสอบเน็ตว่าอยู่ในสถานะใด? Online หรือ Offline แต่ถ้าเป็นการ Ping IP Address หรือ Computer full name ..ก็จะทราบได้ว่า เครือข่าย Lan Network เชื่อมต่อกันอยู่หรือไม่?
textout = TextBox1.Text หมายถึง เมื่อเรากรอกข้อความลงในช่อง และเมื่อกดปุ่ม Ping -
TextBox จะรีเทิร์นค่าที่กรอกไว้ออกมา กรอกไว้อย่างไร ก็จะออกมาอย่างนั้น และนำค่ารีเทิร์นที่ได้นั้น ไปใส่ไว้ในคำสั่ง Ping
My.Computer.Network.Ping(textout, 1000) หมายถึง คำสั่ง Ping web

prajak

5 มีนาคม พ.ศ. 2554, 8.22 น.
เยี่ยมคับ

sak2005

5 มีนาคม พ.ศ. 2554, 18.36 น.
เยี่ยมคับ

ขอบคุณครับ.. และช่วยๆกันเปิดดูและเรียนรู้กันให้ครบ 20000 ครั้งหน่อย.

krittiya

6 มีนาคม พ.ศ. 2554, 14.43 น.
สรุปว่า ใช้ทำงานเี่กี่ยวกับอะไรเหรอ โปรแกรมนี้

sak2005

7 มีนาคม พ.ศ. 2554, 3.09 น.
สรุปว่า ใช้ทำงานเี่กี่ยวกับอะไรเหรอ โปรแกรมนี้

ท่านไม่ต้องไปสนใจว่า..โปรแกรมนี้จะใช้ทำอะไร เพียงเขียนมาเป็นโปรแกรมตัวอย่างสำหรับการเรียนรู้ vb.net เท่านั้น

ความสำเร็จในการเรียนรู้ vb.net อยู่ที่ท่านต้องเขียนโปรแกรมให้สามารถทำงานได้ตามจุดประสงค์

ดั่งตัวการ์ตูนที่กำลังเต้นให้ดูด้านล่าง ถ้าใครสามารถเขียนคำสั่งบังคับให้เต้นตามจังหวะเพลงได้ ถือว่าสอบผ่าน

notezuza

9 มีนาคม พ.ศ. 2554, 18.12 น.
คำถามที่ 1
แล้วถ้าต้องการ แบบว่า โชว์หน้านิสักสิบวินาที แล้วพอครบสิบวินาที ก็ไปหน้าต่อไปเอง แล้วปิดหน้าเดิม โดยที่เราไม่ต้องกดอะไรทั้งสิ้นนะครับ

คำถามที่ 2
คือหน้าฟอร์มปกติ เวลาออกแบหน้าตาจะขนาดหนึ่ง เวลารันแล้วพวกออฟชั่นทั้งหลายที่เราออกแบบและฟอร์ม จะรันเท่าที่เราออกแบบ แล้วถ้าให้ฟอร์มเต็มจออัตโนมัตเวลารัน หรือเวลากดปุ่ม Maximum
ให้พวกปุ่ม หรืออะไรทั้งหลายมันขยายตามด้วยนะครับ

sak2005

12 มีนาคม พ.ศ. 2554, 3.31 น.
คำถามที่ 1
แล้วถ้าต้องการ แบบว่า โชว์หน้านิสักสิบวินาที แล้วพอครบสิบวินาที ก็ไปหน้าต่อไปเอง แล้วปิดหน้าเดิม โดยที่เราไม่ต้องกดอะไรทั้งสิ้นนะครับ

คำถามที่ 2
คือหน้าฟอร์มปกติ เวลาออกแบหน้าตาจะขนาดหนึ่ง เวลารันแล้วพวกออฟชั่นทั้งหลายที่เราออกแบบและฟอร์ม จะรันเท่าที่เราออกแบบ แล้วถ้าให้ฟอร์มเต็มจออัตโนมัตเวลารัน หรือเวลากดปุ่ม Maximum
ให้พวกปุ่ม หรืออะไรทั้งหลายมันขยายตามด้วยนะครับ

ตอบคำถามที่1 ผมเข้าใจว่าน่าจะหมายถึง การรันหน้าต่างForm ตั้งแต่2หน้าต่างขึ้นไป เมื่อรันหน้าต่างที่2แล้ว ให้หน้าต่างแรกปิดไปเองอัตโนมัติ เมื่อถึงเวลาที่ต้องการให้ปิด คือ 10 วินาที ..ถ้าใช่ เดี๋ยวจัดให้
ตอบคำถามที่2 ผมเข้าใจว่าน่าจะหมายถึง เมื่อขยายหน้าต่างForm ให้มีขนาดใหญ่ขึ้นแล้ว เช่น ขยายเต็มหน้าจอ
ให้ Object หรือสิ่งต่างๆที่วางอยูบนForm ขยายใหญ่ขึ้นตามไปด้วย ..ถ้าใช่ เดี๋ยวจัดให้

sak2005

12 มีนาคม พ.ศ. 2554, 11.11 น.
Non MDI เป็นการเขียนโปรแกรมตั้งแต่2ฟอร์มขึ้นไป ให้สามารถทำงานร่วมกันได้ และในแต่ละฟอร์ม การทำงานนั้นจะไม่ถูกผูกติดกัน
สามารถทำงานแยกเป็นอิสระออกจากกันได้ ซึ่งเราสามารถกำหนดให้ฟอร์มใดฟอร์มหนึ่งเป็นฟอร์มหลัก เพื่อเรียกใช้งานฟอร์มอื่นๆได้ ดังตัวอย่าง.
การเขียนคำสั่งควบคุม ลงบน Form (Form1_Shown) หรือ Object (Button1_Click) ใช้คำสั่งไม่เหมือนกัน จึงยากสำหรับผู้เริ่มต้น
ต้องใช้มันสมอง หรือ ไอเดีย ของตนเองค้นคิด ถึงจะสามารถเขียนคำสั่งออกมาได้

1.สร้างแบบฟอร์มตามรูปเลยครับ ซึ่งประกอบด้วยปุ่ม (Button) และ ตัวอักษรที่เป็นข้อความ (Label)
ดับเบิ้ลคลิ๊กที่ Button และเขียนคำสั่งลงไปดังนี้

โค๊ด:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Hide()
        Form2.ShowDialog()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class


---------------------------------------------------------
2.ต่อไปก็ทำการสร้างฟอร์มขึ้นมาอีกหน้านึง
คลิ๊กที่เมนู Project ..เลือก Add Windows Form... เลือก Windows Form ..คลิ๊ก Add
และจัดการใส่ Button และ Label ตามรูปเลยครับ.
ดับเบิ้ลคลิ๊กที่ Button และเขียนคำสั่งลงไปดังนี้

โค๊ด:
Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
        Form3.Show()
    End Sub

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class


---------------------------------------------------------------------------------
ต่อไปสมมุติว่าเป็นหน้าสุดท้ายที่สิ้นสุดการใช้งานโปรแกรม ก็จะต้องทำการปิด ฟอร์มหลัก (Form1) ที่ Hide ไว้
ให้สร้างฟอร์มเหมือนขั้นตอนที่2 ขึ้นมาอีก1ฟอร์ม ดังรูป และเขียนคำสั่งลงไปบนปุ่ม ดังนี้

โค๊ด:
Public Class Form3

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Close()
    End Sub

    Private Sub Form3_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Application.Exit()
    End Sub

End Class

notezuza

12 มีนาคม พ.ศ. 2554, 17.21 น.
ขอบคุณครับ

dexdee

17 มีนาคม พ.ศ. 2554, 23.26 น.
ถ้าหากต้องการให้โปรแกรมลบไฟล์ทั้งหมด .exe ที่มีขนาด 120 kb ไดร์ฟ E:\ ต้องเขียนโค้ดอย่างไรครับ

sak2005

18 มีนาคม พ.ศ. 2554, 18.08 น.
อ้างถึง
ถ้าหากต้องการให้โปรแกรมลบไฟล์ทั้งหมด .exe ที่มีขนาด 120 kb ไดร์ฟ E:\ ต้องเขียนโค้ดอย่างไรครับ

การเขียนคำสั่งตรวจสอบไฟล์โดย ไม่ระบุชื่อไฟล์ ระบุแต่สกุลไฟล์ ถ้าเป็นใน Autoit ผมสามารถเขียนได้
แต่ใน vb.net รู้สึกว่าเขียนยาก จำเป็นต้องระบุชื่อไฟล์ด้วย
วิธีการทดสอบ: ให้ท่านนำโปรแกรมอะไรก็ได้ ไปใส่ไว้ใน C:\  และเปลี่ยนชื่อเป็น test.exe
จากนั้นเขียน GUI ใส่ปุ่มลงไป1ปุ่ม ใส่สคริ๊ปลงไปที่ปุ่ม แล้วลองรันดูครับ
ท่านต้องนำสคริ๊ปไปเขียนปรับปรุงเพิ่มเติมเอง

โค๊ด:
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim infoReader As System.IO.FileInfo
        Dim filepath As String = "c://test.exe"
        If My.Computer.FileSystem.FileExists(filepath) Then
            infoReader = My.Computer.FileSystem.GetFileInfo(filepath)
            MsgBox("พบไฟล์ " & filepath & " ขนาด " & infoReader.Length / 1024 & " .KB")
            My.Computer.FileSystem.DeleteFile(filepath, _
            FileIO.UIOption.AllDialogs, FileIO.RecycleOption.DeletePermanently, FileIO.UICancelOption.DoNothing)
        Else
            MsgBox("ไม่พบไฟล์ดังกล่าว")
        End If

    End Sub
End Class

artitcom

25 มีนาคม พ.ศ. 2554, 16.34 น.
ติดตามนะครับผม กำลังเรียนพอดีเลยครับผม

thongrak

26 มีนาคม พ.ศ. 2554, 0.06 น.
สวัสดีครับ คือว่าตอนนี้ผมกำลังทำโปรเจ็คอยู่ครับคือว่าอยากได้code ที่แปลงไฟล์ภาพเป็นtextแล้วแปลงจากtextเป็นภาพครับ

sak2005

8 เมษายน พ.ศ. 2554, 4.18 น.
สวัสดีครับ คือว่าตอนนี้ผมกำลังทำโปรเจ็คอยู่ครับคือว่าอยากได้code ที่แปลงไฟล์ภาพเป็นtextแล้วแปลงจากtextเป็นภาพครับ

เปลี่ยนชื่อง่าย แต่เปลี่ยนสกุลยาก ยังหาวิธีเปลี่ยนไม่เจอ

romebluesky

22 เมษายน พ.ศ. 2554, 7.23 น.
 :c3:

igetlove

22 เมษายน พ.ศ. 2554, 21.38 น.
 [$3$] เเจ่ม

sak2005

25 เมษายน พ.ศ. 2554, 17.58 น.
สำหรับคนที่รอคอยบทความตอนต่อไปของผม อาจเกิดความเซ็งนิดหน่อยว่า.. เมื่อไหร่ผมจะมาลงบทความต่อให้ซักที

ท่านสามารถเรียนรู้ควบคู่กันไปได้เลยทั้ง3ภาษา.. vb2008, C# และ C++ ถ้าไม่มึนเบรอเสียก่อน

ถ้าท่านนำมาเทียบเคียงแล้วจะเห็นว่า หลักคิดไม่ต่างกันซักเท่าไหร่ ต่างกันที่ตัวอักษร-สัญญลักษณ์ ที่นำมาใช้เป็นคำสั่งเท่านั้นเอง.

 

few_site

29 เมษายน พ.ศ. 2554, 2.22 น.
รออยู่นะครับ
เป็นกำลังใจให้ครับ
ขอบคุณสำหรับบทความดีๆ
รออ่านอยู่นะครับ  :c3:

kokaew

21 พฤษภาคม พ.ศ. 2554, 0.47 น.
แล้วถ้าจะให้ ไฟล์นามสกุล .dll ทำงาน ต้องทำไงครับ

อย่างเช่น มีไฟล์ .dll มาหนึ่งตัวแล้วเราจะทำให้มันทำงานยังไงครับ เหมือนกับอย่างเช่น

เราทำตัวที่จะให้ .dll ทำงานแล้ว ต่อไปก็ ให้มัน inject ตอนที่โปรแกรมที่เรากำหนดถูกเปิดขึ้นมาอ่ะครับ

ตัวอย่างตามภาพเลยครับ