www.oocities.org/pontipa001

หน้าแรก อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์ เกาเหลาเทคนิคการใช้ HTML วิธีทำสร้าง Shortcut บน Desktop ปัญหาใหญ่ของ Data transfer

 เรื่องทั่วๆไป

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

Properties Tag มีประโยชน์อย่างไร
     เรื่องProperties Tag เมื่อแรกๆอ่านแล้วก็งงเหมือนกัน ไม่รู้จะใช้ทำอะไร แต่พอเริ่มลงมือเขียนจึงถึงบางอ้อ
      คือว่า ผมใช้ในกรณี มีการแก้ไขข้อมูลใน TextBox อย่างเช่น ถ้ามีการแก้ไข Text1 ให้เรียก Sub ชื่อ Sub_A
      ต้องใส่โปรแกรมดังนี้
    
Private Sub Text1_GotFocus()
          Text1.Tag = Text1.Text 
'*** เก็บไว้ที่ Tag ทำให้ไม่ต้องตั้งตัวแปร
      End Sub

      Private Sub Text1_LostFocus()
          If Text1.Tag <> Text1.Text Then 
'*** นำค่า Tag มาใช้
               Call Sub_A
          End If
      End Sub


ประโยชน์การใช้ Properties AutoRedraw ของ PictureBox
   คุณทราบไหมว่าใช้ประโยช์นอย่างไร ? คนที่เคยเขียนโปรแกรม VB ทั้งมือใหม่และมาอาชีพบางครั้งมองข้ามไป ตัวผมมองข้ามไปจนกระทั่งไปเจอโปรแกรม ProgressBar (อยู่ในโปรแกรมแจกฟรี) ผมจึงนำมาเขียนโปรแกรมในหลายกรณี
   การใช้ AutoRedraw จะมีค่า True/False
       ถ้ามีค่า True จะแสดงค่าอัตโนมัตเมื่อมีการเปลี่ยนแปลงค่าใน PictureBox
       ถ้ามีค่า False จะไม่แสดงค่าจนกว่าจะใช้ Method Refresh
  ท่านสามารถใช้ AutoRedraw = Flase เพื่อที่แก้ค่า/เปลี่ยนแปลงค่าใน Picture ได้ โดยที่ค่านั้นจะยังไม่แสดงให้เห็น หลังจากนั้นใช้ Method Refresh เพื่อให้แสดงค่าใหม่
  ลอง DownLoad ตัวอย่างไปศึกษาดูละกัน ท่านสามารถนำไปใช้ในการ Process ได้ คือขณะที่ท่าน Process ให้แสดงค่าที่ตัวเลขบนหน้าจอ ไปแต่ละบรรทัด ในขณะที่ โปรแกรมกำลังทำงาน

แนะนำให้ใช้ Option Array แทนการใช้ Option แยกแต่ละตัว
   ถ้าหากว่าท่านไม่ใช้ Option Array เวลาจะเก็บค่าลงในฐานข้อมูลก็ยาก เวลาแสดงข้อมูลก็ยาก ดังนั้นจึงแนะนำให้ท่านใช้ Option Array การสร้าง Option Array นั้น ลาก Option ไปไว้บนฟอร์ม (ควรอยูในกรอบFrameจะดี) แล้วใช้ Ctrl+C และ Ctrl+V เพื่อ Copy/Paste แล้ว VB จะถามให้สร้างเป็นเป็นArray ตอบ Yes ท่านจะได้ Option Array โดย Array จะเป็น 0,1,2,3,... ส่วนในฐานข้อมูลให้กำหนดฟิลด์เป็นชนิด Integer
   เมื่อต้องการทราบว่า ผู้ใช้เลือก Option ไหน   ให้ใช้ ฟังก์ชั่น SelectedOption ซึ่งอยู่ในตัวอย่างแล้ว
    เมื่อต้องการแสดงค่าก็ง่าย เช่น ค่าที่เก็บไว้เป็น 2 ท่านก็ใช้ optArray(2).Value = True
   ลอง DownLoad ตัวอย่างไปศึกษาดู
  

 

จำกัดความยาวใน Combo Box
   ถ้า Combo Box นั้นจะไม่มีการจำกัดความยาวในการป้อน ดังนั้นจึงต้องทำขึ้นเอง
   ในตัวอย่าง ใช้ Combo1 ให้ใส่ตรง Combo1_KeyPress ในกรณีนี้ถ้าความยาวมากกว่า 10 ถ้ากด BackSpace จะยอมให้ผ่านแต่ถ้าเป็นแป้นอื่นไม่ได้
Private Sub Combo1_KeyPress(KeyAscii As Integer)
     Const MAXLENGTH = 10
     If Len(Combo1.Text) >= MAXLENGTH And KeyAscii <> vbKeyBack Then KeyAscii = 0
End Sub
 

ล้างค่า Mask Edit Box ให้เป็นค่าว่าง
   ถ้าหากใครใช้ Mask Edit Box คงจะมีปัญหาในการล้างค่าให้เป็นค่าว่าง ถ้าหากว่า ให้ MaskEdit1.Text = "" จะเกิด Error ขึ้นมา แต่ว่ามีวิธีแก้ ดังนี้ กำหนดตัวแปร vTemp เป็น String เพื่อไว้เก็บค่าเก่าของ MaskEdit ไว้ก่อน ดังตัวอย่าง

     vTemp = mskEdit1.Mask
     mskEdit1.Mask = ""
     mskEdit1.Text = ""
     mskEdit1.Mask = vTemp
 

การล้างค่า TextBox ให้เป็นค่าว่างทุกตัวใน Form
   ในการล้างค่า Text Box ให้เป็นว่างๆนั้น วิธีง่ายๆค่า ใช้คำสั่ง  Text1.Text = ""   แต่ถ้าหากมีหลายๆตัว ละก็ต้องหลายบรรทัด และถ้าเป็น Form อื่นก็ต้องใส่อีก แต่ถ้าคุณใช้ Function นี้ก็ใช้ได้ทุก Form แต่ถ้าท่านจะล้างค่า MaskEdit Box ต้องใช้ TypeOf มาช่วย ตรวจสอบอีก เพราะการล้างค่า MaskEdit ใช้วิธีต่างกัน


  Public Sub ClearAllControls(frmForm As Form)
     Dim ctlControl As Object
     On Error Resume Next
     For Each ctlControl In frmForm.Controls
          ctlControl.Text = ""
          ctlControl.ListIndex = -1
          DoEvents
     Next ctlControl
  End Sub



สั่งให้โปรแกรมเปิด/ปิดฝา CD-ROM

   พอดีไปเจอโปรแกรมสั่งให้เปิด/ปิดฝา CD-ROM เห็นว่าน่าสนใจเลยนำมาฝากแฟน VB-Street เขาใช้ฟังก์ชั่น API มาช่วย
   ตัวอย่างให้ Download

  Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal _
     lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal _
     hWndCallback As Long) As Long

  Private Sub Command1_Click()
     Dim Dummy As String
     Dummy = vbmciSendString("set cdaudio door open", 0)
  '*** สั่งให้เปิดฝา
  End Sub

  Private Sub Command2_Click()
     Dim Dummy As String
     Dummy = vbmciSendString("set cdaudio door closed ", 0)  
'*** สั่งให้ปิดฝา
  End Sub

  Function vbmciSendString(ByVal Command As String, ByVal hWnd As Long) As String
     Dim Buffer As String
     Dim dwRet As Long
     Buffer = Space$(100)
     dwRet = mciSendString(Command, ByVal Buffer, Len(Buffer), hWnd)
     vbmciSendString = Buffer
  End Function

หน้าแรก อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์ เกาเหลาเทคนิคการใช้ HTML วิธีทำสร้าง Shortcut บน Desktop ปัญหาใหญ่ของ Data transfer