Tämä VB-ohjelma piirtää halutusta tunnuksesta viivakoodin, jonka pitäisi suurinpiirtein vastata todellisuutta. Merkintätavat tosin vaihtelevat, joten ohjelman tekemä saattaa poiketa siitä, minkälainen jossain kirjassa tai pakkauksessa on. Jos koodin printtaa, sen pitäisi periaatteessa olla luettavissa viivakoodinlukijoilla. Ohjelma myös tarkistaa koodin oikeellisuuden.
Private Sub Form_Load() AutoRedraw = True ScaleMode = 3 Dim koodi As String, tarkistus As Boolean Dim vasen As String, oikea As String, tark As Integer tarkistus = True 'tarkistetaanko viivakoodi Static Varit(1) As Long Varit(0) = BackColor Varit(1) = 0 MerkitV = Array("0001101", "0011001", "0010011", "0111101", _ "0100011", "0110001", "0101111", "0111011", _ "0110111", "0001011") MerkitO = Array("1110010", "1100110", "1101100", "1000010", _ "1011100", "1001110", "1010000", "1000100", _ "1001000", "1110100") koodi = InputBox("Anna viivakoodi muodossa X XXXXXX XXXXXX:") vasen = Mid$(koodi, 3, 6) oikea = Mid$(koodi, 10, 6) If tarkistus Then For i = 1 To 6 summa = summa + ((i Mod 2) * 2 + 1) * Val(Mid$(vasen, i, 1)) If i <> 6 Then summa = summa + ((i Mod 2) * 2 + 1) * Val(Mid$(oikea, i, 1)) End If Next summa = summa + Val(Left$(koodi, 1)) tark = (Int(summa / 10) * 10 + 10) - summa If tark = 10 Then tark = 0 If tark <> Val(Mid$(oikea, 6, 1)) Then MsgBox "Virheellinen viivakoodi!" End End If End If CurrentX = 10: CurrentY = 10 Line Step(0, 0)-Step(0, 17 * 2) Line Step(2, -1)-Step(0, -17 * 2) suunta = 1 For i = 1 To 6 For j = 1 To 7 Line Step(1, suunta)-Step(0, suunta * 14 * 2), Varit(Val(Mid$(MerkitV(Val(Mid$(vasen, i, 1))), j, 1))) suunta = -suunta Next CurrentX = CurrentX + 1 Next Line Step(1, 1)-Step(0, 17 * 2) Line Step(2, -1)-Step(0, -17 * 2) For i = 1 To 6 For j = 1 To 7 Line Step(1, suunta)-Step(0, suunta * 14 * 2), Varit(Val(Mid$(MerkitO(Val(Mid$(oikea, i, 1))), j, 1))) suunta = -suunta Next CurrentX = CurrentX + 1 Next Line Step(1, 1)-Step(0, 17 * 2) Line Step(2, -1)-Step(0, -17 * 2) Print: Print: Print Print " " & koodi End Sub
Päätit jatkaa hienojen tekemistä, Antti!
ÖÖÖ!Buu!Toiha tekee aina saman laisen viiva koodin!
Toi väittää aina että se on virheellinen viiva koodi
Kulma, ton pitäis tehä EAN-13-viivakoodi.
Et varmaan pistäny siihen sellasta. Syötä siihen vaikka jostain mehutölkistä se viivakoodi ja muista ne välit! Tää viivakoodi ainaki toimii: 6 414881 643012
Hieno ohjelma! Teki muuten Aarrearkku- karkkipussin EAN- numerosta täsmälleen oikean viivakoodin!! (Taidan lisätä tuohon vielä tulostuksen!)
herjaa meikäläisellä tuossa kohdassa
Line Step(0, 0)-Step(0, 17 * 2) Line Step(2, -1)-Step(0, -17 * 2)
vinkkiä??
Aihe on jo aika vanha, joten et voi enää vastata siihen.