Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ขอวิธีสั่งพิมพ์บาร์โค้ด EAN13 แปลงจากบาร์โค้ดเป็น String เพื่อเตรียมปริ้นบาร์โค้ดนะครับ



 

ขอวิธีสั่งพิมพ์บาร์โค้ด EAN13 แปลงจากบาร์โค้ดเป็น String เพื่อเตรียมปริ้นบาร์โค้ดนะครับ

 



Topic : 104764

Guest




เขียนด้วย VB.NET 2010

ตอนนี้ผมจะสั่งพิมพ์บาร์โค้ดสินค้า ผ่านทาง Crystal Report
แต่อยากได้ Code แปลง รหัส Barcode เป็น String เพื่อเตรียมปรินนะครับ

ตัวอย่าง 978020113447 จะแปลงเป็น 9HSKCKB*bdeehg+
แล้วเอาเอา 9HSKCKB*bdeehg+ ไปไว้ใน Field และเรียกใน Report แล้วเซต Font เป็น Code EAN-13

แล้วมันถึงจะใช้ปืนยิงติดนะครับ ผมก็ไม่รู้ว่าทำไมต้องแปลงขนาดนี้ถึงจะยิงติด ถ้าเป็น Font อื่นพอได้ครับ
แต่จำเป็นต้องใช้ EAN13 จริงๆครับ

หรือมีวิธีที่ง่ายกว่านี้ ช่วยแนะนำด้วยนะครับ

รบกวนผู้รู้แนะนำด้วยนะครับ ขอบคุณครับ



Tag : .NET, PostgreSQL, VBScript, Crystal Report, VS 2010 (.NET 4.x), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-01-18 21:23:34 By : iArt View : 2060 Reply : 7
 

 

No. 1



โพสกระทู้ ( 11 )
บทความ ( 0 )



สถานะออฟไลน์


http://www.codeproject.com/Articles/10162/Creating-EAN-13-Barcodes-with-C

ลองดูบทตวามนี้ครับ เผื่อช่วยอะไรได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-18 22:02:20 By : fhackman
 


 

No. 2

Guest


ขอบคุณครับ สำหรับข้อมูล เข้าไปดูมาแล้วครับ แต่ยังไม่เข้าใจ T_T

อยากทำได้แค่ แปลงตัวบาร์โค้ด 978020113447 เป็น 9HSKCKB*bdeehg+


รบกวนด้วยคร๊าบ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-19 20:21:42 By : iArt
 

 

No. 3

Guest


Code (VB.NET)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim CodeClair As String = "001034360548"
        CodeClair = CodeClair.PadRight(12, "0"c)
        MsgBox(EAN13(CodeClair))
    End Sub

Public Function EAN13(ByVal chaine As String) As String
        Dim i As Integer
        Dim first As Integer
        Dim checksum As Integer = 0
        Dim CodeBarre As String = ""
        Dim tableA As Boolean

        If Regex.IsMatch(chaine, "^\d{12}$") Then
            For i = 1 To 11 Step 2
                System.Diagnostics.Debug.WriteLine(chaine.Substring(i, 1))
                checksum += Convert.ToInt32(chaine.Substring(i, 1))
            Next
            checksum *= 3
            For i = 0 To 11 Step 2
                checksum += Convert.ToInt32(chaine.Substring(i, 1))
            Next

            chaine += (10 - checksum Mod 10) Mod 10

            CodeBarre = chaine.Substring(0, 1) & ChrW(65 + Convert.ToInt32(chaine.Substring(1, 1)))
            first = Convert.ToInt32(chaine.Substring(0, 1))
            For i = 2 To 6
                tableA = False
                Select Case i
                    Case 2
                        If first >= 0 AndAlso first <= 3 Then
                            tableA = True
                        End If
                        Exit Select
                    Case 3
                        If first = 0 OrElse first = 4 OrElse first = 7 OrElse first = 8 Then
                            tableA = True
                        End If
                        Exit Select
                    Case 4
                        If first = 0 OrElse first = 1 OrElse first = 4 OrElse first = 5 OrElse first = 9 Then
                            tableA = True
                        End If
                        Exit Select
                    Case 5
                        If first = 0 OrElse first = 2 OrElse first = 5 OrElse first = 6 OrElse first = 7 Then
                            tableA = True
                        End If
                        Exit Select
                    Case 6
                        If first = 0 OrElse first = 3 OrElse first = 6 OrElse first = 8 OrElse first = 9 Then
                            tableA = True
                        End If
                        Exit Select
                End Select

                If tableA Then
                    CodeBarre += ChrW(65 + Convert.ToInt32(chaine.Substring(i, 1)))
                Else
                    CodeBarre += ChrW(75 + Convert.ToInt32(chaine.Substring(i, 1)))
                End If
            Next
            CodeBarre += "*"
            'Ajout s้parateur central / Add middle separator
            For i = 7 To 12
                CodeBarre += ChrW(97 + Convert.ToInt32(chaine.Substring(i, 1)))   <<<<< Error บันทัดนี้นะครับ
            Next
            CodeBarre += "+"
        End If
        Return CodeBarre
    End Function


Error :
Index and length must refer to a location within the string.
Parameter name: length

ช่วยดูโค้ดหน่อยนะครับ ว่าผิดตรงไหน
ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-21 11:40:09 By : iArt
 


 

No. 4

Guest


ทำได้แล้วคร๊าบบบบบ ฮ่าๆๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-21 19:20:38 By : iArt
 


 

No. 5



โพสกระทู้ ( 424 )
บทความ ( 0 )



สถานะออฟไลน์


แก้ยังไงหรอครับ ขอความรู้หน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-22 14:41:58 By : Agility
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : iArt เมื่อวันที่ 2014-01-21 11:40:09
รายละเอียดของการตอบ ::
.ขอชุดโค๊ดหน่อยได้มั้ยครับ ต้องทำ EAN 13 เหมือนกัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-06 13:21:27 By : mm3102
 


 

No. 7

Guest


Code (VB.NET)
  Public Function EAN13(ByVal chaine As String) As String
        Dim i As Integer
        Dim first As Integer
        Dim checksum As Integer = 0
        Dim CodeBarre As String = ""
        Dim tableA As Boolean


        If Microsoft.VisualBasic.Len(chaine) = 12 Then
            If Convert.ToInt64(chaine) >= 100000000000 Then
                For i = 1 To 11 Step 2
                    System.Diagnostics.Debug.WriteLine(chaine.Substring(i, 1))
                    checksum += Convert.ToInt32(chaine.Substring(i, 1))
                Next
                checksum *= 3
                For i = 0 To 11 Step 2
                    checksum += Convert.ToInt32(chaine.Substring(i, 1))
                Next

                chaine = chaine & (10 - checksum Mod 10) Mod 10

                CodeBarre = chaine.Substring(0, 1) & ChrW(65 + Convert.ToInt32(chaine.Substring(1, 1)))
                first = Convert.ToInt32(chaine.Substring(0, 1))
                For i = 2 To 6
                    tableA = False
                    Select Case i
                        Case 2
                            If first >= 0 AndAlso first <= 3 Then
                                tableA = True
                            End If
                            Exit Select
                        Case 3
                            If first = 0 OrElse first = 4 OrElse first = 7 OrElse first = 8 Then
                                tableA = True
                            End If
                            Exit Select
                        Case 4
                            If first = 0 OrElse first = 1 OrElse first = 4 OrElse first = 5 OrElse first = 9 Then
                                tableA = True
                            End If
                            Exit Select
                        Case 5
                            If first = 0 OrElse first = 2 OrElse first = 5 OrElse first = 6 OrElse first = 7 Then
                                tableA = True
                            End If
                            Exit Select
                        Case 6
                            If first = 0 OrElse first = 3 OrElse first = 6 OrElse first = 8 OrElse first = 9 Then
                                tableA = True
                            End If
                            Exit Select
                    End Select
                    MsgBox(Convert.ToInt32(chaine.Substring(i, 1)))
                    If tableA Then
                        CodeBarre += ChrW(65 + Convert.ToInt32(chaine.Substring(i, 1)))
                    Else
                        CodeBarre += ChrW(75 + Convert.ToInt32(chaine.Substring(i, 1)))
                    End If
                Next
                CodeBarre += "*"

                For i = 7 To 12

                    CodeBarre += ChrW(97 + Convert.ToInt32(chaine.Substring(i, 1)))
                Next
                CodeBarre += "+"
            End If
        End If
        Return CodeBarre
    End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-09 13:35:34 By : mm3102
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอวิธีสั่งพิมพ์บาร์โค้ด EAN13 แปลงจากบาร์โค้ดเป็น String เพื่อเตรียมปริ้นบาร์โค้ดนะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่