home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / Chip_1998-03_cd.bin / zkuste / delphi / ruzkomp / BARCODE.ZIP / Unit1.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1997-04-15  |  2.7 KB  |  119 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Barcode, StdCtrls, ExtCtrls, Buttons, Printers;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Label1: TLabel;
  12.     Label2: TLabel;
  13.     Edit1: TEdit;
  14.     Edit2: TEdit;
  15.     ChooseBarType: TRadioGroup;
  16.     BitBtn1: TBitBtn;
  17.     Panel1: TPanel;
  18.     Image1: TImage;
  19.     BitBtn2: TBitBtn;
  20.     BitBtn3: TBitBtn;
  21.     Button1: TButton;
  22.     PrintDialog1: TPrintDialog;
  23.     Button2: TButton;
  24.     BarCode1: TBarCode;
  25.     procedure BitBtn3Click(Sender: TObject);
  26.     procedure Button1Click(Sender: TObject);
  27.     procedure Button2Click(Sender: TObject);
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure BitBtn1Click(Sender: TObject);
  30.     procedure BitBtn2Click(Sender: TObject);
  31.   private
  32.     { Private declarations }
  33.   public
  34.     { Public declarations }
  35.   end;
  36.  
  37. var
  38.   Form1: TForm1;
  39.  
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. procedure TForm1.BitBtn3Click(Sender: TObject);
  45. begin
  46.   PrintDialog1.Execute;
  47. end;
  48.  
  49. procedure TForm1.Button1Click(Sender: TObject);
  50. Var
  51.   dpi : Word;
  52.   st  : String;
  53. begin
  54.   DPI:=GetDeviceCaps(Printer.Handle,LOGPIXELSX);
  55.   Str(DPI,st);
  56.   Edit2.text:=st;
  57.   Edit2.Refresh;
  58. end;
  59.  
  60. procedure TForm1.Button2Click(Sender: TObject);
  61. Var
  62.   dpi : Word;
  63.   st  : String;
  64. begin
  65.   DPI:=Screen.PixelsPerInch;
  66.   Str(DPI,st);
  67.   Edit2.text:=st;
  68.   Edit2.Refresh;
  69. end;
  70.  
  71. procedure TForm1.FormCreate(Sender: TObject);
  72. begin
  73.   Button2Click(Self);
  74. end;
  75.  
  76. procedure TForm1.BitBtn1Click(Sender: TObject);
  77. Var
  78.   tmp,idx : Integer;
  79.   pic     : TBitmap;
  80.   st      : String;
  81.   error   : Boolean;
  82. begin
  83.   Image1.Picture.Bitmap.Canvas.Pen.Color:=clWhite;
  84.   Image1.Picture.Bitmap.Canvas.Pen.Width :=1;
  85.   Image1.Picture.Bitmap.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
  86.   With barcode1 Do
  87.   Begin
  88.     barcode:=Edit1.Text;
  89.     Val(Edit2.Text,tmp,idx);
  90.     DPI:=tmp;
  91.     Case ChooseBarType.ItemIndex Of
  92.       0 : Bartype:=EAN_13;
  93.       1 : Bartype:=CODE_39;
  94.       2 : Bartype:=XCODE_39;
  95.       {3 : Bartype:=INTERLEAVE_2_of_5;}
  96.     End;
  97.   End;
  98.   error:=False;
  99.   Try
  100.     barcode1.TestBarcode;
  101.   except
  102.     On EWrongNumber Do begin st:='Wrong number of digits'; error:=True; end;
  103.     On EOnlyNumeric DO begin st:='Only numbers allowed!'; error:=True; end;
  104.     On ECheckDigitFail Do begin st:='Check digit NOT correct'; error:=True; end;
  105.     On ECharacterInValid Do Begin st:='Illegal character';error:=True; end;
  106.   End;
  107.   if error Then MessageDlg(st, mtError, [mbOk], 0)
  108.   Else Image1.Picture.Bitmap:=barcode1.getBarcode;
  109. end;
  110.  
  111. procedure TForm1.BitBtn2Click(Sender: TObject);
  112. begin
  113.   Printer.BeginDoc;
  114.   Printer.Canvas.Draw(1,1,Image1.Picture.Bitmap);
  115.   Printer.EndDoc;
  116. end;
  117.  
  118. end.
  119.