[VB.net มือใหม่] ผมจะใช้คำสั่ง split array ยังไงดีครับ

เริ่มโดย DewChelsea, 05 กุมภาพันธ์ 2014, 23:41:50

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

DewChelsea

ใน format ของโปรแกรม ผมต้องการให้มันมี4 column ซึ่งแบ่งตาม comma (,)

aaa,bbb,ccc,ddd

เมื่อกดปุ่มมันจะแบ่งไฟล์เองอะครับ

คำถาม .. แล้วผมจะกำหนดชื่อตัวแปรแทนทั้ง4 column ยังไงอะครับ ผมมือใหม่มากๆ นั่งคิดสองวันละ  :'(

        Dim str As String
        Dim strArr() As String
        Dim count As Integer
        str = TextBox1.Text        'textbox1 = มีข้อความที่ต้องการแบ่งอยุ่ในนี้ครับ
        strArr = str.Split(",")
        For count = 0 To strArr.Length - 1
            strArr = str.Split(",")
        Next


ที่ต้องการคือแบบนี้ครับ ตั้งชื่อตัวแปรแทนแต่ละ part ที่แบ่งตาม comma
part1 = ?
part2= ?
part3 = ?
part4 = ?

ขอบคุณทุกความเห็นมากๆครับ  :-[


verysims

ถ้า column ไม่เยอะก็ใช้แบบนี้ก็ได้ครับ
 
        Dim str As String
        Dim strArr() As String
        Dim count As Integer
        str = TextBox1.Text        'textbox1 = มีข้อความที่ต้องการแบ่งอยุ่ในนี้ครับ
        strArr = str.Split(",")

if strArr.Length = 4 then 'เช็คหน่อยนึงว่าครบ 4 ตัวจริงมั้ย
Dim part1 As string =  strArr(0)
Dim part2 As string =  strArr(1)
Dim part3 As string =  strArr(2)
Dim part4 As string =  strArr(3)

'เขียน code ต่อจากตรงนี้ เอาตัวแปรไปใช้ได้เลยครับ
....

end if


หรือถ้าไม่อยากประกาศตัวแปรเราก็อ้างไปที่ index ของ array ไปใช้ได้เลยครับ
 
        Dim str As String
        Dim strArr() As String
        Dim count As Integer
        str = TextBox1.Text        'textbox1 = มีข้อความที่ต้องการแบ่งอยู่ในนี้ครับ
        strArr = str.Split(",")

if strArr.Length = 4 then 'เช็คหน่อยนึงว่าครบ 4 ตัวจริงมั้ย

'  strArr(0) อันนี้พาท 1
'  strArr(1) อันนี้พาท 2
'  strArr(2) อันนี้พาท 3
'  strArr(3) อันนี้พาท 4

'สมมติเอาไปใช้
Dim strPart1Name As string = "อันนี้พาท 1 ชื่อของมันคือ " & strArr(0)
Dim strPart2Name As string = "อันนี้พาท 2 ชื่อของมันคือ " & strArr(1)
...

end if

ตามนี้ครับ  :P

DewChelsea

อ้างถึงจาก: verysims ใน 06 กุมภาพันธ์ 2014, 10:26:18
ถ้า column ไม่เยอะก็ใช้แบบนี้ก็ได้ครับ
 
        Dim str As String
        Dim strArr() As String
        Dim count As Integer
        str = TextBox1.Text        'textbox1 = มีข้อความที่ต้องการแบ่งอยุ่ในนี้ครับ
        strArr = str.Split(",")

if strArr.Length = 4 then 'เช็คหน่อยนึงว่าครบ 4 ตัวจริงมั้ย
Dim part1 As string =  strArr(0)
Dim part2 As string =  strArr(1)
Dim part3 As string =  strArr(2)
Dim part4 As string =  strArr(3)

'เขียน code ต่อจากตรงนี้ เอาตัวแปรไปใช้ได้เลยครับ
....

end if


หรือถ้าไม่อยากประกาศตัวแปรเราก็อ้างไปที่ index ของ array ไปใช้ได้เลยครับ
 
        Dim str As String
        Dim strArr() As String
        Dim count As Integer
        str = TextBox1.Text        'textbox1 = มีข้อความที่ต้องการแบ่งอยู่ในนี้ครับ
        strArr = str.Split(",")

if strArr.Length = 4 then 'เช็คหน่อยนึงว่าครบ 4 ตัวจริงมั้ย

'  strArr(0) อันนี้พาท 1
'  strArr(1) อันนี้พาท 2
'  strArr(2) อันนี้พาท 3
'  strArr(3) อันนี้พาท 4

'สมมติเอาไปใช้
Dim strPart1Name As string = "อันนี้พาท 1 ชื่อของมันคือ " & strArr(0)
Dim strPart2Name As string = "อันนี้พาท 2 ชื่อของมันคือ " & strArr(1)
...

end if

ตามนี้ครับ  :P

ขอบคุณมากครับ  :'(

แต่ตอนนี้ partสุดท้ายของผม มันไม่ยอม newline ให้อะครับ มันเอาarray แรกของอีกบรรทัดมาต่อให้อะครับ

code ประมาณนี้ครับ
            If part4.StartsWith("http://") Then
                part4 = vbCrLf
            End If


ผมลองให้มันใช้ mesege box show ตอนมันแบ่ง พาท 1,2,3 ok ละครับ แต่ part4 มันขึ้นแล้วพ่วง array ของอีกบรรทัดมาอะครับ  :-[

verysims

พอจะบอกได้มั้ยครับว่าจะทำอะไร ผมงง ครับ
ขอดู code มากกว่านี้หน่อยได้มั้ยครับ ใช้เป็นข้อมูลสุมมติ ที่คล้ายๆของจริงก็ได้ครับ
ถ้าไม่สะดวกโพสต์ก็ส่งมาให้ดูทาง PM ก็ได้ครับ
:P

DewChelsea

อ้างถึงจาก: verysims ใน 06 กุมภาพันธ์ 2014, 10:55:50
พอจะบอกได้มั้ยครับว่าจะทำอะไร ผมงง ครับ
ขอดู code มากกว่านี้หน่อยได้มั้ยครับ ใช้เป็นข้อมูลสุมมติ ที่คล้ายๆของจริงก็ได้ครับ
ถ้าไม่สะดวกโพสต์ก็ส่งมาให้ดูทาง PM ก็ได้ครับ
:P
ขอบคุณครับ :wanwan017: :P