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 SubPää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.