![]() |
Languages »
VB.NET »
Applications
Intermediate
License: The GNU General Public License (GPL)
VBScan barcode softwareBy demmA barcode scanning and decoding software without third-party software |
VB, Windows, .NET 1.0, .NET 1.1VS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||

VBScan is a simple program to scan, decode and draw a barcode. It uses only .NET Framework and Windows API functions, no third party products.
It is designed to work with a "barcode wand" scanner that is connected to the com port (RS232) of a PC. Since most barcode wands have TTL voltages you'll need a converter chip to connect the wand to the PC.
After pressing the start button the program periodically checks the DSR line of the RS232. If a transition between black and white is detected it stores how many ticks the last bar was wide. After scanning and pressing stop the scanned barcode get "cleaned", so that we have no incorrect bars. If you now press decode the barcode will be decoded (only Code 3 of 9 supported at the moment) and the datastring is shown in a textbox.
I wrote this program as a project in school. It was designed to work, and nothing more. I'm not a programming professional, so the code is sometimes a bit ugly.
I have written 3 classes: Barcode, Code39 and
HighSpeedTimer
The Barcode
class stores the scanned data in a simple integer array. The class also
provides some functions to clean and draw the barcode.
The Code39
class provides functions to decode an barcode object. It only supports "Code 3
of 9" barcodes, but it wouldn't be a problem to implement other encoding
variants too.
The HighSpeedTimer
class is a wrapper around the windows API functions to time more exact than the
normal timer. I had to do this because the resolution of the standard timer is
not high enough to scan barcodes exactly. This is probably the most
ugly part in my program. If you start the timer, it uses a high amount of
processor power, despite the fact that it does actually nothing... If you can
help me improve this class i would appreciate it.
In the download file you'll find all the classes mentioned above and a small program (see the screenshot) to test them.
Note: In the frmMain there is a Paint event of the picturebox to redraw the
barcode. It works, but uses much CPU time...
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 23 Jun 2004 Editor: Nishant Sivakumar |
Copyright 2004 by demm Everything else Copyright © CodeProject, 1999-2009 Web22 | Advertise on the Code Project |