📄 pbarcodeprinter.pas
字号:
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 + -