D7wmguihua/样品/U_CPManage.pas

911 lines
25 KiB
ObjectPascal
Raw Normal View History

2025-01-18 16:22:10 +08:00
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 := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>:' + Trim(IntToStr(j));
Label12.Caption := <><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>:' + 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('<27><>Ʒ<EFBFBD>б<EFBFBD>YT', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
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(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 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('<27><>Ʒ<EFBFBD>б<EFBFBD>YT', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
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('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>', 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('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
exit;
end;
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7>ǩ.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('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 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(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><>Ʒ<EFBFBD><C6B7>ǩ.rmf'), '<27><>ʾ', 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('<27><>ƷͼƬδ<C6AC>ϴ<EFBFBD><CFB4><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end;
try
ReadINIFile();
server := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '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('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡', '<27><>ʾ', 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; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName: string;
begin
FileName := ExtractFilePath(Paramstr(0)) + 'SYSTEMSET.INI';
programIni := Tinifile.create(FileName);
server := programIni.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '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=''<27><>Ʒ'' ');
// 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(<><C8B7>6666Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',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.