Page 1 of 1

อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 2:27 pm
by khosit_19
ลักษณะการทำงานของโปรแกรมผมคือ รับค่าจาก Radio button และ Text box หลังจากกดปุ่ม Send แล้วจะส่งค่าที่เป็น String ไปยัง List box ครับ และเมื่อกดปุ่ม Start โปรแกรมจะเริ่มทำงานตามคำสั่งที่เลือกไว้ใน List box ตามลำดับจากบนลงล่าง จนหมด

ปัญหาของผมคือ ผมไม่รู้คำสั่งที่จะใช้ดึงข้อมูลใน List box แต่ละบรรทัดมาเปรียบเทียบ เพื่อส่งค่าไปควบคุมอุปกรณ์ครับ

## ผมใช้ VB2010 น่ะครับ

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 2:53 pm
by snasui
:D ค่าใน ListBox เราสามารถใช้ ListIndex เข้ามาช่วยได้ครับ ยกตัวอย่างเช่น ต้องการให้ A1 เป็นต้นไปแจกแจงค่าจาก ListBox1 เมื่อมีการคลิก CommandButton1 สามารถเขียน Code ได้ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
    Dim i As Integer
    For i = 0 To ListBox1.ListCount - 1
        ListBox1.ListIndex = i
        Cells(i + 1, 1) = ListBox1.Text
    Next i
End Sub
Note: Code ด้านบนเป็น VBA ครับ

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 5:25 pm
by snasui
:D สำหรับ VB2010 ลองใช้การ Loop object จาก ListBox.Items เข้ามาช่วยได้ ดูตัวอย่าง Code และภาพด้านล่างประกอบครับ

Code: Select all

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, _
        e As System.EventArgs) Handles Button1.Click
        Dim a As Object
        For Each a In ListBox1.Items
            If a = "Mar" Then
                MsgBox("Yes, " + a + " equal Mar.")
            Else
                MsgBox("No, " + a + " does not equal Mar.")
            End If
        Next
    End Sub

    Private Sub Form1_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
        ListBox1.Items.Add("Jan")
        ListBox1.Items.Add("Feb")
        ListBox1.Items.Add("Mar")
    End Sub
End Class

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 9:38 pm
by khosit_19
:D ขอบคุณมากๆเลยครับอาจารย์ อาจารย์อยู่ หาดใหญ่หรอคับ

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 9:41 pm
by snasui
:D บ้านอยู่สะเดาแต่ตัวอยู่กทม.ครับ :mrgreen:

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sat Feb 11, 2012 9:58 pm
by khosit_19
ผมเองก็อยู่ทางใต้เหมือนกันครับ ผมอยู่ที่ตรัง นี่ก็งานโปรเจคจบครับ เครียดมากเลยครับ ตอนได้รับงานส่วนของ Listbox มาเเพิ่ม เพราะใกล้ส่งงานแล้ว ขอบคุณอาจารย์จริงๆครับ :)

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sun Feb 19, 2012 1:33 pm
by khosit_19
อาจารย์ครับ ผมขอถามเพิ่มเติมจากคำถามด้านบนอีกหน่อยครับ คือ ผมต้องการส่งค่าจาก VB ออกทาง Serial port โดยส่งออกไปทีละ 1 ตัวอักษร แต่ผมติดปัญหาตรงที่ค่าใน ช่อง Volume ผมเอาค่าในช่องนี้เก็บไว้ในตัวแปร String โดยมันจะมีค่าตั้งแต่ 0 - 5000 ul กรณีที่เป็นตัวเลข 4 หลักจะไม่มีปัญหาในการส่งครับ แต่ พอผมใส่ เลขที่น้อยกว่า 4 หลัก โปรแกรมมันจะฟ้องว่าในหลักนั้นไม่มีค่า

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

## ผมใช้ VB 2010 เขียนครับ :D

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sun Feb 19, 2012 1:44 pm
by snasui
:D ต้องขออภัยนะครับ ที่ถามนี้ผิดหมวดอยู่นะครับ สังเกตว่าผมตอบให้ด้วย VBA ก่อนเผื่อได้แนวทางไปปรับใช้ เลยแถมด้วย Code VB เนื่องจากขณะนั้นใช้เครื่องที่มี VSTO

ฟอรัมนี้เกี่ยวกับ Excel และ VBA หากจะถามนอกเหนือจากนั้นควรถามในหมวด Other ครับ และเนื่องจากว่าผมเล่นหลายเครื่อง ไม่ได้ลง VSTO ทุกเครื่องจึงไม่สะดวกในการตอบ การถามด้วย VB หรือ C# ถามที่ Pantip :arrow: http://www.pantip.com/tech/developer/ จะดีกว่าครับ

Re: อยากสอบถามเกี่ยวกับการดึงค่าใน List box มาใช้ครับ

Posted: Sun Feb 19, 2012 3:04 pm
by khosit_19
ขอโทษด้วยครับอาจารย์ คือผมไม่รู้จริงๆ :D เดี๋ยวจะย้ายไปถามใน Other เลยครับ