ผมได้กำหนดให้ textbox1 รับค่าจากสแกนเนอร์เสร็จแล้ว textbox2 โฟกัส หลังจากนั้นยิงข้อมูลใน textbox2
โปรแกรมจะทำการสร้าง csv ไฟล์ ชื่อไฟล์ตาม textbox1 แล้วทำการเขียนข้อความที่ยิงจาก textbox2 ลงไป
ปัญหาคือ สมมุติ ผมยิง คำว่า thailand (ยิงจากบาร์โค๊ด)
ใน csv ไฟล์ ก็จะเป็น
t
h
a
i
l
a
n
d
t
h
a
i
l
a
n
d
แต่ผมอยากได้แบบนี้ครับ
thailand ยิงครั้งที่ 1
thailand ยิงครั้งที่ 2
อื่น ฯลฯ ที่ยิงเข้ามา
ตัวอย่างผมทำครับ ต้องแก้ไขตรงไหนครับ
Code (VB.NET)
Public Class Form1
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then TextBox2.Focus()
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.KeyPress
Dim a As String = "\\192.168.0.7\Sakkapong_k\" & TextBox1.Text & ".csv"
File.AppendAllText(a, (TextBox2.Text) & vbCrLf)
TextBox2.Text = ""
End Sub
End Class
ผมไม่ได้ใช้ event TextChanged ครับ ดูดีครับดูข้างหลังสุดสิครับ อย่าดูแต่ชื่อ private sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.KeyPress
Public Class Form1
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(13) Then TextBox2.Focus()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.ResetText()
TextBox2.ResetText()
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.KeyPress
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("\\192.168.0.7\Sakkapong_k\" & TextBox1.Text & ".txt", False)
file.WriteLine(TextBox2.Text)
file.Close()
End Sub
End Class