⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exbarcu.pas

📁 条码控件: 一维条码控件 二维条码控件 PDF417Barcode MaxiCodeBarcode
💻 PAS
字号:
(* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is TurboPower SysTools
 *
 * The Initial Developer of the Original Code is
 * TurboPower Software
 *
 * Portions created by the Initial Developer are Copyright (C) 1996-2002
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
 * ***** END LICENSE BLOCK ***** *)

unit ExBarCU;

interface

uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Printers, ExtCtrls, Tabnotbk, ComCtrls, Grids,
  Db, DBTables, DBCtrls, DBGrids,

  StBase, StBarC, StDbBarC, St2DBarC;

type
  TBarCodeForm = class(TForm)
    btnPrint: TButton;
    PrintDialog1: TPrintDialog;
    NB: TTabbedNotebook;
    edCode1: TEdit;
    edSupp: TEdit;
    Label1: TLabel;
    BarCode1: TStBarCode;
    btnCopy: TButton;
    BarCode2: TStBarCode;
    BarCode5: TStBarCode;
    rgType: TRadioGroup;
    cbSupp: TCheckBox;
    btnClose: TButton;
    cbTallGuardBars: TCheckBox;
    cbShowCode: TCheckBox;
    btnUpdate1: TButton;
    cbBearerBars: TCheckBox;
    cbShowCode2: TCheckBox;
    Label2: TLabel;
    edCode2: TEdit;
    btnUpdate2: TButton;
    BarCode7: TStBarCode;
    DataSource1: TDataSource;
    Table1: TTable;
    DBGrid1: TDBGrid;
    btnSave: TButton;
    BarCode6: TStBarCode;
    StDbBarCode1: TStDbBarCode;
    Label3: TLabel;
    edCode3: TEdit;
    Button2: TButton;
    cbShowCode3: TCheckBox;
    BarCode3: TStBarCode;
    Label4: TLabel;
    cbShowGuardChars3: TCheckBox;
    cbShowCode4: TCheckBox;
    BarCode4: TStBarCode;
    Button1: TButton;
    edCode4: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    edCode5: TEdit;
    btnUpdate5: TButton;
    cbShowCode5: TCheckBox;
    Label7: TLabel;
    edCode6: TEdit;
    btnUpdate6: TButton;
    cbShowCode6: TCheckBox;
    Label8: TLabel;
    edCode7: TEdit;
    btnUpdate7: TButton;
    cbShowCode7: TCheckBox;
    Label9: TLabel;
    edCodePDF417: TEdit;
    btnUpdatePDF417: TButton;
    cbShowCodePDF417: TCheckBox;
    Label10: TLabel;
    edCodeMaxiCode: TEdit;
    btnUpdateMaxiCode: TButton;
    cbShowCodeMaxiCode: TCheckBox;
    radMCMode23: TRadioButton;
    radMCMode4: TRadioButton;
    radMCMode5: TRadioButton;
    Label11: TLabel;
    edMCCountryCode: TEdit;
    edMCPostalCode: TEdit;
    edMCServiceClass: TEdit;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    cbPDF417Truncated: TCheckBox;
    StPDF417Barcode1: TStPDF417Barcode;
    StMaxiCodeBarcode1: TStMaxiCodeBarcode;
    btnValidate: TButton;
    procedure btnPrintClick(Sender: TObject);
    procedure btnCopyClick(Sender: TObject);
    procedure btnValidateClick(Sender: TObject);
    procedure btnUpdate1Click(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure btnUpdate2Click(Sender: TObject);
    procedure btnUpdate3Click(Sender: TObject);
    procedure btnUpdate4Click(Sender: TObject);
    procedure btnUpdate5Click(Sender: TObject);
    procedure btnUpdate6Click(Sender: TObject);
    procedure btnUpdate7Click(Sender: TObject);
    procedure btnUpdatePDF417Click(Sender: TObject);
    procedure btnUpdateMaxiCodeClick(Sender: TObject);
    procedure radMCMode4Click(Sender: TObject);
    procedure radMCMode23Click(Sender: TObject);
    procedure radMCMode5Click(Sender: TObject);
    procedure NBChange(Sender: TObject; NewTab: Integer;
      var AllowChange: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  BarCodeForm: TBarCodeForm;

implementation

{$R *.DFM}

procedure TBarCodeForm.btnPrintClick(Sender: TObject);
begin
  if not PrintDialog1.Execute then
    Exit;
  Application.ProcessMessages;

  Screen.Cursor := crHourGlass;
  try
    Printer.BeginDoc;
    try
      Printer.Title := 'StBarCode';

      BarCode1.BarcodeType := bcUPC_A;
      BarCode1.Code := '52100014015';
      BarCode1.SupplementalCode := '';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 0.5, 0.5, 0.5);
      BarCode1.SupplementalCode := '12';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 3.0, 0.5, 0.5);
      BarCode1.SupplementalCode := '12345';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 6.0, 0.5, 0.5);

      BarCode1.BarcodeType :=bcUPC_E;
      BarCode1.Code := '173559';
      BarCode1.SupplementalCode := '';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 0.5, 1.5, 0.5);
      BarCode1.SupplementalCode := '12';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 3.0, 1.5, 0.5);
      BarCode1.SupplementalCode := '12345';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 6.0, 1.5, 0.5);

      BarCode1.BarcodeType := bcEAN_13;
      BarCode1.Code := '737622135746';
      BarCode1.SupplementalCode := '';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 0.5, 2.5, 0.5);
      BarCode1.SupplementalCode := '12';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 3.0, 2.5, 0.5);
      BarCode1.SupplementalCode := '12345';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 6.0, 2.5, 0.5);

      BarCode1.BarcodeType := bcEAN_8;
      BarCode1.Code := '1234567';
      BarCode1.SupplementalCode := '';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 0.5, 3.5, 0.5);
      BarCode1.SupplementalCode := '12';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 3.0, 3.5, 0.5);
      BarCode1.SupplementalCode := '12345';
      BarCode1.PaintToCanvasSize(Printer.Canvas, 6.0, 3.5, 0.5);

      BarCode2.BarcodeType := bcInterleaved2of5;
      BarCode2.Code := '0123456789';
      BarCode2.PaintToCanvasSize(Printer.Canvas, 0.5, 4.5, 0.5);

      BarCode3.BarCodeType := bcCodabar;
      BarCode3.Code := 'c1234567890d';
      BarCode3.PaintToCanvasSize(Printer.Canvas, 3.0, 4.5, 0.5);

      BarCode4.BarCodeType := bcCode11;
      BarCode4.Code := '0123456-12';
      BarCode4.PaintToCanvasSize(Printer.Canvas, 5.0, 4.5, 0.5);

      BarCode5.BarCodeType := bcCode39;
      BarCode5.Code := '1234567890ABCDEFG';
      BarCode5.PaintToCanvasSize(Printer.Canvas, 0.5, 5.5, 0.5);
      BarCode5.Code := '4-976 SUGARLOAF HWY';
      BarCode5.PaintToCanvasSize(Printer.Canvas, 4.5, 5.5, 0.5);

      BarCode6.BarCodeType := bcCode93;
      BarCode6.Code := 'CODE 93';
      BarCode6.PaintToCanvasSize(Printer.Canvas, 0.5, 6.5, 0.5);

      BarCode7.BarCodeType := bcCode128;
      BarCode7.Code128Subset := csCodeA;
      BarCode7.Code := 'CODE 128';
      BarCode7.Validate(True);
      BarCode7.PaintToCanvasSize(Printer.Canvas, 3.0, 6.5, 0.5);

      StMaxiCodeBarcode1.Mode := cmMode5;
      StMaxiCodeBarcode1.Code := 'MaxiCode';
      StMaxiCodeBarcode1.Caption := 'MaxiCode';
      StMaxiCodeBarcode1.PaintToPrinterCanvasSize (Printer.Canvas, 0.5, 7.5, 1);

      StPDF417Barcode1.Code := 'PDF417';
      StPDF417Barcode1.Caption := 'PDF417';
      StPDF417Barcode1.PaintToPrinterCanvasSize (Printer.Canvas, 3.0, 7.5, 1);
    finally
      if not Printer.Aborted then
        Printer.EndDoc;
    end;
  finally
    Screen.Cursor := crDefault;
  end;
end;

procedure TBarCodeForm.btnCopyClick(Sender: TObject);
begin
  case NB.PageIndex of
    0 : BarCode1.CopyToClipboard;
    1 : BarCode2.CopyToClipboard;
    2 : BarCode3.CopyToClipboard;
    3 : BarCode4.CopyToClipboard;
    4 : BarCode5.CopyToClipboard;
    5 : BarCode6.CopyToClipboard;
    6 : BarCode7.CopyToClipboard;
    7 : StPDF417Barcode1.CopyToClipboard;
    8 : StMaxiCodeBarcode1.CopyToClipboard;
  end;
end;

procedure TBarCodeForm.btnValidateClick(Sender: TObject);
begin
  case NB.PageIndex of
    0 : BarCode1.Validate(True);
    1 : BarCode2.Validate(True);
    2 : BarCode3.Validate(True);
    3 : BarCode4.Validate(True);
    4 : BarCode5.Validate(True);
    5 : BarCode6.Validate(True);
    6 : BarCode7.Validate(True);
  end;
end;

procedure TBarCodeForm.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TBarCodeForm.btnSaveClick(Sender: TObject);
begin
  case NB.PageIndex of
    0 : BarCode1.SaveToFile('UPCEAN.bmp');
    1 : BarCode2.SaveToFile('I2of5.bmp');
    2 : BarCode3.SaveToFile('Codabar.bmp');
    3 : BarCode4.SaveToFile('Code11.bmp');
    4 : BarCode5.SaveToFile('Code39.bmp');
    5 : BarCode6.SaveToFile('Code93.bmp');
    6 : BarCode7.SaveToFile('Code128.bmp');
    7 : StPDF417Barcode1.SaveToFile ('PDF417.bmp');
    8 : StMaxiCodeBarcode1.SaveToFile ('MaxiCode.bmp');
  end;
end;

procedure TBarCodeForm.btnUpdate1Click(Sender: TObject);
begin
  case rgType.ItemIndex of
    0 : begin
          BarCode1.BarcodeType := bcUPC_A;
          edCode1.MaxLength := 12;
          edCode1.Text := Copy(edCode1.Text, 1, 12);
          Label1.Caption := 'Code: 11 or 12 Numeric ';
        end;
    1 : begin
          BarCode1.BarcodeType := bcUPC_E;
          edCode1.MaxLength := 6;
          Label1.Caption := 'Code: 6 Numeric ';
          edCode1.Text := Copy(edCode1.Text, 1, 6);
        end;
    2 : begin
          BarCode1.BarcodeType := bcEAN_13;
          edCode1.MaxLength := 13;
          Label1.Caption := 'Code: 12 or 13 Numeric ';
          edCode1.Text := Copy(edCode1.Text, 1, 13);
        end;
    3 : begin
          BarCode1.BarcodeType := bcEAN_8;
          edCode1.MaxLength := 8;
          Label1.Caption := 'Code: 7 or 8 Numeric ';
          edCode1.Text := Copy(edCode1.Text, 1, 8);
        end;
  end;
  BarCode1.ShowCode := cbShowCode.Checked;
  BarCode1.TallGuardBars := cbTallGuardBars.Checked;
  BarCode1.Code := edCode1.Text;
  if cbSupp.Checked then begin
    BarCode1.SupplementalCode := edSupp.Text;
    edSupp.Enabled := True;
  end else begin
    BarCode1.SupplementalCode := '';
    edSupp.Enabled := False;
  end;
end;

procedure TBarCodeForm.btnUpdate2Click(Sender: TObject);
begin
  BarCode2.Code := edCode2.Text;
  BarCode2.ShowCode := cbShowCode2.Checked;
  BarCode2.BearerBars := cbBearerBars.Checked;
end;

procedure TBarCodeForm.btnUpdate3Click(Sender: TObject);
begin
  BarCode3.Code := edCode3.Text;
  BarCode3.ShowCode := cbShowCode3.Checked;
  BarCode3.ShowGuardChars := cbShowGuardChars3.Checked;
end;

procedure TBarCodeForm.btnUpdate4Click(Sender: TObject);
begin
  BarCode4.Code := edCode4.Text;
  BarCode4.ShowCode := cbShowCode4.Checked;
end;

procedure TBarCodeForm.btnUpdate5Click(Sender: TObject);
begin
  BarCode5.Code := edCode5.Text;
  BarCode5.ShowCode := cbShowCode5.Checked;
end;

procedure TBarCodeForm.btnUpdate6Click(Sender: TObject);
begin
  BarCode6.Code := edCode6.Text;
  BarCode6.ShowCode := cbShowCode6.Checked;
end;

procedure TBarCodeForm.btnUpdate7Click(Sender: TObject);
begin
  BarCode7.Code := edCode7.Text;
  BarCode7.ShowCode := cbShowCode7.Checked;
end;

procedure TBarCodeForm.btnUpdatePDF417Click(Sender: TObject);
begin
  StPDF417Barcode1.Truncated := cbPDF417Truncated.Checked;
  StPDF417BarCode1.Code := edCodePDF417.Text;
  if cbShowCodePDF417.Checked then
    StPDF417BarCode1.Caption := edCodePDF417.Text
  else
    StPDF417BarCode1.Caption := '';
end;

procedure TBarCodeForm.btnUpdateMaxiCodeClick(Sender: TObject);
begin
  StMaxiCodeBarCode1.Code := edCodeMaxiCode.Text;
  StMaxiCodeBarCode1.CarrierCountryCode := StrToInt (edMCCountryCode.Text);
  StMaxiCodeBarCode1.CarrierPostalCode := edMCPostalCode.Text;
  StMaxiCodeBarCode1.CarrierServiceClass := StrToInt (edMCServiceClass.Text);
  if cbShowCodeMaxiCode.Checked then
    StMaxiCodeBarCode1.Caption := edCodeMaxiCode.Text
  else
    StMaxiCodeBarCode1.Caption := '';
end;

procedure TBarCodeForm.radMCMode4Click(Sender: TObject);
begin
  edMCServiceClass.Enabled := False;
  edMCPostalCode.Enabled := False;
  edMCCountryCode.Enabled := False;
  StMaxiCodeBarCode1.Mode := cmMode4;
  btnUpdateMaxiCodeClick (Sender);
end;

procedure TBarCodeForm.radMCMode23Click(Sender: TObject);
begin
  edMCServiceClass.Enabled := True;
  edMCPostalCode.Enabled := True;
  edMCCountryCode.Enabled := True;
  StMaxiCodeBarCode1.Mode := cmMode2;
  btnUpdateMaxiCodeClick (Sender);
end;

procedure TBarCodeForm.radMCMode5Click(Sender: TObject);
begin
  edMCServiceClass.Enabled := False;
  edMCPostalCode.Enabled := False;
  edMCCountryCode.Enabled := False;
  StMaxiCodeBarCode1.Mode := cmMode5;
  btnUpdateMaxiCodeClick (Sender);
end;

procedure TBarCodeForm.NBChange(Sender: TObject; NewTab: Integer;
  var AllowChange: Boolean);
begin
  if (NewTab = 7) or (NewTab = 8) then
    btnValidate.Enabled := False
  else
    btnValidate.Enabled := True;
end;

end.



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -