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

📄 pbarcodeprinter.pas

📁 BarCodePrint条码打印机打印管理
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit PBarCodePrinter;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ImgList, ToolWin, Menus, ExtCtrls,Adodb, OleServer, Excel97,
  StdCtrls,Printers,math,db, Excel2000;

type
  TBarCodePrinter = class(TForm)
    TabControlMain: TTabControl;
    ImageListSmall: TImageList;
    lvwPrintQueue: TListView;
    StatusBarMain: TStatusBar;
    PopupMenuMain: TPopupMenu;
    MenuItemNew: TMenuItem;
    MenuItemImport: TMenuItem;
    N3: TMenuItem;
    MenuItemHandin: TMenuItem;
    N5: TMenuItem;
    MenuItemErase: TMenuItem;
    MenuItemEdit: TMenuItem;
    ToolBarMain: TToolBar;
    ToolButtonNew: TToolButton;
    ToolButton2: TToolButton;
    ToolButton6: TToolButton;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    ToolButton8: TToolButton;
    ToolButton5: TToolButton;
    MainMenu: TMainMenu;
    N2: TMenuItem;
    N4: TMenuItem;
    N6: TMenuItem;
    N9: TMenuItem;
    N13: TMenuItem;
    N16: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    NDataLink: TMenuItem;
    N22: TMenuItem;
    NAbout: TMenuItem;
    N23: TMenuItem;
    NExit: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N30: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    N33: TMenuItem;
    N36: TMenuItem;
    N37: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    app: TExcelApplication;
    N1: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    ToolButton4: TToolButton;
    mnNewSite: TMenuItem;
    procedure lvwPrintQueueMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure MenuItemNewSearchClick(Sender: TObject);
    procedure ToolButtonRefreshClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure lvwPrintQueueColumnClick(Sender: TObject;
      Column: TListColumn);
    procedure lvwPrintQueueCompare(Sender: TObject; Item1,
      Item2: TListItem; Data: Integer; var Compare: Integer);
    procedure NDataLinkClick(Sender: TObject);
    procedure NAboutClick(Sender: TObject);
    procedure NExitClick(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure N37Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N39Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure mnNewSiteClick(Sender: TObject);
  private
    { Private declarations }
    function GetValue(s:String):String;
  public
    { Public declarations }
    nPrinter:Integer;
    nBarCode:Integer;
    nPort:Integer;
    sCompanyCode:String;
  end;

var
  BarCodePrinter: TBarCodePrinter;
  ColumnToSort:Integer;
  SortOrder:Integer;
implementation

uses  PSearchConditon, PPublic, PDataModuleMain, Password,
  Regist, AboutF, PJobNew, PUsers, SetPass, PProductCode, PProcessCode,
  PRelation, PPartsCode, pNewJob,ComObj, ActiveX, pHistory, pSet,
  PPrintType, pEditJob, pEditJobB, pEditJobC, FfrmNewSiteEdit;

{$R *.DFM}

function TBarCodePrinter.GetValue(s:String):String;
var
  rs:String;
  v:real;
begin
  //get the uf value
  rs:=copy(s,5,length(s)-5);
  v:=strtofloat(copy(rs,1,length(rs)-1))*power(10,strtofloat(copy(rs,length(rs),1)));
  v:=v/1000000;
  result:='M '+COPY(floattostr(v),2,LENGTH(floattostr(v))-1)+' uF           20%';
end;

procedure TBarCodePrinter.lvwPrintQueueMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
    pos:TPoint;
begin
    if Button=mbRight then
    begin
        pos.x:=X;
        pos.y:=y;
        pos:=lvwPrintQueue.ClientToScreen(pos);
        PopupMenuMain.Popup(pos.x,pos.y);
    end;
end;

procedure TBarCodePrinter.MenuItemNewSearchClick(Sender: TObject);
begin
    if not assigned(FormSearchCondition) then Application.CreateForm(TFormSearchCondition,FormSearchCondition);
    FormSearchCondition.Show;
end;

procedure TBarCodePrinter.ToolButtonRefreshClick(Sender: TObject);
var
    ADODataSetTemp:TADODataSet;
    ListItem:TListItem;
    dCount:Double;
    //HITime:TDate;
begin
    ADODataSetTemp:=TADODataSet.Create(Self);
    //ListItem:=Nil;
    try
        if lvwPrintQueue.Visible=True then
        begin
            lvwPrintQueue.Items.Clear;
            ADODataSetTemp.CommandType:=cmdText;
            ADODataSetTemp.CursorType:=ctOpenForwardOnly;
            ADODataSetTEmp.LockType:=ltReadOnly;
            ADODataSetTemp.CommandText:='select * from InspectionFI where Usercode='+
                                    ''''+UserCode+'''';
            ADODataSetTemp.Connection:=DataModuleMain.ADOConnectionBarCode;
            ADODataSetTemp.Open;
            ADODataSetTemp.Connection:=Nil;
            while not ADODataSetTemp.Eof do
            begin
                ListItem:=lvwPrintQueue.Items.Add;
                ListItem.ImageIndex:=10;
                ListItem.Caption:=ADODataSetTemp.FieldByName('FICode').Value;
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('MCode').Value);
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('MName').Value);
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('FCode').Value);
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('FName').Value);
                dCount:=ADODataSetTemp.FieldByName('MCount').Value;
                ListItem.SubItems.Add(Format('%14.4f',[dCount]));
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('MUnit').Value);
                ListItem.SubItems.Add(ADODataSetTemp.FieldByName('UserCode').Value);
                ADODataSetTemp.Next;
            end;
            StatusBarMain.SimpleText:='共:'+IntToStr(ADODataSetTemp.RecordCount)+'条';
        end;

    finally
        ADODataSetTemp.Close;
        ADODataSetTemp.Free;
    end;


end;

procedure TBarCodePrinter.FormCreate(Sender: TObject);
var
LoginWindow:TGetPass;

sPrinter,sBarCode:String;
ADOTableSet:TADOTable;
begin
    nPrinter:=1;


    LoginWindow:=TGetPass.Create(Self);
    LoginWindow.ShowModal;
    LoginWindow.Free;
    if UserCode='' then
        Application.Terminate;

    ADOTableSet:=TADOTable.Create(Self);
    ADOTableSet.Connection:=DataModuleMain.ADOConnectionBarCode;;
    ADOTableSet.TableName:='system';
    ADOTableSet.Open;
    nBarCode:=ADOTableSet.FieldByName('BarCode').AsInteger;
    nPrinter:=ADOTableSet.FieldByName('Printer').AsInteger;
    nPort:=ADOTableSet.FieldByName('Port').AsInteger;
    ADOTableSet.Close;
    ADOTableSet.Free;

    lvwPrintQueue.Align:=alClient;
    SortOrder:=1;
    sCompanyCode:='Q';
    if nPrinter=1 then
        sPrinter:='条码打印机'
    else
        sPrinter:='普通打印机';
    if nBarCode=0 then
        sBarCode:='39码'
    else
        sBarCode:='128码';
    StatusBarMain.SimpleText:=UserName+'***'+sPrinter+'***'+sBarCode;
end;

procedure TBarCodePrinter.lvwPrintQueueColumnClick(Sender: TObject;
  Column: TListColumn);
begin
  ColumnToSort:=Column.Index;
  SortOrder:=(-1)*SortOrder;
  (Sender as TCustomListView).AlphaSort;
end;

procedure TBarCodePrinter.lvwPrintQueueCompare(Sender: TObject;
  Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
var
    ix: Integer;
begin
  if ColumnToSort = 0 then
        Compare := SortOrder*CompareText(Item1.Caption,Item2.Caption)
  else begin
    ix := ColumnToSort - 1;
    Compare := SortOrder*CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
  end;
end;

procedure TBarCodePrinter.NDataLinkClick(Sender: TObject);
begin
    if not assigned(frmRegist) then frmRegist:=TfrmRegist.Create(Self);
    frmRegist.Show;
end;

procedure TBarCodePrinter.NAboutClick(Sender: TObject);
var
About:TAboutBox;
begin
    About:=TAboutBox.Create(Self);
    About.ShowModal;
    About.Free;
end;

procedure TBarCodePrinter.NExitClick(Sender: TObject);
begin
    Close;
end;

procedure TBarCodePrinter.N33Click(Sender: TObject);
begin
  if UserCode='001' then
  begin
    if not assigned(FormUsers) then FormUsers:=TFormUsers.Create(Self);
    FormUsers.showModal;
  end
  else
      Application.MessageBox('需要管理员权限!','提示',MB_OK);
end;

procedure TBarCodePrinter.N37Click(Sender: TObject);
begin
    frmSetPass:=TfrmSetPass.Create(Self);
    frmSetPass.ShowModal;
end;

procedure TBarCodePrinter.N27Click(Sender: TObject);
begin
    FormProductCode:=TFormProductCode.Create(Self);
    FormProductCode.ShowModal;
    FormProductCode.Free;
end;

procedure TBarCodePrinter.N28Click(Sender: TObject);
begin
    FormProcessCode:=TFormProcessCode.Create(Self);
    FormProcessCode.ShowModal;
    FormProcessCode.Free;
end;

procedure TBarCodePrinter.N20Click(Sender: TObject);
begin
  if UserCode='001' then
  begin
      FormRelation:=TFormRelation.Create(Self);
      FormRelation.Show;
  end
  else
      Application.MessageBox('需要管理员权限!','提示',MB_OK);
end;

procedure TBarCodePrinter.N11Click(Sender: TObject);
begin
    FormPartsCode:=TFormPartsCode.Create(Self);
    FormPartsCode.ShowModal;
    FormPartsCode.Free;
end;

procedure TBarCodePrinter.N4Click(Sender: TObject);
begin
   // if not assigned(FormNewJob) then FormNewJob:=TFormNewJob.Create(Self);
   //FormNewJob.Show;
    if not assigned(FormPrintType) then FormPrintType:=TFormPrintType.Create(Self);

⌨️ 快捷键说明

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