Barcodes

Hi!, I am currently developping an application for use with ID cards, and I require code tht allows me to create barcodes. thus code 128 A B C is most important, then if possible some other like EAN 39 etc etc...

I require the code to make a Bitmap image out of a barcode, no antialias, just Crisp quality...

if anyone here can provide me working code, I will be thrilled!

and if I can use Graphics32 for this as well, I will be even more thrilled!

I am willing to increase points as well for something that really works...

invalid characters should just be ignored...
LVL 2
joepeztAsked:
Who is Participating?
 
bernaniCommented:
Hi,

Maybe you can download the unit QRBarcode.pas from http://www.devarchive.com/download.php?programid=556

It contains;

interface

uses
  WinProcs, WinTypes, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  QuickRpt, Qrctrls;

type
   TQRBarcodeType =
   (
   bcCode_2_5_interleaved,
   bcCode_2_5_industrial,
   bcCode_2_5_matrix,
   bcCode39,
   bcCode39Extended,
   bcCode128A,
   bcCode128B,
   bcCode128C,
   bcCode93,
   bcCode93Extended,
   bcCodeMSI,
   bcCodePostNet,
   bcCodeCodabar,
   bcCodeEAN8,
   bcCodeEAN13,
   bcCodeUPC_A,
   bcCodeUPC_E0,
   bcCodeUPC_E1,
   bcCodeSupp2,     // UPC 2 digit supplemental
   bcCodeSupp5     // UPC 5 digit supplemental
   );


  TBarLineType = (white, black, black_half);  {for internal use only}
  { black_half means a black line with 2/5 height (used for PostNet) }


  TQRBarcode = class(TQRImage)
  private
    { Private-Deklarationen }
          FCheckVal:string;
          FHeight : integer;
          FText  : string;
          FTop    : integer;
          FLeft   : integer;
          FModul  : integer;
          FRatio  : double;
          FTyp    : TQRBarcodeType;
          FCheckSum:boolean;
          FShowText:boolean;
          FAngle  : double;

          modules:array[0..3] of shortint;


          procedure OneBarProps(code:char; var Width:integer; var lt:TBarLineType);

          procedure DoLines(data:string; Canvas:TCanvas);

          function SetLen(pI:byte):string;

          function Code_2_5_interleaved:string;
          function Code_2_5_industrial:string;
          function Code_2_5_matrix:string;
          function Code_39:string;
          function Code_39Extended:string;
          function Code_128:string;
          function Code_93:string;
          function Code_93Extended:string;
          function Code_MSI:string;
          function Code_PostNet:string;
          function Code_Codabar:string;
          function Code_EAN8:string;
          function Code_EAN13:string;
          function Code_UPC_A:string;
          function Code_UPC_E0:string;
          function Code_UPC_E1:string;
          function Code_Supp5:string;
          function Code_Supp2:string;

          function GetTypText:string;
          procedure MakeModules;


          function GetWidth : integer;
          function getEAN(Nr : String) : String;
          function getSupp(Nr : String) : String;

          procedure SetCheck(pS:string);
          procedure SetModul(v:integer);
          procedure setFheight(i:integer);
          procedure setFtop(i:integer);
          procedure setFleft(i:integer);
          procedure setFRatio(d:double);
          procedure SetFTyp(t:TQRBarcodeType);
          procedure setFCheckSum(b:boolean);
          procedure SetFAngle(d:double);
          procedure setFShowText(b:boolean);
          procedure SetFText(s:string);
  protected
    { Protected-Deklarationen }
          function MakeData : string;
          procedure Print(OfsX, OfsY : integer);

  public
    { Public-Deklarationen }
          constructor Create(Owner:TComponent); override;
          procedure DrawBarcode(Canvas:TCanvas);
          procedure DrawText(Canvas:TCanvas);
          procedure View;
 
_______________________________

Hope this can help.
0
 
TheRealLokiSenior DeveloperCommented:
I think you can get barcode "fonts"
0
 
mokuleCommented:
Hi,
maybe You can use Report Manager
from
http://reportman.sourceforge.net/
Bar codes: rpmdbarcode.pas
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
joepeztAuthor Commented:
mmm,.. not really report managers I am looking for... and fonts?. O tried them before but with less or allmost no success... some readers just do not like them cause you need a start and end point on some barcodes, atleast for some readers...

what really would help me is some kind of template I can use to build barcodes in example VCL, just render a TBitmap or whatever.... I have tried TP Systools, but this product is no longer supported, and pretty much no maintenance to it...

0
 
kretzschmarCommented:
fonts are ok, but you have to map the readable string to the barcode u want to use,
additional some barcodes needing a begin- and endsequence

a comercial but good one support

http://www.idautomation.com/formscontrols/FormsControlManual.html

meikl ;-)
0
 
saravananvgCommented:
Hello Sir,

  Check the following barcode component

  Free TBarcode component v.1

 under the site http://www.torry.net/pages.php?s=93

with regards,
padmaja.
0
 
mokuleCommented:
I don't mean to use Report Manager itself, but use it's source code regarding bar codes.
0
 
joepeztAuthor Commented:
I never get what I want anyway, but I will take your comment into concideration if I start with barcodes again, atm I haeve no clue...gz..
0
 
bernaniCommented:
Hi,

Thanks for answer.

I never get what I want anyway....  

Maybe you can also try to check this site which reports 73 results - Delphi in Most Downloaded Barcode Products:

http://www.componentsource.com/topdownloads/xbarcod/index.html?q=delphi

Maybe a way to get what you want ;)
0
 
joepeztAuthor Commented:
true, but they all costs :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.