📄 exbarcu.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 + -