unit U_KnitMachInsp; interface uses Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu, ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox, MovePanel, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, Menus, U_BaseList, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, cxContainer, cxImage, cxDBEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, ShellAPI, IdFTP, FireDAC.Stan.StorageXML, cxPC, XMLDoc, XMLIntf, DateUtils, cxMaskEdit, cxButtonEdit, dxSkinBasic, 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, dxSkinOffice2016Colorful, dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine, dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark, dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI, dxSkinXmas2008Blue, dxScrollbarAnnotations; type TfrmKnitMachInsp = class(TfrmBaseList) cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; GPM_1: TcxGridPopupMenu; ADOQueryMain: TADOQuery; ADOCmd: TADOQuery; RMDB_1: TRMDBDataSet; DS_2: TDataSource; CDS_2: TClientDataSet; ADOQueryPrint: TADOQuery; GPM_2: TcxGridPopupMenu; ADOQueryMainDSC: TADOQuery; Panel7: TPanel; AOrdDefNote1: TRichEdit; RM1: TRMGridReport; ADOTmp: TADOQuery; ScrollBox1: TScrollBox; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; SpeedButton17: TSpeedButton; SpeedButton18: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; SpeedButton25: TSpeedButton; SpeedButton26: TSpeedButton; SpeedButton29: TSpeedButton; SpeedButton30: TSpeedButton; SpeedButton31: TSpeedButton; SpeedButton32: TSpeedButton; SpeedButton33: TSpeedButton; SpeedButton34: TSpeedButton; SpeedButton37: TSpeedButton; SpeedButton38: TSpeedButton; SpeedButton39: TSpeedButton; SpeedButton40: TSpeedButton; SpeedButton41: TSpeedButton; SpeedButton42: TSpeedButton; SpeedButton45: TSpeedButton; SpeedButton46: TSpeedButton; SpeedButton47: TSpeedButton; SpeedButton48: TSpeedButton; SpeedButton50: TSpeedButton; SpeedButton51: TSpeedButton; SpeedButton54: TSpeedButton; SpeedButton55: TSpeedButton; SpeedButton56: TSpeedButton; SpeedButton57: TSpeedButton; SpeedButton58: TSpeedButton; SpeedButton59: TSpeedButton; SpeedButton62: TSpeedButton; SpeedButton63: TSpeedButton; SpeedButton64: TSpeedButton; SpeedButton65: TSpeedButton; SpeedButton66: TSpeedButton; SpeedButton67: TSpeedButton; SpeedButton70: TSpeedButton; SpeedButton71: TSpeedButton; SpeedButton72: TSpeedButton; SpeedButton73: TSpeedButton; SpeedButton74: TSpeedButton; SpeedButton75: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton27: TSpeedButton; SpeedButton28: TSpeedButton; SpeedButton35: TSpeedButton; SpeedButton36: TSpeedButton; SpeedButton43: TSpeedButton; SpeedButton44: TSpeedButton; SpeedButton52: TSpeedButton; SpeedButton53: TSpeedButton; SpeedButton60: TSpeedButton; SpeedButton61: TSpeedButton; SpeedButton68: TSpeedButton; SpeedButton69: TSpeedButton; SpeedButton76: TSpeedButton; SpeedButton77: TSpeedButton; SpeedButton78: TSpeedButton; SpeedButton79: TSpeedButton; SpeedButton80: TSpeedButton; SpeedButton81: TSpeedButton; SpeedButton82: TSpeedButton; SpeedButton83: TSpeedButton; CDS_3: TClientDataSet; DS_3: TDataSource; ADOQueryImage: TADOQuery; DataSource2: TDataSource; IdFTP1: TIdFTP; Panel4: TPanel; cxGrid3: TcxGrid; Tv3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; v3Column1: TcxGridDBColumn; v3Column4: TcxGridDBColumn; v3Column5: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; Panel3: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton; Panel1: TPanel; Pic_Image1: TcxDBImage; Tv3Column1: TcxGridDBColumn; MovePanel1: TMovePanel; Label17: TLabel; Label18: TLabel; lblLenUnit1: TLabel; CIFBeg: TEdit; Button1: TButton; Button4: TButton; CIFEnd: TEdit; CIFQty: TEdit; RadioGroup1: TRadioGroup; Button2: TButton; Panel8: TPanel; cxDBImage1: TcxDBImage; DS_ImgHX: TDataSource; Qry_ImgHX: TADOQuery; Tv3Column3: TcxGridDBColumn; Tv3Column4: TcxGridDBColumn; cxStyle4: TcxStyle; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; �鿴: TcxTabSheet; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; tv2CDType: TcxGridDBColumn; tv2CDWZ: TcxGridDBColumn; v2Column2: TcxGridDBColumn; Tv2CDQty: TcxGridDBColumn; Tv2CDReason: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridDBColumn9: TcxGridDBColumn; cxGridLevel3: TcxGridLevel; DS_1: TDataSource; CDS_1: TClientDataSet; lblCIFName: TLabel; Label2: TLabel; Label8: TLabel; CIFNumber: TEdit; Panel9: TPanel; Panel2: TPanel; lblLenUnit: TLabel; Label4: TLabel; Label5: TLabel; Label11: TLabel; Label31: TLabel; Label32: TLabel; Label29: TLabel; InputLen: TEdit; GrossWeight: TEdit; BTPrint: TButton; NetWeight: TEdit; Button6: TButton; Button8: TButton; PieceNo: TEdit; ToolBar2: TToolBar; ToolButton3: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; GPM_3: TcxGridPopupMenu; Panel6: TPanel; Label35: TLabel; Label16: TLabel; Label26: TLabel; edtChen: TEdit; edtMaBiao: TEdit; ComboBox1: TComboBox; Edit6: TEdit; Label6: TLabel; Panel10: TPanel; Label14: TLabel; Label24: TLabel; Label25: TLabel; Label1: TLabel; PCId: TEdit; JXPerson: TEdit; CodeName: TEdit; edtScan: TEdit; Button3: TButton; ToolButton4: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; Label7: TLabel; edtMBDW: TEdit; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton9: TToolButton; Label30: TLabel; Label37: TLabel; Tare: TEdit; Label3: TLabel; Coefficient: TEdit; Label9: TLabel; MinLen: TEdit; Label15: TLabel; MinWeight: TEdit; MaxLen: TEdit; MaxWeight: TEdit; Label19: TLabel; MPlace: TEdit; Label20: TLabel; Label21: TLabel; YPlace: TEdit; Label27: TLabel; KgPlace: TEdit; Label28: TLabel; Label33: TLabel; Label13: TLabel; BatchNo: TEdit; Label22: TLabel; Grade: TComboBox; Label10: TLabel; ComboBox2: TComboBox; Label12: TLabel; Label34: TLabel; Label49: TLabel; WorkShift: TComboBox; SCPerson: TcxButtonEdit; JBSCPerson: TcxButtonEdit; Label36: TLabel; Revolution1: TEdit; Label38: TLabel; Revolution2: TEdit; Label39: TLabel; CarNo: TEdit; Label40: TLabel; Code: TEdit; ToolButton10: TToolButton; Label23: TLabel; JuanHao: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure BTPrintClick(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton12Click(Sender: TObject); procedure SpeedButton13Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure edtScanKeyPress(Sender: TObject; var Key: Char); procedure CIFBegClick(Sender: TObject); procedure CIFEndChange(Sender: TObject); procedure Edit6Click(Sender: TObject); procedure MJstr3KeyPress(Sender: TObject; var Key: Char); procedure NetWeightExit(Sender: TObject); procedure Button2Click(Sender: TObject); procedure GrossWeightChange(Sender: TObject); procedure edtScanClick(Sender: TObject); procedure NetWeightKeyPress(Sender: TObject; var Key: Char); procedure FormCreate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure edtChenClick(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure edtYJClick(Sender: TObject); procedure cxDBImage1DblClick(Sender: TObject); procedure Pic_Image1DblClick(Sender: TObject); procedure Tv3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure lblLenUnitClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure MinLenExit(Sender: TObject); procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure JBSCPersonPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton10Click(Sender: TObject); private { Private declarations } FCIID, FOperationStatus, FCIFName, FWorkshop: string; FOrderNo, FMainId, FSubId, FPCId, FConNo, FConMId, FConSId: string; FBatchNO, FLenUnit, FC_Code, FC_Name, FC_Spec, FC_Width, FC_GramWeight, FC_KnitGramWeight, FC_Deal: string; FC_Color, FC_ColorNo, FC_StyleNo, FC_Pattern, FC_CustPattern, FC_ColorDepth, FCarNo, FJXPerson, FC_Figure, FC_Yarn: string; FC_Composition, FC_KnitNote: string; FFtyPCId, FGangNo: string; FPieceNo: Integer; IsCommopen: boolean; procedure SetINIFile(); //���������ļ� procedure GetINIFile(); //���ó��ȵ�λ procedure SetUnit(MUnit: string); //���ó��ȵ�λ procedure SetDdetails(); //ˢ����ϸ��Ϣ procedure InitCDPanel(); //ˢ�´õ�ѡ�� procedure InitCDGrid(MCIID: string); //ˢ�´õ�Ǽ���Ϣ procedure InitCDGridCX(MCIID: string); //ˢ�´õ��ѯ��Ϣ procedure InitJYGrid(); //ˢ�¼�����Ϣ function CheckData(CKType: string): Boolean; //У������ function SaveData(): Boolean; //�������� procedure InitLCK(MPCId: string); //ɨ�����̿� procedure InitJTM(MCIID: string); //ɨ������� procedure ClearGlobal(); //���ȫ��ID procedure PrtData(MCIID: string); //��ӡ����ǩ procedure QuantityConversion(); //�������� procedure InitImage(YFTPName: string); //ͼƬ procedure InitImageHX(HXSID: string); procedure LookImage(FileName: string); procedure OpenCom(DllName: string); //���� procedure CloseCom(DllName: string); //�رմ��� procedure On1201(var Message: Tmessage); message 1201; //���ӳ� procedure On1301(var Message: Tmessage); message 1301; //��� procedure PlayWav(MWav: string); public fmanage: string; fFlileFlag: string; { Public declarations } end; var frmKnitMachInsp: TfrmKnitMachInsp; newh, newh1: hwnd; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_iniParam, U_EmployeeSel, MMSystem; {$R *.dfm} procedure TfrmKnitMachInsp.SetINIFile(); begin if edtChen.Text = '��' then IsDZCDYDll := '1' else IsDZCDYDll := '0'; if edtMaBiao.Text = '��' then IsMBDYDll := '1' else IsMBDYDll := '0'; if edtMBDW.Text = '��' then IsMBDYDllUnit := '1' else IsMBDYDllUnit := '0'; LabQty := ComboBox1.Text; FMinLen := MinLen.Text; FMaxLen := MaxLen.Text; FMinWeight := MinWeight.Text; FMaxWeight := MaxWeight.Text; FMPlace := MPlace.Text; FYPlace := YPlace.Text; FKgPlace := KgPlace.Text; WriteINIFile(); end; procedure TfrmKnitMachInsp.GetINIFile(); begin if IsDZCDYDll = '1' then edtChen.Text := '��' else edtChen.Text := ''; if IsMBDYDll = '1' then edtMaBiao.Text := '��' else edtMaBiao.Text := ''; if IsMBDYDllUnit = '1' then edtMBDW.Text := '��' else edtMBDW.Text := ''; ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(trim(LabQty)); MinLen.Text := FMinLen; MaxLen.Text := FMaxLen; MinWeight.Text := FMinWeight; MaxWeight.Text := FMaxWeight; MPlace.Text := FMPlace; YPlace.Text := FYPlace; KgPlace.Text := FKgPlace; end; procedure TfrmKnitMachInsp.SetDdetails(); begin AOrdDefNote1.Text := ''; AOrdDefNote1.Text := AOrdDefNote1.Text + 'Ʒ��:' + FC_Name + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '�ŷ�:' + FC_Width + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '��������:' + FC_KnitGramWeight + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '��Ʒ����:' + FC_GramWeight + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '��ɫ:' + FC_Color + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '�ɷ�:' + FC_Composition + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '�Ứ:' + FC_Figure + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '��ɴ:' + FC_Yarn + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + 'ɴ��:' + FC_SPec + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '����:' + FC_Deal + #13; AOrdDefNote1.Text := AOrdDefNote1.Text + '�߲�Ҫ��:' + FC_KnitNote + #13; end; procedure TfrmKnitMachInsp.SetUnit(MUnit: string); begin lblLenUnit.Caption := MUnit; lblLenUnit1.Caption := MUnit; end; procedure TfrmKnitMachInsp.InitImage(YFTPName: string); begin // with ADOQueryImage do // begin // close; // sql.Clear; // sql.Add('select * from TC_File A'); // sql.Add('where isnull(WBID,'''')<>'''' and WBID=' + quotedstr(YFTPName)); //// showmessage(sql.text); // open; // end; end; procedure TfrmKnitMachInsp.InitImageHX(HXSID: string); begin // with Qry_ImgHX do // begin // close; // sql.Clear; // sql.Add('select * from TC_File A'); // sql.Add('where isnull(WBID,'''')<>'''' and WBID=' + quotedstr(HXSID)); //// ShowMessage(SQL.Text); // open; // end; end; procedure TfrmKnitMachInsp.QuantityConversion(); var MLen, MNWet, MGWet, MPWet, MCC, FYJZQty: Double; begin MLen := StrToFloatdef(trim(InputLen.Text), 0); MNWet := StrToFloatdef(trim(NetWeight.Text), 0); MPWet := StrToFloatdef(trim(Tare.Text), 0); MGWet := StrToFloatdef(trim(GrossWeight.Text), 0); MCC := StrToFloatdef(trim(Coefficient.Text), 0); //���� �� ��ȥ���� if TV2.DataController.Summary.FooterSummaryValues[2] <> NULL then begin FYJZQty := StrToFloatdef(TV2.DataController.Summary.FooterSummaryValues[2], 0); end else begin FYJZQty := 0; end; { // �������� if MCC > 0 then begin MGWet := StrToFloat(format('%.1f', [(MLen - FYJZQty) * MCC])); MNWet := MGWet - MPWet; GrossWeight.Text := FloatToStr(MGWet); NetWeight.Text := FloatToStr(MNWet); end; } MNWet := MGWet - MPWet; //�������� if MCC > 0 then begin MLen := RoundFloat(MNWet * MCC, 1); InputLen.Text := FloatToStr(MLen); end; NetWeight.Text := FloatToStr(MNWet); end; function TfrmKnitMachInsp.CheckData(CKType: string): Boolean; var mvalue: Double; begin try if Trim(FPCId) = '' then raise Exception.Create('��ɨ�貼Ʊ��'); if Trim(CKType) = '�ύ' then begin // if trim(FLenUnit) = 'M' then // if trim(lblLenUnit.Caption) <> 'M' then // raise Exception.Create('��ͬ�����λΪM,������������'); // if trim(FLenUnit) = 'Y' then // if trim(lblLenUnit.Caption) <> 'Y' then // raise Exception.Create('��ͬ�����λΪY,������������'); if trim(lblLenUnit.Caption) = '' then raise Exception.Create('���ȵ�λ����Ϊ��!'); if Trim(GrossWeight.Text) <> '' then begin GrossWeight.Text := '0'; // if TryStrToFloat(GrossWeight.Text, mvalue) = False then // raise Exception.Create('����¼�����!'); // if strtofloatdef(trim(GrossWeight.Text), 0) <= Strtofloatdef(MinWeight.Text, 0) then // raise Exception.Create('��������С��' + MinWeight.Text + '!'); // if strtofloatdef(trim(GrossWeight.Text), 0) >= Strtofloatdef(MaxWeight.Text, 0) then // raise Exception.Create('�������ܴ���' + MaxWeight.Text + '!'); end; if Trim(InputLen.Text) <> '' then begin if TryStrToFloat(InputLen.Text, mvalue) = False then raise Exception.Create('����¼�����!'); if strtofloatdef(trim(InputLen.Text), 0) < Strtofloatdef(MinLen.Text, 0) then raise Exception.Create('���Ȳ���С��' + MinLen.Text + '��!'); if strtofloatdef(trim(InputLen.Text), 0) > Strtofloatdef(MaxLen.Text, 0) then raise Exception.Create('���Ȳ��ܴ���' + MaxLen.Text + '��!'); end; // if (strtofloatdef(trim(InputLen.Text), 0) = 0) and (strtofloatdef(trim(NetWeight.Text), 0) = 0) then // raise Exception.Create('���Ⱥ��������ܶ�Ϊ0!!'); end; Result := True; except Result := false; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); end; end; procedure TfrmKnitMachInsp.ClearGlobal(); begin FOrderNo := ''; FConNo := ''; FConMId := ''; FConSId := ''; FMainId := ''; FSubId := ''; FPCId := ''; FC_CustPattern := ''; FC_ColorDepth := ''; FFtyPCId := ''; FGangNo := ''; FC_Code := ''; FC_Name := ''; FBatchNO := ''; FC_Spec := ''; FC_Color := ''; FC_ColorNo := ''; FC_StyleNo := ''; FC_Width := ''; FC_KnitGramWeight := ''; FC_Figure := ''; FC_Yarn := ''; FC_GramWeight := ''; FC_Pattern := ''; FCIID := ''; FWorkshop := ''; InputLen.Text := ''; Coefficient.Text := ''; AOrdDefNote1.Text := ''; Tare.Text := ''; NetWeight.Text := ''; FLenUnit := ''; FC_Composition := ''; FC_KnitNote := ''; end; procedure TfrmKnitMachInsp.LookImage(FileName: string); var sFieldName: string; begin sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ�鿴'; if not DirectoryExists(pchar(sFieldName)) then CreateDirectory(pchar(sFieldName), nil); sFieldName := sFieldName + '\' + trim(FileName); try IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '��������ַ', '127.0.0.1'); IdFTP1.Username := 'three'; IdFTP1.Password := '641010'; IdFTP1.Connect(); except ; end; if IdFTP1.Connected then begin try IdFTP1.Get(fFlileFlag + '\' + Trim(FileName), sFieldName, true, false); except Application.MessageBox('�ͻ�ͼ���ļ�������', '��ʾ', MB_ICONWARNING); IdFTP1.Quit; Exit; end; end else begin Application.MessageBox('�������ļ�������', '��ʾ', MB_ICONWARNING); IdFTP1.Quit; Exit; end; if IdFTP1.Connected then IdFTP1.Quit; ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL); end; procedure TfrmKnitMachInsp.Pic_Image1DblClick(Sender: TObject); begin if TcxDBImage(Sender).Picture.Height = 0 then exit; LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring); end; procedure TfrmKnitMachInsp.InitLCK(MPCId: string); begin with ADOTmp do begin Close; sql.Clear; sql.Add('EXEC P_Knit_Insp_Get_PlanCard @PCID=''' + Trim(MPCId) + ''''); Open; end; if ADOTmp.IsEmpty = False then begin if Trim(ADOTmp.fieldbyname('Status').AsString) = '-1' then begin PlayWav('��Ʊ������'); Sleep(500); application.MessageBox('��Ʊ�����ϣ������飡', '��ʾ��Ϣ', MB_ICONERROR); ClearGlobal(); end else if Trim(ADOTmp.fieldbyname('Status').AsString) = '1' then begin PlayWav('��Ʊ�Ѽ���'); Sleep(500); application.MessageBox('��Ʊ�Ѽ���', '��ʾ��Ϣ', MB_ICONERROR); ClearGlobal(); end else begin FConNo := Trim(ADOTmp.fieldbyname('ConNo').AsString); FOrderNo := Trim(ADOTmp.fieldbyname('OrderNo').AsString); FMainId := Trim(ADOTmp.fieldbyname('MainId').AsString); FSubId := Trim(ADOTmp.fieldbyname('SubId').AsString); FConMId := Trim(ADOTmp.fieldbyname('ConMId').AsString); FConSId := Trim(ADOTmp.fieldbyname('ConSId').AsString); FPCId := Trim(ADOTmp.fieldbyname('PCId').AsString); FWorkshop := Trim(ADOTmp.fieldbyname('Workshop').AsString); FC_Code := Trim(ADOTmp.fieldbyname('C_Code').AsString); FC_Name := Trim(ADOTmp.fieldbyname('C_Name').AsString); FC_Spec := Trim(ADOTmp.fieldbyname('C_Spec').AsString); FC_Color := Trim(ADOTmp.fieldbyname('C_Color').AsString); FC_ColorNo := Trim(ADOTmp.fieldbyname('C_ColorNo').AsString); FC_Width := Trim(ADOTmp.fieldbyname('C_Width').AsString); FC_GramWeight := Trim(ADOTmp.fieldbyname('C_GramWeight').AsString); FC_KnitGramWeight := Trim(ADOTmp.fieldbyname('C_KnitGramWeight').AsString); FC_Figure := Trim(ADOTmp.fieldbyname('C_Figure').AsString); FC_Yarn := Trim(ADOTmp.fieldbyname('C_Yarn').AsString); FC_Pattern := Trim(ADOTmp.fieldbyname('C_Pattern').AsString); FBatchNo := Trim(ADOTmp.fieldbyname('BatchNo').AsString); FCarNo := Trim(ADOTmp.fieldbyname('CarNo').AsString); FJXPerson := Trim(ADOTmp.fieldbyname('JXPerson').AsString); FC_Deal := Trim(ADOTmp.fieldbyname('C_Deal').AsString); FC_Composition := Trim(ADOTmp.fieldbyname('C_Composition').AsString); FC_KnitNote := Trim(ADOTmp.fieldbyname('C_KnitNote').AsString); Coefficient.Text := '0'; CodeName.Text := FC_Name; Code.Text := FC_Code; JXPerson.Text := FJXPerson; PCId.Text := FPCId; BatchNo.Text := FBatchNo; CarNo.Text := FCarNo; JuanHao.Text := Trim(ADOTmp.fieldbyname('PCNO').AsString); SetDdetails(); InputLen.SetFocus; CIFBegClick(GrossWeight); end; end else begin PlayWav('��Ʊ������'); Sleep(500); application.MessageBox('��Ʊ�����ڣ�', '��ʾ��Ϣ', MB_ICONERROR); ClearGlobal(); end; InitJYGrid(); InitCDGrid(FCIID); edtScan.Text := ''; end; procedure TfrmKnitMachInsp.JBSCPersonPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmEmployeeSel := TfrmEmployeeSel.Create(self); with frmEmployeeSel do begin FPost := '������'; if ShowModal = 1 then begin JBSCPerson.Text := frmEmployeeSel.FRName; JBSCPerson.Hint := frmEmployeeSel.FRCode; end; end; finally frmEmployeeSel.Free; end; end; procedure TfrmKnitMachInsp.InitJTM(MCIID: string); begin with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(MCIID) + ''' and IOFlag=''���'''); Open; end; if not ADOTmp.IsEmpty then begin Application.MessageBox('�Ѳ���������ݲ��ܲ���!', '��ʾ', 0); Exit; end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(MCIID) + ''' and IOFlag=''����'''); Open; end; if not ADOTmp.IsEmpty then begin Application.MessageBox('�Ѳ����������ݲ��ܲ���!', '��ʾ', 0); Exit; end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_Inspect where CIID=''' + Trim(MCIID) + ''''); Open; end; if not ADOTmp.IsEmpty then begin FOperationStatus := '������'; FCIID := MCIID; InitCDGrid(MCIID); end; end; procedure TfrmKnitMachInsp.CloseCom(DllName: string); type TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall; var Tf1: TMyFunc; Tp1: TFarProc; Th1: Thandle; begin Th1 := LoadLibrary(Pchar(trim(DllName))); if Th1 > 0 then begin try Tp1 := GetProcAddress(Th1, 'CommClose'); if Tp1 <> nil then begin Tf1 := TMyFunc(Tp1); newh1 := Tf1('Comm1'); end else begin end; finally // FreeLibrary(Th1); end; end else begin application.MessageBox(Pchar('�Ҳ��� ' + trim(DllName) + ' �ļ���'), '��ʾ'); end; end; procedure TfrmKnitMachInsp.ComboBox1Change(Sender: TObject); begin SetINIFile(); end; procedure TfrmKnitMachInsp.OpenCom(DllName: string); type TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall; var Tf: TMyFunc; Tp: TFarProc; Th: Thandle; begin // closeCom(FComFile); Th := LoadLibrary(Pchar(trim(DllName))); if Th > 0 then begin try Tp := GetProcAddress(Th, 'CommOpen'); if Tp <> nil then begin Tf := TMyFunc(Tp); newh := Tf(self.Handle, 'Comm1', 500, 1); if newh < 1 then begin application.MessageBox(Pchar('����ʧ�ܣ�'), '��ʾ'); end else IsCommOpen := true; end else begin IsCommOpen := false; end; finally // FreeLibrary(Th); end; end else begin IsCommOpen := false; application.MessageBox(Pchar('�Ҳ��� ' + trim(DllName) + ' �ļ���'), '��ʾ'); end; end; procedure TfrmKnitMachInsp.FormDestroy(Sender: TObject); begin inherited; frmKnitMachInsp := nil; end; procedure TfrmKnitMachInsp.On1301(var Message: Tmessage); var i1, i2: integer; unitname: string; fdata: double; begin i1 := Message.WParam; i2 := Message.LParam; if (trim(edtMaBiao.Text) = '��') then begin InputLen.Text := format('%.2f', [i1 / 100000]); end; if (trim(edtMBDW.Text) = '��') then begin if i2 = 0 then begin SetUnit('M'); end else begin SetUnit('Y'); end; end; end; procedure TfrmKnitMachInsp.On1201(var Message: Tmessage); var i1, i2: integer; unitname: string; fdata: double; begin i1 := Message.WParam; i2 := Message.LParam; if trim(edtChen.Text) = '��' then begin GrossWeight.Text := format('%.2f', [i1 / 100000]); end; end; procedure TfrmKnitMachInsp.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; if isCommopen then begin closeCom(DZCDYDllName); closeCom(MBDYDllName); end; Action := caFree; end; procedure TfrmKnitMachInsp.InitCDGrid(MCIID: string); begin cxPageControl1.ActivePageIndex := 0; with ADOTmp do begin Close; SQL.Clear; sql.Add('select * from Knit_Cloth_Inspect_Flaw where CIID=' + quotedstr(Trim(MCIID))); Open; end; SCreateCDS(ADOTmp, CDS_2); SInitCDSData(ADOTmp, CDS_2); end; procedure TfrmKnitMachInsp.InitCDGridCX(MCIID: string); begin cxPageControl1.ActivePageIndex := 1; with ADOTmp do begin Close; SQL.Clear; sql.Add('select * from Knit_Cloth_Inspect_Flaw where CIID=' + quotedstr(Trim(MCIID))); Open; end; SCreateCDS(ADOTmp, CDS_1); SInitCDSData(ADOTmp, CDS_1); end; procedure TfrmKnitMachInsp.InitJYGrid(); var MNetWeight, MJYLen: double; begin with ADOQueryMain do begin Close; SQL.Clear; sql.Add('select A.*'); sql.Add('from Knit_Cloth_Inspect A where Filler=''' + Trim(DName) + ''''); sql.Add('and CONVERT(VARCHAR(10),A.FillTime,120) =CONVERT(VARCHAR(10),getdate(),120) '); sql.Add('order by filltime desc'); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_3); SInitCDSData(ADOQueryMain, CDS_3); end; procedure TfrmKnitMachInsp.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(Self.Caption) + 'Tv1', Tv1, 'ó�������'); ReadCxGrid(trim(Self.Caption) + 'Tv2', Tv2, 'ó�������'); ReadCxGrid(trim(Self.Caption) + 'Tv3', Tv3, 'ó�������'); fFlileFlag := UserDataFlag + 'HX'; InitCDPanel(); InitCDGrid(FCIID); if IsINIFile() then ReadINIFile() else WriteINIFile; GetINIFile(); if trim(fmanage) <> '��Ȩ��' then begin if trim(DZCDYDllName) <> '' then OpenCom(DZCDYDllName); if trim(MBDYDllName) <> '' then OpenCom(MBDYDllName); edtScan.SetFocus; end; end; procedure TfrmKnitMachInsp.InitCDPanel(); var AA: array[0..100] of string; i, j: Integer; begin with ADOTmp do begin Close; sql.Clear; sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO '); Open; end; if ADOTmp.IsEmpty then begin Application.MessageBox('û�ж���õ㣡', '��ʾ', 0); Exit; end; with ADOTmp do begin First; i := 0; while not Eof do begin AA[i] := Trim(fieldbyname('ZDYName').AsString); i := i + 1; Next; end; end; i := i - 1; if i > 69 then begin i := 69; end; for j := 0 to i do begin with ScrollBox1 do begin TSpeedButton(Controls[j]).Visible := True; TSpeedButton(Controls[j]).Hint := AA[j]; if Length(AA[j]) > 2 then begin TSpeedButton(Controls[j]).Caption := Copy(Trim(AA[j]), 1, 2) + #13 + Copy(Trim(AA[j]), 3, Length(AA[j]) - 2); end else TSpeedButton(Controls[j]).Caption := AA[j]; end; end; end; procedure TfrmKnitMachInsp.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_2.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; if Trim(CDS_2.fieldbyname('CIFID').AsString) = '' then begin CDS_2.Delete; end else begin with ADOCmd do begin Close; SQL.Clear; sql.Add('delete Knit_Cloth_Inspect_Flaw where CIFID=''' + Trim(CDS_2.fieldbyname('CIFID').AsString) + ''''); ExecSQL; end; //���´õ���Ϣ with ADOCmd do begin Close; sql.Clear; sql.Add('exec C_JY_UC_CDList @CIID=''' + Trim(CDS_2.fieldbyname('CIID').AsString) + ''''); execsql; end; CDS_2.Delete; end; end; procedure TfrmKnitMachInsp.Tv3CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin // if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('Grade').Index] = '��Ʒ' then // ACanvas.Brush.Color := clRed; end; procedure TfrmKnitMachInsp.Tv3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if CDS_3.isEmpty then exit; InitCDGridCX(CDS_3.FieldByName('CIID').AsString); end; function TfrmKnitMachInsp.SaveData(): Boolean; var maxno, MCIID, BZID, strsql, Dmaxno: string; MInputLen, MMeter, MYardage: Double; begin if FOperationStatus = '������' then begin MCIID := FCIID; end else begin MCIID := ''; end; try ADOCmd.Connection.BeginTrans; ///�������� with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from Knit_Cloth_Inspect where CIID=''' + Trim(MCIID) + ''''); Open; end; with ADOCmd do begin if Trim(MCIID) = '' then begin maxno := Trim(FPCID); Append; FieldByName('Filler').Value := Trim(DName); FieldByName('CIID').Value := Trim(FPCID); end else begin maxno := Trim(FPCID); Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp); end; { // ���� �� ��ȥ���� if TV2.DataController.Summary.FooterSummaryValues[2] <> NULL then begin FYJZQty := StrToFloatdef(TV2.DataController.Summary.FooterSummaryValues[2], 0); end else begin FYJZQty := 0; end; FieldByName('YJZQty').Value := FYJZQty; } //Ƥ�� FieldByName('Tare').Value := StrToFloatdef(trim(Tare.Text), 0); //ë�� FieldByName('GrossWeight').Value := RoundFloat(StrToFloatdef(trim(GrossWeight.Text), 0), StrTointdef(KgPlace.Text, 0)); //���� FieldByName('NetWeight').Value := RoundFloat(StrToFloatdef(trim(GrossWeight.Text), 0), StrTointdef(KgPlace.Text, 0)) - StrToFloatdef(trim(Tare.Text), 0); //ϵ�� FieldByName('Coefficient').Value := StrToFloatdef(trim(Coefficient.Text), 0); //���볤�� MInputLen := RoundFloat(StrToFloatdef(trim(InputLen.Text), 0), 2); if lblLenUnit.Caption = 'M' then begin MMeter := RoundFloat(StrToFloatdef(trim(InputLen.Text), 0), StrTointdef(MPlace.Text, 0)); MYardage := RoundFloat(MMeter / 0.9144, StrTointdef(YPlace.Text, 0)); end else begin MYardage := RoundFloat((StrToFloatdef(trim(InputLen.Text), 0)), StrTointdef(YPlace.Text, 0)); MMeter := RoundFloat(MYardage * 0.9144, StrTointdef(MPlace.Text, 0)); end; FieldByName('InputLen').Value := RoundFloat(StrToFloatdef(trim(InputLen.Text), 0), 2); FieldByName('Meter').Value := MMeter; FieldByName('Yardage').Value := MYardage; FieldByName('LenUnit').Value := TRIM(lblLenUnit.Caption); FieldByName('Grade').Value := Grade.text; FieldByName('PieceNo').Value := 0; FieldByName('OrderNo').value := Trim(FOrderNo); FieldByName('MainId').value := Trim(FMainId); FieldByName('SubId').value := Trim(FSubId); FieldByName('ConNo').value := Trim(FConNo); FieldByName('ConMId').value := Trim(FConMId); FieldByName('ConSId').value := Trim(FConSId); FieldByName('Workshop').value := Trim(FWorkshop); FieldByName('CIIOFlag').Value := 'δ���'; FieldByName('PCId').value := FPCId; FieldByName('C_Code').value := FC_Code; FieldByName('C_Name').value := FC_Name; FieldByName('BatchNO').value := FBatchNO; FieldByName('C_Spec').value := FC_Spec; FieldByName('C_Deal').value := FC_Deal; FieldByName('C_Color').value := FC_Color; FieldByName('C_ColorNo').value := FC_ColorNo; FieldByName('C_StyleNo').value := FC_StyleNo; FieldByName('C_Width').value := FC_Width; FieldByName('C_KnitGramWeight').value := FC_KnitGramWeight; FieldByName('C_GramWeight').value := FC_GramWeight; FieldByName('C_Figure').value := FC_Figure; FieldByName('C_Yarn').value := FC_Yarn; FieldByName('C_Pattern').value := FC_Pattern; FieldByName('C_Composition').value := FC_Composition; FieldByName('Loom').value := FCarNO; FieldByName('C_CustPattern').value := FC_CustPattern; FieldByName('CIMachNo').Value := Trim(SCXFlag); Post; end; MCIID := Trim(maxno); //������ FCIID := Trim(maxno); //���浲������Ϣ Dmaxno := maxno + '1'; // if Revolution1.Text = '' then // Revolution1.Text := '0'; // if Revolution2.Text = '' then // Revolution2.Text := '0'; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into Knit_Cloth_knitter(CIID,CKID,knittid,knitter,Revolution)'); sql.Add('values(' + quotedstr(maxno) + ',' + quotedstr(Dmaxno) + ',' + quotedstr(SCPerson.Hint) + ',' + quotedstr(SCPerson.Text) + ',' + quotedstr(IntToStr(StrtoIntdef(Revolution1.Text, 0))) + ')'); execsql; end; Dmaxno := maxno + '2'; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into Knit_Cloth_knitter(CIID,CKID,knittid,knitter,Revolution)'); sql.Add('values(' + quotedstr(maxno) + ',' + quotedstr(Dmaxno) + ',' + quotedstr(JBSCPerson.Hint) + ',' + quotedstr(JBSCPerson.Text) + ',' + quotedstr(IntToStr(StrtoIntdef(Revolution2.Text, 0))) + ')'); execsql; end; ////////////////// ����õ���Ϣ ////////////////// with CDS_2 do begin First; while not Eof do begin if Trim(CDS_2.fieldbyname('CIFID').AsString) = '' then begin if not GetLSNo(ADOTmp, maxno, 'JC', 'Knit_Cloth_Inspect_Flaw', 5, 1) then raise Exception.Create('��ȡ�õ�ʧ�ܣ�'); end else begin maxno := Trim(CDS_2.fieldbyname('CIFID').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from Knit_Cloth_Inspect_Flaw '); sql.Add(' where CIFID=''' + Trim(maxno) + ''''); Open; end; with ADOCmd do begin if Trim(CDS_2.fieldbyname('CIFID').AsString) = '' then Append else Edit; RTSetSaveDataCDS(ADOCmd, Tv2, CDS_2, 'Knit_Cloth_Inspect_Flaw', 0); FieldByName('CIID').Value := Trim(MCIID); FieldByName('CIFID').Value := Trim(maxno); Post; end; CDS_2.Edit; CDS_2.FieldByName('CIID').Value := Trim(MCIID); CDS_2.FieldByName('CIFID').Value := Trim(maxno); Next; end; end; ////////////////// ����õ���Ϣ ////////////////// /// ////////////////// ���¾��Ŵõ���Ϣ ////////////////// with ADOCmd do begin Close; sql.Clear; sql.Add('exec P_Knit_Insp_Up @CIID=''' + trim(MCIID) + ''''); if FOperationStatus = '������' then sql.Add(',@InspType=' + QuotedStr('���̿�')) else sql.Add(',@InspType=' + QuotedStr('������')); execsql; end; ////////////////// ���¾��Ŵõ���Ϣ ////////////////// /// ////////////////// ����⼰��� ////////////////// with ADOCmd do begin Close; sql.Clear; sql.Add('exec P_Knit_Insp_In_Stk @CIID=''' + trim(MCIID) + ''''); execsql; end; ////////////////// ����⼰��� ////////////////// /// ////////////////// ���½��� ////////////////// with ADOCmd do begin Close; sql.Clear; sql.Add('insert into Knit_Need_Up(UType,UDataId) values(''��̨����'',' + quotedstr(maxno) + ') '); execsql; end; ////////////////// ���½��� ////////////////// /// ADOCmd.Connection.CommitTrans; Result := True; except ADOCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0); Result := False; end; end; procedure TfrmKnitMachInsp.PlayWav(MWav: string); begin if FileExists(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav')) then PlaySound(PChar(ExtractFilePath(Application.ExeName) + 'wav\' + MWav + '.wav'), 0, SND_ASYNC); end; procedure TfrmKnitMachInsp.BTPrintClick(Sender: TObject); var fPrintFile: string; mvalue: Double; i: Integer; begin edtScan.SetFocus; if CheckData('�ύ') = False then exit; if SaveData() then begin PlayWav('����ɹ�'); InputLen.Text := ''; GrossWeight.Text := ''; NetWeight.Text := ''; PieceNo.Text := inttostr(strTointdef(trim(PieceNo.Text), 0) + 1); if Trim(Edit6.Text) = '��' then begin PrtData(FCIID); end; end; InputLen.SetFocus; CIFBegClick(GrossWeight); FOperationStatus := '������'; InitJYGrid(); InitCDGrid(''); ClearGlobal(); FCIID := ''; SCPerson.Text := ''; JBSCPerson.Text := ''; Revolution1.Text := ''; Revolution2.Text := ''; edtScan.SetFocus(); end; procedure TfrmKnitMachInsp.PrtData(MCIID: string); var fPrintFile, FLBName: string; begin with ADOQueryPrint do begin Close; SQL.Clear; sql.Add(' EXEC P_Knit_Insp_Prt_Lab '); SQL.Add(' @CIID=''' + Trim(MCIID) + ''''); Open; end; if ADOQueryPrint.IsEmpty then begin application.MessageBox('��ǩ����δ�ҵ���', '��ʾ��Ϣ', MB_ICONERROR); exit; end; FLBName := Trim(ADOQueryPrint.fieldbyname('LBName').AsString); ExportFtErpFile(FLBName + '.rmf', ADOTmp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLBName + '.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1); RM1.PrintReport; end else begin Application.MessageBox(PChar('û����' + fPrintFile), '��ʾ', 0); end; end; procedure TfrmKnitMachInsp.SpeedButton1Click(Sender: TObject); var fsj: string; begin fsj := Trim(TSpeedButton(Sender).Hint); if Trim(fsj) = '' then Exit; if TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Name = 'KuangHao' then Exit; fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption); TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; end; procedure TfrmKnitMachInsp.SpeedButton12Click(Sender: TObject); var fsj: string; begin fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text); if Trim(fsj) = '' then Exit; TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1); TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll; end; procedure TfrmKnitMachInsp.SpeedButton13Click(Sender: TObject); var i: Integer; begin if CheckData('�õ�') = False then exit; FCIFName := Trim(TSpeedButton(Sender).Hint); MovePanel1.Visible := True; lblCIFName.Caption := Trim(FCIFName); CIFNumber.SetFocus; //��ʾ���ּ��� // CIFBeg.Text := InputLen.Text; with Panel3 do begin for i := 0 to ControlCount - 1 do begin if Controls[i] is TSpeedButton then begin TSpeedButton(Controls[i]).Hint := Trim(CIFBeg.Name); end; end; end; end; procedure TfrmKnitMachInsp.cxButtonEdit1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmEmployeeSel := TfrmEmployeeSel.Create(self); with frmEmployeeSel do begin FPost := '������'; if ShowModal = 1 then begin SCPerson.Text := frmEmployeeSel.FRName; SCPerson.Hint := frmEmployeeSel.FRCode; end; end; finally frmEmployeeSel.Free; end; end; procedure TfrmKnitMachInsp.cxDBImage1DblClick(Sender: TObject); begin if TcxDBImage(Sender).Picture.Height = 0 then exit; LookImage(Qry_ImgHX.fieldbyname(TcxDBImage(Sender).Hint).asstring); end; procedure TfrmKnitMachInsp.Button1Click(Sender: TObject); var mvalue: Double; begin if Trim(CIFBeg.Text) <> '' then begin if Trim(CIFEnd.Text) <> '' then begin if StrToFloat(CIFEnd.Text) < StrToFloat(CIFBeg.Text) then begin Application.MessageBox('�õ�λ��¼�����!', '��ʾ', 0); Exit; end; end; end; if CIFQty.Text <> '' then begin if TryStrToFloat(CIFQty.Text, mvalue) = False then begin Application.MessageBox('�Ƿ�����!', '��ʾ', 0); Exit; end; end; with CDS_2 do begin Append; if RadioGroup1.ItemIndex = 5 then FieldByName('CIFName').Value := '������' + Trim(FCIFName) else if RadioGroup1.ItemIndex = 4 then FieldByName('CIFName').Value := '��ƥ' + Trim(FCIFName) else FieldByName('CIFName').Value := Trim(FCIFName); FieldByName('CIFbeg').Value := Trim(CIFBeg.Text); FieldByName('CIFEnd').Value := Trim(CIFEnd.Text); FieldByName('CIFNumber').Value := Trim(CIFNumber.Text); FieldByName('CIFPoints').Value := 0; if RadioGroup1.ItemIndex > -1 then begin if RadioGroup1.ItemIndex < 3 then begin FieldByName('CIFPoints').Value := RadioGroup1.ItemIndex + 1; end else begin FieldByName('CIFPoints').Value := 4; end; end; FieldByName('CIFQty').Value := StrToFloatdef(trim(CIFQty.Text), 0); FieldByName('YJQty').Value := 0; Post; end; CIFBeg.Text := ''; CIFEnd.Text := ''; CIFQty.Text := ''; CIFNumber.Text := ''; MovePanel1.Visible := False; cxPageControl1.ActivePageIndex := 0; end; procedure TfrmKnitMachInsp.ToolButton10Click(Sender: TObject); begin if cxPageControl1.ActivePageIndex = 0 then begin if CDS_2.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ������õ���', '��ʾ', 32 + 4) <> IDYES then Exit; CDS_2.Delete; end else begin if CDS_1.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ������õ���', '��ʾ', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; SQL.Clear; sql.Add('delete Knit_Cloth_Inspect_Flaw where CIFID=''' + Trim(CDS_1.fieldbyname('CIFID').AsString) + ''''); ExecSQL; end; //���´õ���Ϣ with ADOCmd do begin Close; sql.Clear; sql.Add('exec P_Knit_Insp_Up @CIID=''' + Trim(CDS_1.fieldbyname('CIID').AsString) + ''''); if FOperationStatus = '������' then sql.Add(',@InspType=' + QuotedStr('���̿�')) else sql.Add(',@InspType=' + QuotedStr('������')); execsql; end; CDS_1.Delete; end; // if Trim(CDS_2.fieldbyname('CIFID').AsString) = '' then // begin // CDS_2.Delete; // end // else // begin // with ADOCmd do // begin // Close; // SQL.Clear; // sql.Add('delete Knit_Cloth_Inspect_Flaw where CIFID=''' + Trim(CDS_1.fieldbyname('CIFID').AsString) + ''''); // ExecSQL; // end; // //���´õ���Ϣ // with ADOCmd do // begin // Close; // sql.Clear; // sql.Add('exec P_Knit_Insp_Up @CIID=''' + Trim(CDS_1.fieldbyname('CIID').AsString) + ''''); // if FOperationStatus = '������' then // sql.Add(',@InspType=' + QuotedStr('���̿�')) // else // sql.Add(',@InspType=' + QuotedStr('������')); // execsql; // end; // CDS_2.Delete; // end; end; procedure TfrmKnitMachInsp.ToolButton1Click(Sender: TObject); var MINo, MStkIds: string; begin if CDS_3.IsEmpty then exit; with CDS_3 do begin DisableControls; First; while not eof do begin MStkIds := MStkIds + Trim(CDS_3.FieldByName('CIID').AsString) + ','; next; end; EnableControls; end; MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1); if GetLSNo(ADOCmd, MINo, 'R', 'Knit_Cloth_IO', 4, 1) = False then begin Application.MessageBox('ȡ��ⵥ��ʧ��!', '��ʾ', 0); Exit; end; ADOCmd.Connection.BeginTrans; try // ADOCmd.Connection.CommitTrans; with ADOCmd do begin Close; Sql.Clear; Sql.Add('exec P_Knit_Cloth_In '); Sql.Add('@StkIds=' + quotedstr(trim(MStkIds))); Sql.Add(',@IOTime=' + Quotedstr(FormatDateTime('yyyy-MM-dd', SGetServerDate(ADOTmp)))); Sql.Add(',@IOType=' + Quotedstr('�������')); Sql.Add(',@IONO=' + Quotedstr(MINo)); Open; end; if ADOCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOCmd.FieldByName('ShowMsg').AsString))); end; application.MessageBox('�������ɹ���', '��ʾ��Ϣ', MB_ICONERROR); ADOCmd.Connection.CommitTrans; except ADOCmd.Connection.RollbackTrans; application.MessageBox('�������ʧ�ܣ�', '��ʾ��Ϣ', MB_ICONERROR); end; end; procedure TfrmKnitMachInsp.ToolButton2Click(Sender: TObject); begin if CDS_3.IsEmpty then exit; if Application.MessageBox('ȷ��Ҫ���´�ӡ��', '��ʾ', 32 + 4) <> IDYES then Exit; try with ADOCmd do begin close; sql.Clear; sql.Add('update Knit_Cloth_IO SET PrintFlag=0 where PCID=''' + trim(CDS_3.fieldbyName('PCID').AsString) + ''' and CRFlag=''���'' '); execsql; end; except application.MessageBox('���´�ӡʧ��!', '��ʾ��Ϣ', MB_ICONERROR); end; end; procedure TfrmKnitMachInsp.edtScanKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if trim(edtScan.Text) = '' then exit; if trim(edtScan.Text) = FPCId then begin edtScan.Text := ''; exit; end; ClearGlobal(); FOperationStatus := '������'; InitLCK(edtScan.Text); InitJYGrid(); // GrossWeight.SetFocus; InputLen.SetFocus; end; end; procedure TfrmKnitMachInsp.CIFBegClick(Sender: TObject); var i: Integer; begin with Panel3 do begin for i := 0 to ControlCount - 1 do begin if Controls[i] is TSpeedButton then begin TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name); end; end; end; end; procedure TfrmKnitMachInsp.CIFEndChange(Sender: TObject); var mvalue: Double; begin if Trim(CIFBeg.Text) <> '' then begin if TryStrToFloat(CIFBeg.Text, mvalue) = False then begin Application.MessageBox('�Ƿ�����!', '��ʾ', 0); Exit; end; end else begin Exit; end; if Trim(CIFEnd.Text) <> '' then begin if TryStrToFloat(CIFEnd.Text, mvalue) = False then begin Application.MessageBox('�Ƿ�����!', '��ʾ', 0); Exit; end; end else begin Exit; end; CIFQty.Text := FloatToStr(StrToFloat(CIFEnd.Text) - StrToFloat(CIFBeg.Text)); end; procedure TfrmKnitMachInsp.Edit6Click(Sender: TObject); begin if Trim(Edit6.Text) = '' then begin Edit6.Text := '��'; end else begin Edit6.Text := ''; end; end; procedure TfrmKnitMachInsp.MinLenExit(Sender: TObject); begin SetINIFile(); end; procedure TfrmKnitMachInsp.MJstr3KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; SelectNext(ActiveControl as TWinControl, True, True); end; end; procedure TfrmKnitMachInsp.NetWeightExit(Sender: TObject); begin if (trim(GrossWeight.Text) = '') and (trim(NetWeight.Text) = '') then exit; if (trim(GrossWeight.Text) = '') and (trim(Tare.Text) = '') then exit; if (trim(NetWeight.Text) = '') and (trim(Tare.Text) = '') then exit; if (trim(Tare.Text) = '') then exit; if (trim(NetWeight.Text) <> '') then begin GrossWeight.Text := floattostr(strtofloatdef(trim(Tare.Text), 0) + strtofloatdef(trim(NetWeight.Text), 0)); exit; end; end; procedure TfrmKnitMachInsp.Button2Click(Sender: TObject); begin RadioGroup1.ItemIndex := -1; end; procedure TfrmKnitMachInsp.Button3Click(Sender: TObject); begin if Panel6.Visible then Panel6.Visible := False else Panel6.Visible := True; end; procedure TfrmKnitMachInsp.GrossWeightChange(Sender: TObject); begin QuantityConversion(); end; procedure TfrmKnitMachInsp.edtScanClick(Sender: TObject); var i: Integer; begin Panel3.Visible := True; with Panel3 do begin for i := 0 to ControlCount - 1 do begin if Controls[i] is TSpeedButton then begin TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name); end; end; end; end; procedure TfrmKnitMachInsp.NetWeightKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin BTPrint.Click; end; end; procedure TfrmKnitMachInsp.FormCreate(Sender: TObject); begin inherited; IsCommopen := false; end; procedure TfrmKnitMachInsp.lblLenUnitClick(Sender: TObject); begin if Trim(lblLenUnit.Caption) = 'M' then SetUnit('Y') else SetUnit('M'); end; procedure TfrmKnitMachInsp.Button4Click(Sender: TObject); begin MovePanel1.Visible := false; end; procedure TfrmKnitMachInsp.ToolButton3Click(Sender: TObject); begin if CDS_3.IsEmpty then Exit; PrtData(CDS_3.fieldbyname('CIID').AsString); end; procedure TfrmKnitMachInsp.ToolButton4Click(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'WFBCD'; flagname := '�õ�'; fnote := True; V1Note.Caption := 'Ӣ������'; if ShowModal = 1 then begin Self.InitCDPanel(); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmKnitMachInsp.ToolButton5Click(Sender: TObject); begin if CDS_3.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; // with ADOTmp do // begin // Close; // sql.Clear; // sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''' and IOFlag=''���'''); // Open; // end; // if not ADOTmp.IsEmpty then // begin // Application.MessageBox('�Ѳ���������ݲ���ɾ��!', '��ʾ', 0); // Exit; // end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''' and IOFlag=''����'''); Open; end; if not ADOTmp.IsEmpty then begin Application.MessageBox('�Ѳ����������ݲ���ɾ��!', '��ʾ', 0); Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('insert into Knit_Cloth_Inspect_Del select * from Knit_Cloth_Inspect where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('insert into Knit_Cloth_IO_Del select * from Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('insert into Knit_Cloth_Stock_Del select * from Knit_Cloth_Stock where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('insert into Knit_Cloth_Inspect_Flaw_Del select * from Knit_Cloth_Inspect_Flaw where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('update Knit_Cloth_Inspect_Del set DelId=' + quotedstr(trim(DCode)) + ',Deler=' + quotedstr(trim(DName)) + ',Deltime=getdate() where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('update Knit_Cloth_IO_Del set DelId=' + quotedstr(trim(DCode)) + ',Deler=' + quotedstr(trim(DName)) + ',Deltime=getdate() where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('update Knit_Cloth_Stock_Del set DelId=' + quotedstr(trim(DCode)) + ',Deler=' + quotedstr(trim(DName)) + ',Deltime=getdate() where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('update Knit_Cloth_Inspect_Flaw_Del set DelId=' + quotedstr(trim(DCode)) + ',Deler=' + quotedstr(trim(DName)) + ',Deltime=getdate() where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('update knit_Plan_Card set Status =''0'' where PCID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('delete Knit_Cloth_Inspect where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('delete Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('delete Knit_Cloth_Stock where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('delete Knit_Cloth_Inspect_Flaw where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('delete Knit_Cloth_knitter where CIID=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''''); sql.Add('insert into Knit_Need_Up(UType,UDataId) values(''����ɾ��'',' + quotedstr(Trim(CDS_3.fieldbyname('CIID').AsString)) + ') '); ExecSQL; end; CDS_3.Delete; end; procedure TfrmKnitMachInsp.ToolButton6Click(Sender: TObject); begin if CDS_3.IsEmpty then Exit; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''' and IOFlag=''���'''); Open; end; if not ADOTmp.IsEmpty then begin Application.MessageBox('�Ѳ���������ݲ���ɾ��!', '��ʾ', 0); Exit; end; with ADOTmp do begin Close; sql.Clear; sql.Add('select * from Knit_Cloth_IO where StkId=''' + Trim(CDS_3.fieldbyname('CIID').AsString) + ''' and IOFlag=''����'''); Open; end; if not ADOTmp.IsEmpty then begin Application.MessageBox('�Ѳ����������ݲ���ɾ��!', '��ʾ', 0); Exit; end; InitJTM(CDS_3.fieldbyname('CIID').AsString); end; procedure TfrmKnitMachInsp.ToolButton7Click(Sender: TObject); begin WriteCxGrid(trim(Self.Caption) + 'Tv1', Tv1, 'ó�������'); WriteCxGrid(trim(Self.Caption) + 'Tv2', Tv2, 'ó�������'); WriteCxGrid(trim(Self.Caption) + 'Tv3', Tv3, 'ó�������'); end; procedure TfrmKnitMachInsp.ToolButton8Click(Sender: TObject); begin Close; end; procedure TfrmKnitMachInsp.ToolButton9Click(Sender: TObject); var MStkIds: string; begin if CDS_3.IsEmpty then exit; with CDS_3 do begin DisableControls; First; while not eof do begin MStkIds := MStkIds + Trim(CDS_3.FieldByName('CIID').AsString) + ','; next; end; EnableControls; end; MStkIds := copy(MStkIds, 1, Length(MStkIds) - 1); ADOCmd.Connection.BeginTrans; try ADOCmd.Connection.CommitTrans; with ADOCmd do begin Close; Sql.Clear; Sql.Add('exec P_Knit_Cloth_ReIn '); Sql.Add('@StkIds=' + quotedstr(trim(MStkIds))); Sql.Add(',@IOIDS='''' '); Open; end; if ADOCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOCmd.FieldByName('ShowMsg').AsString))); end; application.MessageBox('�������ɹ���', '��ʾ��Ϣ', MB_ICONERROR); except ADOCmd.Connection.RollbackTrans; application.MessageBox('�������ʧ�ܣ�', '��ʾ��Ϣ', MB_ICONERROR); end; end; procedure TfrmKnitMachInsp.edtChenClick(Sender: TObject); begin if Trim(TEdit(Sender).Text) = '' then begin TEdit(Sender).Text := '��'; end else begin TEdit(Sender).Text := ''; end; SetINIFile(); end; procedure TfrmKnitMachInsp.edtYJClick(Sender: TObject); begin if Trim(TEdit(Sender).Text) = '' then begin TEdit(Sender).Text := '��'; end else begin TEdit(Sender).Text := ''; end; end; procedure TfrmKnitMachInsp.Button6Click(Sender: TObject); begin if ScrollBox1.Visible then ScrollBox1.Visible := False else ScrollBox1.Visible := True; end; procedure TfrmKnitMachInsp.Button8Click(Sender: TObject); begin if Panel7.Visible then Panel7.Visible := False else Panel7.Visible := True; end; end.