ปัจจุบันนี้เวลาผมเขียนโปรแกรม print barcode (VB) ผมจะใช้พวก OCX หรือ DLL (VB.Net)
ทีนี้อยากทราบว่าถ้าเราจะไม่ใช้พวกนี้ล่ะ ไม่ใช้ OCX ไม่ใช้ DLL คือรู้อยู่แล้วว่า Barcode มันก็คือ เส้นหนา เส้นบาง ช่องว่าง มาเรียงๆ ต่อกัน
ก็ google หาสูตรอยู่นานว่าจะแปลงพวกตัวหนังสือตัวเลขออกมาเป็นเส้นได้ยังไง จนไปเจอเวบนี้
https://www.dcode.fr/barcode-128
เขาบอกว่า Code128 คือ เส้นความหนาบางต่างกัน 1234 ทีละ 6ตัว มี Start เปิดหัว มี End ปิดท้าย
ยกตัวอย่าง คำว่า DCODE ก็จะเป็น Start, D, C, O, D, E, End
เทียบตามตาราง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ก็ได้เป็น 211214,112313,131321,133121,112313,132113,2331112
ทีนี้ผมก็มาลอง print เส้นความหนาบางตามตัวเลขที่ได้มา
ปรากฏว่าเครื่องอ่านอ่านไม่ออก (อันบน)
เลยมาลอง print ตาราง (อันล่าง) เทียบดูว่าเราทำผิดตรงไหน เทียบดูแล้วตัวเปิดก็ 211214 ถูก ตัวข้างในก็ถูกตามตาราง ตัวปิดก็ 2331112 ก็ถูก

แต่อ่านไม่ออก ผมพลาดอะไรตรงไหนครับ
การสร้าง Barcode
ทีนี้อยากทราบว่าถ้าเราจะไม่ใช้พวกนี้ล่ะ ไม่ใช้ OCX ไม่ใช้ DLL คือรู้อยู่แล้วว่า Barcode มันก็คือ เส้นหนา เส้นบาง ช่องว่าง มาเรียงๆ ต่อกัน
ก็ google หาสูตรอยู่นานว่าจะแปลงพวกตัวหนังสือตัวเลขออกมาเป็นเส้นได้ยังไง จนไปเจอเวบนี้
https://www.dcode.fr/barcode-128
เขาบอกว่า Code128 คือ เส้นความหนาบางต่างกัน 1234 ทีละ 6ตัว มี Start เปิดหัว มี End ปิดท้าย
ยกตัวอย่าง คำว่า DCODE ก็จะเป็น Start, D, C, O, D, E, End
เทียบตามตาราง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ก็ได้เป็น 211214,112313,131321,133121,112313,132113,2331112
ทีนี้ผมก็มาลอง print เส้นความหนาบางตามตัวเลขที่ได้มา
ปรากฏว่าเครื่องอ่านอ่านไม่ออก (อันบน)
เลยมาลอง print ตาราง (อันล่าง) เทียบดูว่าเราทำผิดตรงไหน เทียบดูแล้วตัวเปิดก็ 211214 ถูก ตัวข้างในก็ถูกตามตาราง ตัวปิดก็ 2331112 ก็ถูก
แต่อ่านไม่ออก ผมพลาดอะไรตรงไหนครับ