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

📄 boxincome.~pas

📁 Barcode And LabelPrint
💻 ~PAS
字号:
unit BoxIncome;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, NEOFORM, ExtCtrls, ToolWin, ComCtrls, StdCtrls, Buttons, Mask,
  DBCtrls, RpBase, RpSystem, RpDefine, RpRave,RpCon, RpConDS, rvclass, rvcsstd, RvCsBars;

type
  TFrmBoxIncome = class(TGBKPForm)
    GroupBox1: TGroupBox;
    MemoBarcodeS: TMemo;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    EdtBarCodeEnter: TEdit;
    LabelMessage: TLabel;
    RvProjectShipLabel: TRvProject;
    RvSystemShipLabel: TRvSystem;
    RvDataSetConnectionShipLabel: TRvDataSetConnection;
    procedure EdtBarCodeEnterKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure MemoBarcodeSDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmBoxIncome: TFrmBoxIncome;

implementation

uses StockDataModel, PublicParameter;

{$R *.dfm}

procedure TFrmBoxIncome.EdtBarCodeEnterKeyPress(Sender: TObject;
  var Key: Char);
 var BarCodeTemp: string;
 MyPage:   TRavePage;
 MyText:   TRaveText;
 I2of5BarCode3:TRaveI2of5BarCode;
begin
  inherited;

  if key = #13 then //条码完毕
  begin
    BarCodeTemp :=copy(trim(EdtBarCodeEnter.Text),2,15) ;//扫描时前面多一个0
    if BarCodeTemp = '' then
    begin
      LabelMessage.Caption := '扫描失败,请重新扫描!';
      exit;
    end;
    EdtBarCodeEnter.text:='';
    if MemoBarcodeS.Lines.IndexOf( BarCodeTemp)>=0 then
    begin
      LabelMessage.Caption := '此条码刚扫描过,请重新扫描!';
      exit;
    end;


    if not StockDM.QBarCodefind.Locate('BarCode', BarCodeTemp, []) then
    begin //定位
      LabelMessage.Caption := '此条码机器还未生产,请重新扫描!';
      exit;
    end;
     MemoBarcodeS.Lines.Add(BarCodeTemp);
     //自动 打印
       RvProjectShipLabel.Open;
       With   RvProjectShipLabel.ProjMan do
           begin
             
              MyPage :=  FindRaveComponent('ReportMain.Page1',nil) as TRavePage;
              I2of5BarCode3 := FindRaveComponent('I2of5BarCodeBoxIncomBarcode',MyPage) as TRaveI2of5BarCode;
              I2of5BarCode3.Text:=BarCodeTemp;
           end;
       RvSystemShipLabel.DefaultDest:=rdPrinter;
      // RvSystemShipLabel.SystemSetups.:=rdPrinter;
  try                              //Canvas does not allow drawing //因为系统没有打印机
    RvProjectShipLabel.Execute;   //是因为TCanvas的FHandle还没有分配的时候就要求执行必须有FHandle才能进行的操作引起的,
  except
    ShowMessage('打印失败请重新打印!');
    Abort;
  end;
   EdtBarCodeEnter.text:='';
  end;

  EdtBarCodeEnter.SetFocus;
end;

procedure TFrmBoxIncome.FormCreate(Sender: TObject);
begin
  inherited;
 //RvProjectShipLabel.ProjectFile := CurPath + '\条码\BoxIncomeBarCode.rav';
 if StockDM.QBarCodefind.Active=false then StockDM.QBarCodefind.Active:=true;
 
end;

procedure TFrmBoxIncome.MemoBarcodeSDblClick(Sender: TObject);
begin
  inherited;
  StockDM.QBarCodefind.Locate('BarCode', MemoBarcodeS.SelText, []);

end;

procedure TFrmBoxIncome.FormShow(Sender: TObject);
begin
  inherited;
EdtBarCodeEnter.SetFocus;
end;

end.

⌨️ 快捷键说明

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