Need help on this one... I am using the following Java Script to create a bar code:
<SCRIPT LANGUAGE="JavaScript">
<!--
code39Bar = new Object;
code39Bar[ "0" ] = "000110100";
code39Bar[ "1" ] = "100100001";
code39Bar[ "2" ] = "001100001";
code39Bar[ "3" ] = "101100000";
code39Bar[ "4" ] = "000110001";
code39Bar[ "5" ] = "100110000";
code39Bar[ "6" ] = "001110000";
code39Bar[ "7" ] = "000100101";
code39Bar[ "8" ] = "100100100";
code39Bar[ "9" ] = "001100100";
code39Bar[ "A" ] = "100001001";
code39Bar[ "B" ] = "001001001";
code39Bar[ "C" ] = "101001000";
code39Bar[ "D" ] = "000011001";
code39Bar[ "E" ] = "100011000";
code39Bar[ "F" ] = "001011000";
code39Bar[ "G" ] = "000001101";
code39Bar[ "H" ] = "100001100";
code39Bar[ "I" ] = "001001100";
code39Bar[ "J" ] = "000011100";
code39Bar[ "K" ] = "100000011";
code39Bar[ "L" ] = "001000011";
code39Bar[ "M" ] = "101000010";
code39Bar[ "N" ] = "000010011";
code39Bar[ "O" ] = "100010010";
code39Bar[ "P" ] = "001010010";
code39Bar[ "Q" ] = "000000111";
code39Bar[ "R" ] = "100000110";
code39Bar[ "S" ] = "001000110";
code39Bar[ "T" ] = "000010110";
code39Bar[ "U" ] = "110000001";
code39Bar[ "V" ] = "011000001";
code39Bar[ "W" ] = "111000000";
code39Bar[ "X" ] = "010010001";
code39Bar[ "Y" ] = "110010000";
code39Bar[ "Z" ] = "011010000";
code39Bar[ "-" ] = "010000101";
code39Bar[ "*" ] = "010010100";
code39Bar[ "+" ] = "010001010";
code39Bar[ "$" ] = "010101000";
code39Bar[ "%" ] = "000101010";
code39Bar[ "/" ] = "010100010";
code39Bar[ "." ] = "110000100";
code39Bar[ " " ] = "011000100";
codes = new Array();
codeTypes = new Array();
sizes = new Array();
dataIdx = 0;
function dumpBar( bar, size )
{
var i;
for( i = 0; i < bar.length; i++ )
{
if( bar.charAt( i ) == "1" )
{
wrt( "<IMG SRC=\"black.jpg\" HEIGHT="+17*size+" WIDTH="+size+">" );
}
else
{
wrt( "<IMG SRC=\"white.jpg\" HEIGHT="+17*size+" WIDTH="+size+">" );
}
}
}
function printBar( bar, table, size )
{
var i;
for( i = 0; i < bar.length; i++ )
{
dumpBar( table[ bar.charAt( i ) ], size );
}
}
function dumpCode( code, size )
{
var i;
var color;
color = "black";
for( i = 0; i < code.length; i++ )
{
if( code.charAt( i ) == "1" )
{
wrt( "<IMG SRC=\""+color+".jpg\" HEIGHT="+17*size+" WIDTH="+size*3+">" );
}
else
{
wrt( "<IMG SRC=\""+color+".jpg\" HEIGHT="+17*size+" WIDTH="+size+">" );
}
if( color == "black" )
{
color = "white";
}
else
{
color = "black";
}
}
}
function writeCode39( code, size )
{
var c;
var i;
code = "*" + code + "*";
for( i = 0; i < code.length; i++ )
{
dumpCode( code39Bar[ code.charAt( i ) ]+"0", size );
}
}
txt = "";
function clearBar() {
wrt('',1);
dataIdx = 0;
show()
}
function show() {
document.write(txt);
document.close();
}
function wrt(str,replace) {
if (replace) txt = ""+str;
else txt += str;
}
function addBar(code)
{
var code;
var cd;
var i;
var codeType;
codeType = "CODE-39";
codes[ dataIdx ] = code;
codeTypes[ dataIdx ] = codeType;
sizes[ dataIdx ] = 1;
dataIdx++;
for( i = 0; i < dataIdx; i++ )
{
writeCode39( codes[ i ], sizes[ i ] );
}
show();
}
//-->
</SCRIPT>
I am then using this call to pass a variable and print the barcode:
<!--
var pin=<%=Number%>;
clearBar();
addBar(pin);
//-->
The value for Number comes from an access mdb as is formatted as a number (I can not change that).
PROBLEM - I need the bar code to be 10 digits. The numbers from the mdb vary between 9 and 10, so I need a leading zero on the 9 digit numbers...Whenever I try and format the number to 10 digits before passing the variable, it cuts it back to nine or does some crazy calculation and does not work.
How can I pass this variable and make sure it is 10 digits, adding the leading zero (left) if necessary.
Thanks.
Start Free Trial