unit U_ProductOrderLBNameSet; 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, StrUtils, Menus, cxTextEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, 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, cxContainer, cxImage; type TZintSymbol = packed record symbology: Integer; height: Integer; whitespace_width: Integer; border_width: Integer; output_options: Integer; fgcolour: array[0..9] of AnsiChar; bgcolour: array[0..9] of AnsiChar; outfile: array[0..255] of AnsiChar; scale: Single; option_1: Integer; option_2: Integer; option_3: Integer; show_hrt: Integer; input_mode: Integer; eci: Integer; text: array[0..127] of AnsiChar; rows: Integer; width: Integer; primary: array[0..127] of AnsiChar; encoded_data: array[0..199, 0..142] of AnsiChar; row_height: array[0..199] of Integer; // Largest symbol is 189 x 189 errtxt: array[0..99] of AnsiChar; bitmap: PAnsiChar; bitmap_width: Integer; bitmap_height: Integer; bitmap_byte_length: Cardinal; dot_size: Single; rendered: Pointer; debug: Integer; end; PZintSymbol = ^TZintSymbol; const // Tbarcode 7 codes BARCODE_QRCODE = 71; type TfrmProductOrderLBNameSet = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; Label1: TLabel; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Label3: TLabel; OrderNoM: TEdit; v1OrderNo: TcxGridDBColumn; v1OrdDate: TcxGridDBColumn; v1DeliveryDate: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1MPRTSpec: TcxGridDBColumn; Order_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; Label4: TLabel; CustomerNoName: TEdit; v1MPRTCodeName: TcxGridDBColumn; v1MPRTMF: TcxGridDBColumn; PopupMenu1: TPopupMenu; N2: TMenuItem; ToolButton1: TToolButton; Label8: TLabel; MPRTCodeName: TEdit; Label9: TLabel; ConNo: TEdit; v1MPRTKZ: TcxGridDBColumn; v1OrdDefStr1: TcxGridDBColumn; Label10: TLabel; MPRTSpec: TEdit; Label11: TLabel; MPRTCode: TEdit; Label12: TLabel; MPRTKZ: TEdit; Label13: TLabel; MPRTMF: TEdit; ADOQueryPrint: TADOQuery; CDS_Print: TClientDataSet; v1Column4: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; ToolButton2: TToolButton; ToolButton3: TToolButton; PiZhong: TEdit; ToolButton4: TToolButton; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; ToolButton5: TToolButton; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; ToolButton6: TToolButton; ToolButton7: TToolButton; v1Column8: TcxGridDBColumn; ToolButton8: TToolButton; cxImage1: TcxImage; 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 OrderNoMChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure ToolButton1Click(Sender: TObject); procedure ConNoKeyPress(Sender: TObject; var Key: Char); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure v1Column3PropertiesEditValueChanged(Sender: TObject); procedure v1Column1PropertiesEditValueChanged(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure v1Column6PropertiesEditValueChanged(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure v1Column8PropertiesChange(Sender: TObject); procedure ToolButton8Click(Sender: TObject); private DQdate: TDateTime; procedure InitGrid(); procedure InitForm(); procedure tsewm(); procedure tsewm4(); //获取特殊二维码 function GetEWM(Txt, TMMC: string): string; //获取条码 { Private declarations } public FFInt, FCloth: Integer; canshu1: string; FKHEWM,FBZHXMS: string; { Public declarations } end; const LibName = 'zint.dll'; //struct zint_symbol *ZBarcode_Create(void); function ZBarcode_Create(): PZintSymbol; cdecl; external LibName; //void ZBarcode_Delete(struct zint_symbol *symbol); procedure ZBarcode_Delete(symbol: PZintSymbol); cdecl; external LibName; //int ZBarcode_Encode_and_Buffer(struct zint_symbol *symbol, unsigned char *input, int length, int rotate_angle); function ZBarcode_Encode_and_Buffer(symbol: PZintSymbol; input: PAnsiChar; length, rotate_angle: Integer): Integer; cdecl; external LibName; // create bitmap 这个函数是使用编码后的条码图像数据生成Bitmap文件,不属于zint,因此不在zint.h头文件中,上面的三个在zint.h头文件中。 procedure ZBarcode_To_Bitmap(symbol: PZintSymbol; const ABitmap: TBitmap); var // frmProductOrderLBNameSet: TfrmProductOrderLBNameSet; newh: hwnd; implementation uses U_DataLink, U_OrderInPut, U_Fun, U_LabelList; {$R *.dfm} procedure ZBarcode_To_Bitmap(symbol: PZintSymbol; const ABitmap: TBitmap); var SrcRGB: PRGBTriple; Row, RowWidth: Integer; begin ABitmap.PixelFormat := pf24bit; ABitmap.Height := symbol.bitmap_height; ABitmap.Width := symbol.bitmap_width; // ABitmap.Height := 80; // ABitmap.Width := 80; SrcRGB := Pointer(symbol.bitmap); RowWidth := symbol.bitmap_width * 3; for Row := 0 to symbol.bitmap_height - 1 do begin CopyMemory(ABitmap.ScanLine[Row], SrcRGB, RowWidth); Inc(SrcRGB, symbol.bitmap_width); end; SetBitmapBits(ABitmap.Handle, symbol.bitmap_width * symbol.bitmap_height * 3, symbol.bitmap); end; procedure TfrmProductOrderLBNameSet.tsewm(); var lvData: UTF8String; // 使用UTF8编码的字符串 lvBitMap: TBitmap; lvSymbol: PZintSymbol; lvErrorNumber: Integer; lvErrorText: string; bitmap: TBitmap; begin lvSymbol := ZBarcode_Create(); if lvSymbol = nil then Exit; lvBitMap := TBitmap.Create; try //'010872020901234590RS9999-100R1011234567893112005160' lvData := UTF8String(FKHEWM); // 条码类型设置为QRCODE lvSymbol.symbology := BARCODE_QRCODE; // lvSymbol.option_2 := 1; //Data Matrix (ISO 16022)(and HIBC) // 编码 lvErrorNumber := ZBarcode_Encode_and_Buffer(lvSymbol, PAnsiChar(lvData), Length(lvData), 0); // 编码成功 if lvErrorNumber = 0 then begin // 生成Bitmap图形 ZBarcode_To_Bitmap(lvSymbol, lvBitMap); // 显示在Image中 cxImage1.Picture.Bitmap.Width := 80; cxImage1.Picture.Bitmap.Height := 80; cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite; cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height)); cxImage1.Picture.Bitmap.Canvas.StretchDraw(Rect(10, 10, cxImage1.Width - 10, cxImage1.Height - 10), lvBitMap); end else begin cxImage1.Picture.Bitmap.Width := cxImage1.Width; cxImage1.Picture.Bitmap.Height := cxImage1.Height; cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite; cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height)); lvErrorText := string(AnsiString(lvSymbol.errtxt)); ShowMessage('编码时发生错误:' + lvErrorText); end; finally lvBitMap.Free; lvBitMap := nil; ZBarcode_Delete(lvSymbol); end; bitmap := TBitmap.Create; try bitmap.Assign(cxImage1.Picture.Bitmap); bitmap.SaveToFile(ExtractFilePath(Application.ExeName) + 'image\temp3.bmp'); finally bitmap.Free; end; end; procedure TfrmProductOrderLBNameSet.tsewm4(); var lvData: UTF8String; // 使用UTF8编码的字符串 lvBitMap: TBitmap; lvSymbol: PZintSymbol; lvErrorNumber: Integer; lvErrorText: string; bitmap: TBitmap; begin lvSymbol := ZBarcode_Create(); if lvSymbol = nil then Exit; lvBitMap := TBitmap.Create; try //'010872020901234590RS9999-100R1011234567893112005160' lvData := UTF8String(FBZHXMS); // 条码类型设置为QRCODE lvSymbol.symbology := BARCODE_QRCODE; // lvSymbol.option_2 := 1; //Data Matrix (ISO 16022)(and HIBC) // 编码 lvErrorNumber := ZBarcode_Encode_and_Buffer(lvSymbol, PAnsiChar(lvData), Length(lvData), 0); // 编码成功 if lvErrorNumber = 0 then begin // 生成Bitmap图形 ZBarcode_To_Bitmap(lvSymbol, lvBitMap); // 显示在Image中 cxImage1.Picture.Bitmap.Width := 80; cxImage1.Picture.Bitmap.Height := 80; cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite; cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height)); cxImage1.Picture.Bitmap.Canvas.StretchDraw(Rect(10, 10, cxImage1.Width - 10, cxImage1.Height - 10), lvBitMap); end else begin cxImage1.Picture.Bitmap.Width := cxImage1.Width; cxImage1.Picture.Bitmap.Height := cxImage1.Height; cxImage1.Picture.Bitmap.Canvas.Brush.Color := clWhite; cxImage1.Picture.Bitmap.Canvas.FillRect(Rect(0, 0, cxImage1.Width, cxImage1.Height)); lvErrorText := string(AnsiString(lvSymbol.errtxt)); ShowMessage('编码时发生错误:' + lvErrorText); end; finally lvBitMap.Free; lvBitMap := nil; ZBarcode_Delete(lvSymbol); end; bitmap := TBitmap.Create; try bitmap.Assign(cxImage1.Picture.Bitmap); bitmap.SaveToFile(ExtractFilePath(Application.ExeName) + 'image\temp4.bmp'); finally bitmap.Free; end; end; function TfrmProductOrderLBNameSet.GetEWM(Txt, TMMC: string): string; //获取条码 var fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); fImagePath := ExtractFilePath(Application.ExeName) + 'image\' + TMMC + '.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); Result := fImagePath; except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; end; procedure TfrmProductOrderLBNameSet.FormDestroy(Sender: TObject); begin // frmProductOrderLBNameSet:=nil; end; procedure TfrmProductOrderLBNameSet.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmProductOrderLBNameSet.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7; //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp); DQdate := SGetServerDate(ADOQueryTemp); end; procedure TfrmProductOrderLBNameSet.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('标签设置', Tv1, '生产指示单管理'); end; procedure TfrmProductOrderLBNameSet.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.add('exec P_View_Order :begdate,:enddate,:WSql'); if Trim(canshu1) = '低权限' then begin Parameters.ParamByName('WSql').Value := ' and Filler=''' + Trim(DName) + ''''; end else begin Parameters.ParamByName('WSql').Value := ''; end; Parameters.ParamByName('begdate').Value := FormatDateTime('yyyy-MM-dd', BegDate.DateTime); Parameters.ParamByName('enddate').Value := FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1); ExecSQL; Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmProductOrderLBNameSet.InitForm(); begin ReadCxGrid('标签设置', Tv1, '生产指示单管理'); BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7; EndDate.DateTime := SGetServerDate10(ADOQueryTemp); end; procedure TfrmProductOrderLBNameSet.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 TfrmProductOrderLBNameSet.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmProductOrderLBNameSet.OrderNoMChange(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 TfrmProductOrderLBNameSet.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmProductOrderLBNameSet.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmProductOrderLBNameSet.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmProductOrderLBNameSet.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id, id10: Integer; begin {try if Tv1.GroupedItemCount=0 then begin Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount; Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount; if Trim(VarToStr(ARecord.Values[id]))='' then Exit; if Id<0 then Exit; if ARecord.Values[id10]='完成' then exit; if (ARecord.Values[id]-DQdate)>=4 then Exit; if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then AStyle:=DataLink_.QHuangSe else if ARecord.Values[id]-DQdate<0 then begin AStyle:=DataLink_OrderManage.FenHongS; end; end else begin end; except end; } end; procedure TfrmProductOrderLBNameSet.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmOrderInPut := TfrmOrderInPut.Create(Application); with frmOrderInPut do begin PState := 1; FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString); ToolBar2.Visible := False; TBSave.Visible := False; ScrollBox1.Enabled := False; Tv1.OptionsSelection.CellSelect := False; if ShowModal = 1 then begin end; end; finally frmOrderInPut.Free; end; end; procedure TfrmProductOrderLBNameSet.ConNoKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(conno.Text) < 3 then Exit; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.add('exec P_View_Order :begdate,:enddate,:WSql'); begin Parameters.ParamByName('WSql').Value := ' and conno like ''' + '%' + Trim(conno.Text) + '%' + ''''; end; Parameters.ParamByName('begdate').Value := '1899-01-01'; Parameters.ParamByName('enddate').Value := '2050-01-01'; ExecSQL; Open; end; SCreateCDS20(ADOQueryMain, Order_Main); SInitCDSData20(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; end; end; end; procedure TfrmProductOrderLBNameSet.ToolButton2Click(Sender: TObject); var maxno: string; begin try frmLabelList := TfrmLabelList.Create(Application); with frmLabelList do begin if ShowModal = 1 then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set LBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + ''''); sql.Add(' where Mainid=''' + Trim(self.Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; TBRafresh.Click; end; end; finally frmLabelList.Free; end; end; procedure TfrmProductOrderLBNameSet.ToolButton3Click(Sender: TObject); var FPiZhong: string; FReal: Double; begin if Trim(PiZhong.Text) = '' then begin Application.MessageBox('皮重不能为空!', '提示', 0); Exit; end; if TryStrToFloat(PiZhong.Text, FReal) = False then begin Application.MessageBox('皮重非法数字!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set PiZhong=' + (PiZhong.Text)); sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; with Order_Main do begin Edit; FieldByName('PiZhong').Value := PiZhong.Text; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmProductOrderLBNameSet.ToolButton4Click(Sender: TObject); var maxno: string; begin try frmLabelList := TfrmLabelList.Create(Application); with frmLabelList do begin if ShowModal = 1 then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set NLBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + ''''); sql.Add(' where Mainid=''' + Trim(self.Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; TBRafresh.Click; end; end; finally frmLabelList.Free; end; end; procedure TfrmProductOrderLBNameSet.v1Column3PropertiesEditValueChanged(Sender: TObject); var mvalues: string; begin mvalues := TCXTextEdit(Sender).Text; with Order_Main do begin edit; fieldbyname('NLBName').Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); if trim(mvalues) = '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set NLBName='''' '); sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; end end; procedure TfrmProductOrderLBNameSet.v1Column1PropertiesEditValueChanged(Sender: TObject); var mvalues, FFieldName: string; begin mvalues := TCXTextEdit(Sender).Text; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with Order_Main do begin edit; fieldbyname(FFieldName).Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); if trim(mvalues) = '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set' + Trim(FFieldName) + '='''' '); sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; end end; procedure TfrmProductOrderLBNameSet.ToolButton5Click(Sender: TObject); var FReal: Double; begin if Trim(PiZhong.Text) = '' then begin Application.MessageBox('换算系数不能为空!', '提示', 0); Exit; end; if TryStrToFloat(PiZhong.Text, FReal) = False then begin Application.MessageBox('换算系数非法数字!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set XS=' + (PiZhong.Text)); sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; with Order_Main do begin Edit; FieldByName('XS').Value := PiZhong.Text; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmProductOrderLBNameSet.v1Column6PropertiesEditValueChanged(Sender: TObject); var mvalues: string; begin mvalues := TCXTextEdit(Sender).Text; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set XSType=''' + trim(mvalues) + ''' '); sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; with Order_Main do begin edit; fieldbyname('XSType').Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmProductOrderLBNameSet.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if Order_Main.IsEmpty then exit; ToolButton1.Click; end; procedure TfrmProductOrderLBNameSet.ToolButton6Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath, Txt3: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; fImagePath1, fImagePath2, fImagePath3,fImagePath4: string; begin if Order_Main.IsEmpty then exit; if trim(Order_Main.fieldbyname('LBName').AsString) = '' then exit; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('exec P_Print_Cs_Roll '); sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('mainID').AsString) + ''' '); Open; end; // try // Moudle := LoadLibrary('MakeQRBarcode.dll'); // @Makebar := GetProcAddress(Moudle, 'Make'); // @Mixtext := GetProcAddress(Moudle, 'MixText'); // Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); // 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; // try // Moudle := LoadLibrary('MakeQRBarcode.dll'); // @Makebar := GetProcAddress(Moudle, 'Make'); // @Mixtext := GetProcAddress(Moudle, 'MixText'); // Txt3 := Trim(ADOQueryPrint.fieldbyname('SubNote').AsString) + RightStr(('100000' + floattostr((ADOQueryPrint.fieldbyname('MJLen').asfloat) * 100)), 5); // // Txt3 := Trim(ADOQueryPrint.fieldbyname('SubNote').AsString) + Trim(ADOQueryPrint.fieldbyname('prthx').AsString) + Trim(ADOQueryPrint.fieldbyname('MJLen').AsString); // fImagePath3 := ExtractFilePath(Application.ExeName) + 'image\temp3.bmp'; // if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then // CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); // if FileExists(fImagePath3) then // DeleteFile(fImagePath3); // Makebar(pchar(Txt3), Length(Txt3), 3, 3, 0, PChar(fImagePath3), 3); // except // application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); // exit; // end; fImagePath1 := GetEWM(Trim(ADOQueryPrint.fieldbyname('MJID').AsString), 'temp1'); fImagePath2 := GetEWM(Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString), 'temp2'); if Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString) <> '' then begin try fImagePath3 := ExtractFilePath(Application.ExeName) + 'image\temp3.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath3) then DeleteFile(fImagePath3); FKHEWM := Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString); //+ RightStr(('100000' + floattostr((ADOQueryPrint.fieldbyname('MJLen').asfloat) * 100)), 5) tsewm(); // ToolButton6.Click(); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; end; try fImagePath4 := ExtractFilePath(Application.ExeName) + 'image\temp4.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath4) then DeleteFile(fImagePath4); FBZHXMS := Trim(ADOQueryPrint.fieldbyname('SubNote').AsString)+RightStr(('100000' + floattostr((ADOQueryPrint.fieldbyname('MJLen').asfloat) * 100)), 5); tsewm4(); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LBName').AsString) + '.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Order_Main.fieldbyname('LBName').AsString) + '.rmf'; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RMVariables['KHMQRBARCODE'] := fImagePath3; RMVariables['BHMQRBARCODE'] := fImagePath4; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找到' + trim(fPrintFile)), '提示信息', 0); end; end; procedure TfrmProductOrderLBNameSet.ToolButton7Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if Order_Main.IsEmpty then exit; if trim(Order_Main.fieldbyname('NLBName').AsString) = '' then exit; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('exec P_Print_Cs_Bao '); sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('mainID').AsString) + ''' '); Open; end; try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); 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; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(Order_Main.fieldbyname('NLBName').AsString) + '.rmf'; if FileExists(fPrintFile) then begin RMVariables['QRBARCODE'] := fImagePath; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找到' + trim(fPrintFile)), '提示信息', 0); end; end; procedure TfrmProductOrderLBNameSet.v1Column8PropertiesChange(Sender: TObject); var mvalues: string; begin mvalues := TCXTextEdit(Sender).Text; with Order_Main do begin edit; fieldbyname('Orddefstr15').Value := mvalues; post; end; tv1.Controller.EditingController.ShowEdit(); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update JYOrder_Main Set Orddefstr15=''' + trim(mvalues) + ''' '); sql.Add('where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + ''''); ExecSQL; end; end; procedure TfrmProductOrderLBNameSet.ToolButton8Click(Sender: TObject); var fPrintFile: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; fImagePath1, fImagePath2, fImagePath3: string; begin if Order_Main.IsEmpty then exit; if trim(Order_Main.fieldbyname('LBName').AsString) = '' then exit; with ADOQueryPrint do begin Close; SQL.Clear; sql.Add('exec P_Print_Cs_Roll '); sql.Add('@mainID=''' + trim(Order_Main.fieldbyname('mainID').AsString) + ''' '); Open; end; // try // Moudle := LoadLibrary('MakeQRBarcode.dll'); // @Makebar := GetProcAddress(Moudle, 'Make'); // @Mixtext := GetProcAddress(Moudle, 'MixText'); // Txt := Trim(ADOQueryPrint.fieldbyname('MJID').AsString); // 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; fImagePath1 := GetEWM(Trim(ADOQueryPrint.fieldbyname('MJID').AsString), 'temp1'); fImagePath2 := GetEWM(Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString), 'temp2'); // fImagePath3 := GetEWM(Trim(FKHM), 'temp3'); if Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString) <> '' then begin try fImagePath3 := ExtractFilePath(Application.ExeName) + 'image\temp3.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath3) then DeleteFile(fImagePath3); FKHEWM := Trim(ADOQueryPrint.fieldbyname('KHEWM').AsString); //+ RightStr(('100000' + floattostr((ADOQueryPrint.fieldbyname('MJLen').asfloat) * 100)), 5) tsewm(); // ToolButton6.Click(); except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); exit; end; end; ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LBName').AsString) + '.rmf', ADOQueryTemp); ExportFtErpFile10(Trim(Order_Main.fieldbyname('LBName').AsString) + '.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report10\' + Trim(Order_Main.fieldbyname('LBName').AsString) + '.rmf'; if FileExists(fPrintFile) then begin // RMVariables['QRBARCODE'] := fImagePath; RMVariables['QRBARCODE'] := fImagePath1; RMVariables['KHQRBARCODE'] := fImagePath2; RMVariables['KHMQRBARCODE'] := fImagePath3; RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找到' + trim(fPrintFile)), '提示信息', 0); end; end; end.