unit U_CPManage; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,U_SLT, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, jpeg, 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, cxTLdxBarBuiltInMenu; type TfrmCPManage = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBAdd: TToolButton; TBDel: TToolButton; TBClose: TToolButton; DataSource1: TDataSource; ADOQueryTree20: TADOQuery; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; cxGridPopupMenu1: TcxGridPopupMenu; cxSplitter1: TcxSplitter; Panel1: TPanel; Label2: TLabel; CYID: TEdit; ToolButton2: TToolButton; ToolButton3: TToolButton; Label1: TLabel; CYName: TEdit; Label4: TLabel; CYEName: TEdit; Label5: TLabel; CYSpec: TEdit; DataSource2: TDataSource; ADOQueryMain: TADOQuery; CDS_Main: TClientDataSet; ToolButton1: TToolButton; ToolButton4: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; ODPat: TOpenDialog; IdFTP1: TIdFTP; SaveDialog1: TSaveDialog; ToolButton5: TToolButton; ToolButton6: TToolButton; Label3: TLabel; CYNO: TEdit; ToolButton7: TToolButton; Panel2: TPanel; DSCYNO: TDataSource; CDS_CYNO: TClientDataSet; Edit1: TEdit; Label6: TLabel; Label7: TLabel; CYKZ: TEdit; Label8: TLabel; Label9: TLabel; CYCF: TEdit; CYECF: TEdit; Label10: TLabel; CYMF: TEdit; ADOQueryTree: TClientDataSet; Panel5: TPanel; cxDBTreeList1: TcxDBTreeList; cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn; Label11: TLabel; Label12: TLabel; defstr1: TEdit; Label13: TLabel; DefStr2: TEdit; Label14: TLabel; defnote2: TEdit; Label15: TLabel; defnote3: TEdit; Label16: TLabel; Panel3: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column19: TcxGridDBColumn; v1Column12: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column16: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column42: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column13: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column18: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column22: TcxGridDBColumn; v1Column23: TcxGridDBColumn; v1Column24: TcxGridDBColumn; v1Column25: TcxGridDBColumn; v1Column26: TcxGridDBColumn; v1Column27: TcxGridDBColumn; v1Column28: TcxGridDBColumn; v1Column29: TcxGridDBColumn; v1Column30: TcxGridDBColumn; v1Column31: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; GroupBox1: TGroupBox; ScrollBox1: TScrollBox; adoqueryPicture: TADOQuery; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure cxDBTreeList1DblClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure CYIDKeyPress(Sender: TObject; var Key: Char); procedure CYNoChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Tv1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure ToolButton7Click(Sender: TObject); procedure CYSpecChange(Sender: TObject); procedure v1Column19PropertiesChange(Sender: TObject); procedure CYMFChange(Sender: TObject); procedure CYNameChange(Sender: TObject); procedure CYNOKeyPress(Sender: TObject; var Key: Char); private { Private declarations } CPID: string; PState: Integer; FCPID, FTopID: string; procedure InitTree(); procedure InitGrid(); procedure ReadINIFile(); procedure InitImage(); procedure TJGS(); public { Public declarations } end; var frmCPManage: TfrmCPManage; Mach: array of TfrmSlt; implementation uses U_DataLink, U_Fun, U_CPAdd, U_FileUp, U_YPCR; {$R *.dfm} procedure TfrmCPManage.InitTree(); var i: Integer; begin with ADOQueryTree20 do begin Close; SQL.Clear; SQL.Add('select * from CP_Type order by CPlevel,CPOrder,CPName'); Open; end; SCreateCDS20(ADOQueryTree20, ADOQueryTree); SInitCDSData20(ADOQueryTree20, ADOQueryTree); cxDBTreeList1.Items[0].Expand(false); //cxDBTreeList1.Items[1].Expand(False); end; procedure TfrmCPManage.InitGrid(); begin Panel2.Visible := True; Panel2.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType'); Parameters.ParamByName('Code').Value := ''; Parameters.ParamByName('PState').Value := 0; Parameters.ParamByName('CYType').Value := Trim(ADOQueryTree.fieldbyname('CPID').AsString); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; Panel2.Visible := False; end; procedure TfrmCPManage.TJGS(); var i, j: Integer; begin i := 0; j := 0; CDS_Main.DisableControls; with CDS_Main do begin first; while not Eof do begin if FieldByName('CYPriceKg').Value = 0 then begin i := i + 1; end else begin j := j + 1; end; Next; end; end; CDS_Main.EnableControls; Label11.Caption := '������Ʒ����:' + Trim(IntToStr(j)); Label12.Caption := 'δ������Ʒ����:' + Trim(IntToStr(i)); end; procedure TfrmCPManage.FormDestroy(Sender: TObject); begin frmCPManage := nil; end; procedure TfrmCPManage.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmCPManage.TBCloseClick(Sender: TObject); begin WriteCxGrid('��Ʒ�б�YT', Tv1, '��Ʒ����'); if DirectoryExists(ExtractFileDir('D:\Right1209')) then winexec('cmd /c rd /s /q D:\Right1209', sw_hide); Close; end; procedure TfrmCPManage.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('ȷ��Ҫɾ��������', '��ʾ', 32 + 4) <> IDYES then Exit; if Trim(CDS_Main.fieldbyname('CYID').AsString) <> '' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete CP_YDang where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + ''''); ExecSQL; end; end; CDS_Main.Delete; end; procedure TfrmCPManage.FormShow(Sender: TObject); begin InitTree(); ReadCxGrid('��Ʒ�б�YT', Tv1, '��Ʒ����'); if DParameters1 = '1' then begin TBAdd.Visible := False; TBDel.Visible := False; ToolButton3.Visible := False; ToolButton5.Visible := False; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select CYID='''' '); Open; end; SCreateCDS20(ADOQueryTemp, CDS_CYNO); SInitCDSData20(ADOQueryTemp, CDS_CYNO); with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; SQL.Add('exec P_Select_CP_YDang :Code,:PState,:CYType'); Parameters.ParamByName('Code').Value := ''; Parameters.ParamByName('PState').Value := 0; Parameters.ParamByName('CYType').Value := 'XXXXXXX'; Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); CDS_CYNO.Delete; end; procedure TfrmCPManage.cxDBTreeList1DblClick(Sender: TObject); begin InitGrid(); TJGS(); end; procedure TfrmCPManage.TBAddClick(Sender: TObject); var i: Integer; FieldName: string; begin try frmCPAdd := TfrmCPAdd.Create(Application); with frmCPAdd do begin CopyInt := 0; FCYID := ''; FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal = 1 then begin Self.CDS_Main.Append; for i := 0 to frmCPAdd.Tv1.ColumnCount - 1 do begin FieldName := frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName; if Trim(FieldName) <> '' then begin Self.CDS_Main.FieldByName(FieldName).Value := frmCPAdd.CDS_Sub.FieldByName(FieldName).Value; end; end; CDS_Main.FieldByName('CPName').Value := Trim(ADOQueryTree.fieldbyname('CPName').AsString); CDS_Main.FieldByName('CYID').Value := CDS_Sub.fieldbyname('CYID').Value; CDS_Main.FieldByName('CYType').Value := CDS_Sub.fieldbyname('CYType').Value; Self.CDS_Main.Post; end; end; finally frmCPAdd.Free; end; end; procedure TfrmCPManage.TBRafreshClick(Sender: TObject); begin InitTree(); InitGrid(); TJGS(); end; procedure TfrmCPManage.ToolButton3Click(Sender: TObject); var i: Integer; FieldName: string; begin try frmCPAdd := TfrmCPAdd.Create(Application); with frmCPAdd do begin CopyInt := 0; FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString); FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal = 1 then begin Self.CDS_Main.Edit; for i := 0 to frmCPAdd.Tv1.ColumnCount - 1 do begin FieldName := frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName; if Trim(FieldName) <> '' then begin Self.CDS_Main.FieldByName(FieldName).Value := frmCPAdd.CDS_Sub.FieldByName(FieldName).Value; end; end; CDS_Main.FieldByName('CPName').Value := Trim(ADOQueryTree.fieldbyname('CPName').AsString); CDS_Main.FieldByName('CYID').Value := CDS_Sub.fieldbyname('CYID').Value; CDS_Main.FieldByName('CYType').Value := CDS_Sub.fieldbyname('CYType').Value; Self.CDS_Main.Post; end; end; finally frmCPAdd.Free; end; end; procedure TfrmCPManage.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TJGS(); end; end; procedure TfrmCPManage.CYIDKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Trim(CYID.Text) = '' then Exit; with ADOQueryMain do begin Close; Filtered := False; sql.Clear; sql.Add('exec P_Select_CP_YDang :Code,1,'''' '); Parameters.ParamByName('Code').Value := Trim(CYID.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); CYID.Text := ''; ADOQueryTree.Locate('CPID', CPID, []); end; end; procedure TfrmCPManage.CYNoChange(Sender: TObject); begin //if Length(Trim(TEdit(Sender).Text))<4 then Exit; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TJGS(); end; end; procedure TfrmCPManage.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('��Ʒ����', cxGrid1); end; procedure TfrmCPManage.ToolButton4Click(Sender: TObject); var fPrintFile, FFCYID: string; DPS, i, j: Integer; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin CYID.SetFocus; if CDS_Main.IsEmpty then Exit; //if CDS_CYNO.IsEmpty then Exit; if Trim(Edit1.Text) <> '' then begin if TryStrToInt(Edit1.Text, i) = False then begin Application.MessageBox('����¼�����!', '��ʾ', 0); exit; end; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\��Ʒ��ǩ.rmf'; CDS_Main.DisableControls; DPS := 0; FFCYID := ''; i := 1; if Trim(Edit1.Text) = '' then begin j := 1; end else begin j := StrToInt(Edit1.Text); end; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(CDS_Main.fieldbyname('CYID').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; RMVariables['QRBARCODE'] := fImagePath; for i := 1 to j do begin if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.PrintReport; // RM1.ShowReport; end else begin Application.MessageBox(PChar('û����' + ExtractFilePath(Application.ExeName) + 'Report\��Ʒ��ǩ.rmf'), '��ʾ', 0); Exit; end; end; if DPS = 0 then begin FFCYID := Trim(CDS_Main.fieldbyname('CYID').AsString); end; end; //CDS_Main.Locate('CYID',Trim(CDS_CYNO.fieldbyname('CYID').AsString),[]); Next; end; end; CDS_Main.EnableControls; CDS_Main.Locate('CYID', FFCYID, []); Edit1.Text := '1'; end; procedure TfrmCPManage.ToolButton5Click(Sender: TObject); begin try frmFileUp := TfrmFileUp.Create(Application); with frmFileUp do begin Code.Text := Trim(Self.CDS_Main.fieldbyname('CYNO').AsString); CYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString); if ShowModal = 1 then begin Self.InitGrid(); Self.CDS_Main.Locate('CYID', CYID, []); end; end; finally frmFileUp.Free; end; end; procedure TfrmCPManage.ToolButton6Click(Sender: TObject); var fHandle: THandle; FInt: Integer; FFName, FPath: string; begin {FPath:='C:\HTTP1209\'; if DirectoryExists(ExtractFileDir(FPath)) then winexec('cmd /c rd /s /q C:\HTTP1209',sw_hide);} with ADOQueryTemp do begin close; sql.Clear; sql.Add('select * from XD_File where CYNO=''' + Trim(CDS_Main.fieldbyname('CYNO').AsString) + ''''); Open; if IsEmpty then begin Application.MessageBox('��ƷͼƬδ�ϴ���', '��ʾ', 0); Exit; end; end; try ReadINIFile(); server := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '��������ַ', '127.0.0.1'); if Length(server) < 6 then begin server := '127.0.0.1'; end; IdFTP1.Host := server; //PicSvr; IdFTP1.Username := 'three'; IdFTP1.Password := '641010'; IdFTP1.Connect(); except IdFTP1.Quit; Application.MessageBox('�����ӵ��ļ������������飡', '��ʾ', MB_ICONWARNING); Exit; end; FPath := 'D:\Right1209\'; if not DirectoryExists(ExtractFileDir(FPath)) then CreateDir(ExtractFileDir(FPath)); FFName := Trim(ADOQueryTemp.fieldbyname('FileName').AsString); FFName := FPath + FFName; if FileExists(FFName) then begin FInt := 1; end; if FInt <> 1 then IdFTP1.Get('YP\' + Trim(ADOQueryTemp.fieldbyname('FileName').AsString), FPath + Trim(ADOQueryTemp.fieldbyname('FileName').AsString)); if IdFTP1.Connected then IdFTP1.Quit; ShellExecute(Handle, 'open', PChar(FPath + Trim(ADOQueryTemp.fieldbyname('FileName').AsString)), '', '', SW_SHOWNORMAL); end; procedure TfrmCPManage.ReadINIFile(); var programIni: Tinifile; //�����ļ��� FileName: string; begin FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI'; programIni := Tinifile.create(FileName); server := programIni.ReadString('SERVER', '��������ַ', '127.0.0.1'); programIni.Free; end; procedure TfrmCPManage.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin ToolButton6.Click; end; procedure TfrmCPManage.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin if CDS_Main.IsEmpty then Exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select * from CP_YDang where CYID=''' + Trim(CDS_Main.fieldbyname('CYID').asstring) + ''''); Open; end; CPID := Trim(ADOQueryTemp.fieldbyname('CYType').AsString); ADOQueryTree.Locate('CPID', CPID, []); InitImage(); end; procedure TfrmCPManage.InitImage(); var i,j:integer; jpg:TJpegImage; myStream: TADOBlobStream; begin j:=length(Mach); if j>0 then begin for i:=0 to j-1 do begin Mach[i].free; end; end; SetLength(Mach, 0); IF CDS_Main.IsEmpty then exit; try with adoqueryPicture do begin close; sql.Clear; sql.Add(' select A.TFID,A.WBID,A.FilesOther,B.FileName from TP_File A,XD_File B where A.TFID =B.XFID and A.WBID='+quotedstr(trim(CDS_Main.fieldbyname('CYID').AsString))); open; end; j:=adoqueryPicture.RecordCount; if j<1 then exit; adoqueryPicture.DisableControls; adoqueryPicture.First; SetLength(Mach, j); jpg:=TJpegImage.Create(); for i:=0 to j-1 do begin if triM(adoqueryPicture.fieldbyname('FilesOther').AsString)<>'' then begin myStream:=tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')),bmread); jpg.LoadFromStream(myStream); Mach[i] := TfrmSlt.Create(Self); Mach[i].Name:=trim(adoqueryPicture.fieldbyname('TFID').AsString); Mach[i].Parent := ScrollBox1; Mach[I].Left:=0+i*165; Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString,adoqueryPicture.fieldbyname('FileName').AsString,jpg); end; adoqueryPicture.Next; end; adoqueryPicture.EnableControls; finally jpg.free; application.ProcessMessages; end; end; //var // jpg: TJpegImage; // myStream: TADOBlobStream; //begin // if CDS_Main.IsEmpty then // Exit; // if Trim(CDS_Main.fieldbyname('CYID').AsString) = '' then // Exit; // // if cxPageControl1.ActivePageIndex=6 then // begin // Image2.Picture.Assign(nil); // try // with ADOQueryTemp do // begin // close; // sql.Clear; // sql.Add(' select * from TP_File A where A.WBID=''' + Trim(CDS_Main.fieldbyname('CYID').AsString) + ''''); // sql.Add(' and TFType=''��Ʒ'' '); // open; // if RecordCount > 0 then // begin // if trim(ADOQueryTemp.fieldbyname('FilesOther').AsString) <> '' then // begin // myStream := tadoblobstream.Create(tblobfield(ADOQueryTemp.fieldbyname('FilesOther')), bmread); // if myStream = nil then // exit; // jpg := TJPEGImage.Create; // jpg.LoadFromStream(myStream); // Image2.Picture.Assign(jpg); // end; // end; // end; // finally // jpg.Free; // myStream.Free; // end; // end; //end; procedure TfrmCPManage.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin {if Key= then begin if CDS_Main.IsEmpty then Exit; if Application.MessageBox('ȷ��6666Ҫɾ��������','��ʾ',32+4)<>IDYES then Exit; if Trim(CDS_Main.fieldbyname('CYID').AsString)<>'' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete CP_YDang where CYID='''+Trim(CDS_Main.fieldbyname('CYID').AsString)+''''); ExecSQL; end; end; CDS_Main.Delete; end; } end; procedure TfrmCPManage.Tv1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 46 then begin TBDel.Click; end; end; procedure TfrmCPManage.ToolButton7Click(Sender: TObject); var i: Integer; FieldName: string; begin try frmCPAdd := TfrmCPAdd.Create(Application); with frmCPAdd do begin CopyInt := 1; FCYID := Trim(Self.CDS_Main.fieldbyname('CYID').AsString); FCPID := Trim(Self.ADOQueryTree.fieldbyname('CPID').AsString); FCPNo := Trim(Self.ADOQueryTree.fieldbyname('CPNo').AsString); if ShowModal = 1 then begin Self.CDS_Main.Append; for i := 0 to frmCPAdd.Tv1.ColumnCount - 1 do begin FieldName := frmCPAdd.Tv1.Columns[i].DataBinding.FilterFieldName; if Trim(FieldName) <> '' then begin Self.CDS_Main.FieldByName(FieldName).Value := frmCPAdd.CDS_Sub.FieldByName(FieldName).Value; end; end; CDS_Main.FieldByName('CPName').Value := Trim(ADOQueryTree.fieldbyname('CPName').AsString); CDS_Main.FieldByName('CYID').Value := CDS_Sub.fieldbyname('CYID').Value; CDS_Main.FieldByName('CYType').Value := CDS_Sub.fieldbyname('CYType').Value; Self.CDS_Main.Post; end; end; finally frmCPAdd.Free; end; end; procedure TfrmCPManage.CYSpecChange(Sender: TObject); begin if Length(Trim(CYSpec.Text)) < 3 then Exit; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmCPManage.v1Column19PropertiesChange(Sender: TObject); var mvalue: Boolean; begin { mvalue:=TcxCheckBox(Sender).EditingValue; if mvalue=True then begin with CDS_CYNO do begin if Locate('CYID',Trim(CDS_Main.fieldbyname('CYID').AsString),[])=False then begin Append; FieldByName('CYID').Value:=Trim(CDS_Main.fieldbyname('CYID').AsString); Post; end; end; end else begin //with CDS_CYNO do //begin CDS_CYNO.Locate('CYID',Trim(CDS_Main.fieldbyname('CYID').AsString),[]); CDS_CYNO.Delete; //end; end; } end; procedure TfrmCPManage.CYMFChange(Sender: TObject); begin //if Length(Trim(TEdit(Sender).Text))<2 then Exit; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TJGS(); end; end; procedure TfrmCPManage.CYNameChange(Sender: TObject); begin //if Length(Trim(TEdit(Sender).Text))<2 then Exit; if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TJGS(); end; end; procedure TfrmCPManage.CYNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Trim(CYNO.Text) = '' then Exit; if Length(Trim(CYNO.Text)) < 4 then Exit; with ADOQueryMain do begin Close; Filtered := False; sql.Clear; sql.Add('exec P_Select_CP_YDang :Code,2,'''' '); Parameters.ParamByName('Code').Value := '%' + Trim(CYNO.Text) + '%'; Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); CYID.Text := ''; ADOQueryTree.Locate('CPID', CPID, []); TJGS(); end; end; end.