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, 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 ได้หรือป่าว อิอิ
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 น.
เผื่อเจ้าของกระทู้จะผ่านมา...................งงงแหะๆๆ 
ใช้ 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 กดทีแรกก้อสร้างไฟล์ ถ้ากดอีกที ก้อเอาค่าที่เรากรอก ไปเขียนต่อ
ขอบคุณค่ะ
sak2005
3 ธันวาคม พ.ศ. 2552, 20.33 น.
ถ้าเราสรร้าง GUI เสร็จแล้ว...
แล้วจะทำตัว SETUP ยังไงหรอคะ..
ขอบคุณค่ะ

ขั้นตอนการทำตัว 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 ไม่รู้เครื่องนี้ ไดส์ อะไร
ขอบคุณค่ะ
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 ไม่ถูกต้อง
โปรแกรมที่สั่งติดตั้ง ก็ไม่สามารถทำงานแบบอัตโนมัติได้
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
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
คุณเยี่ยมมาก
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 น.
igetlove
22 เมษายน พ.ศ. 2554, 21.38 น.
เเจ่ม
sak2005
25 เมษายน พ.ศ. 2554, 17.58 น.
สำหรับคนที่รอคอยบทความตอนต่อไปของผม อาจเกิดความเซ็งนิดหน่อยว่า.. เมื่อไหร่ผมจะมาลงบทความต่อให้ซักที
ท่านสามารถเรียนรู้ควบคู่กันไปได้เลยทั้ง3ภาษา.. vb2008, C# และ C++ ถ้าไม่มึนเบรอเสียก่อน
ถ้าท่านนำมาเทียบเคียงแล้วจะเห็นว่า หลักคิดไม่ต่างกันซักเท่าไหร่ ต่างกันที่ตัวอักษร-สัญญลักษณ์ ที่นำมาใช้เป็นคำสั่งเท่านั้นเอง.
few_site
29 เมษายน พ.ศ. 2554, 2.22 น.
รออยู่นะครับ
เป็นกำลังใจให้ครับ
ขอบคุณสำหรับบทความดีๆ
รออ่านอยู่นะครับ
kokaew
21 พฤษภาคม พ.ศ. 2554, 0.47 น.
แล้วถ้าจะให้ ไฟล์นามสกุล .dll ทำงาน ต้องทำไงครับ
อย่างเช่น มีไฟล์ .dll มาหนึ่งตัวแล้วเราจะทำให้มันทำงานยังไงครับ เหมือนกับอย่างเช่น
เราทำตัวที่จะให้ .dll ทำงานแล้ว ต่อไปก็ ให้มัน inject ตอนที่โปรแกรมที่เรากำหนดถูกเปิดขึ้นมาอ่ะครับ
ตัวอย่างตามภาพเลยครับ
