unit U_KuWeiList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxButtonEdit, cxDropDownEdit, cxPC, Buttons, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, cxNavigator; type TfrmKuWeiList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Order_Main: TClientDataSet; Panel1: TPanel; v1Column7: TcxGridDBColumn; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport2: TRMXLSExport; CDS_PRT: TClientDataSet; Label2: TLabel; QuYu: TEdit; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; Label1: TLabel; FenQu: TEdit; Label5: TLabel; Pai: TEdit; Label6: TLabel; KWName: TEdit; Label7: TLabel; Ceng: TEdit; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; TbSelect: TToolButton; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure CustomerNoNameChange(Sender: TObject); procedure N2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure ZJStatusChange(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure TbSelectClick(Sender: TObject); procedure Tv1DblClick(Sender: TObject); private canshu1:string; DQdate:TDateTime; procedure InitGrid(); procedure InitForm(); procedure PrtData(KWID:String); { Private declarations } public FFInt,FCloth:Integer; { Public declarations } end; var frmKuWeiList: TfrmKuWeiList; implementation uses U_DataLink,U_RTFun; {$R *.dfm} procedure TfrmKuWeiList.FormDestroy(Sender: TObject); begin frmKuWeiList:=nil; end; procedure TfrmKuWeiList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmKuWeiList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; canshu1:=Trim(DParameters1); end; procedure TfrmKuWeiList.TBCloseClick(Sender: TObject); begin WriteCxGrid('库位列表',Tv1,'库位管理'); Close; end; procedure TfrmKuWeiList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from KuWei A where KWType=''GG'' and Valid=''Y'' '); Open; end; SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmKuWeiList.InitForm(); begin ReadCxGrid('库位列表',Tv1,'库位管理'); InitGrid(); end; procedure TfrmKuWeiList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmKuWeiList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKuWeiList.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmKuWeiList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmKuWeiList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmKuWeiList.CustomerNoNameChange(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,Order_Main); SInitCDSData20(ADOQueryMain,Order_Main); end; procedure TfrmKuWeiList.N2Click(Sender: TObject); begin SelOKNo(Order_Main,false); end; procedure TfrmKuWeiList.N1Click(Sender: TObject); begin SelOKNo(Order_Main,True); end; procedure TfrmKuWeiList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmKuWeiList.ZJStatusChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKuWeiList.ToolButton4Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if Trim(ComboBox1.Text)='' then begin Application.MessageBox('方向不能为空!','提示',0); Exit; end; if Order_Main.Locate('SSel',True,[])=False then begin Application.MessageBox('没有选择数据!','提示',0); Exit; end; Order_Main.DisableControls; with Order_Main do begin First; while Locate('SSel',True,[]) do begin PrtData(Trim(Order_Main.fieldbyname('KWID').AsString)); Edit; FieldByName('SSel').Value:=False; end; end; Order_Main.EnableControls; end; procedure TfrmKuWeiList.PrtData(KWID:String); var fPrintFile,Txt,fImagePath:string; i,j:Integer; Moudle: THandle; Makebar:TMakebar; Mixtext:TMixtext; begin fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\库位标签.rmf'; if FileExists(fPrintFile)=False then begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+'Report\库位标签.rmf'),'提示',0); exit; end; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add('select * from KuWei where KWID='''+Trim(KWID)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); try Moudle:=LoadLibrary('MakeQRBarcode.dll'); @Makebar:=GetProcAddress(Moudle,'Make'); @Mixtext:=GetProcAddress(Moudle,'MixText'); Txt:=Trim(KWID); fImagePath:=ExtractFilePath(Application.ExeName)+'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName)+'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName)+'image'),nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt),Length(Txt),3,3,0,PChar(fImagePath),3); except application.MessageBox('二维码生成失败!','提示信息',MB_ICONERROR); exit; end; RMVariables['QRBARCODE']:=fImagePath; if Trim(ComboBox1.Text)='→' then begin RMVariables['FangXiang']:='→→→→'; end else if Trim(ComboBox1.Text)='←' then begin RMVariables['FangXiang']:='←←←←'; end; RM1.LoadFromFile(fPrintFile); //RM1.ShowReport; RM1.PrintReport; end; procedure TfrmKuWeiList.TbSelectClick(Sender: TObject); begin WriteCxGrid('库位列表',Tv1,'库位管理'); ModalResult:=1; end; procedure TfrmKuWeiList.Tv1DblClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; ModalResult := 1; end; end.