D7DJlanshan/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP_ImageList.pas

275 lines
7.3 KiB
ObjectPascal
Raw Normal View History

2025-04-30 19:46:19 +08:00
unit U_ZdyAttachCP_ImageList;
interface
uses
Windows, Messages, SysUtils,StrUtils, Variants, Classes, Graphics, Controls, Forms, ComObj,
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, cxCalendar,
cxButtonEdit, cxTextEdit, Menus, cxLookAndFeelPainters, cxButtons,
cxContainer, cxImage, cxDBEdit, cxPC;
type
FdDy=record
inc: integer; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys:string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName:string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
end;
TfrmZdyAttachCP_ImageList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
C_CodeName: TEdit;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label1: TLabel;
C_Color: TEdit;
OpenDialog1: TOpenDialog;
ADOQueryImage: TADOQuery;
DSImage: TDataSource;
IdFTP1: TIdFTP;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxTabControl_page: TcxTabControl;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure C_CodeNameChange(Sender: TObject);
procedure Pic_Image1DblClick(Sender: TObject);
procedure cxTabControl_pageChange(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
fFlileFlag:string;
{ Private declarations }
procedure InitGrid();
procedure InitPage();
procedure LookImage(FileName:string);
public
fkhType:string;
dFdDy: array[0..20] of FdDy; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
end;
var
frmZdyAttachCP_ImageList: TfrmZdyAttachCP_ImageList;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInputCP, U_ZdyAttInputCP_other;
{$R *.dfm}
procedure TfrmZdyAttachCP_ImageList.InitPage();
var
JLInt,YeInt,i:Integer;
begin
try
with ADOQueryTemp do
begin
Close;
Filtered:=False;
SQL.Clear;
sql.Add(' exec P_Get_CP_Image_Page ');
sql.Add(' @C_CodeName='+quotedstr(trim(C_CodeName.text)));
sql.Add(',@C_Color='+quotedstr(trim(C_Color.text)));
Open;
end;
JLInt:=ADOQueryTemp.fieldbyname('JLInt').AsInteger;
YeInt:=JLInt div 90;
YeInt:=YeInt+1;
cxTabControl_page.Tabs.Clear;
for i:=1 to YeInt do
begin
cxTabControl_page.Tabs.Add('<27><>'+IntToStr(i)+'ҳ');
end;
finally
end;
end;
procedure TfrmZdyAttachCP_ImageList.LookImage(FileName:string);
var
sFieldName:string;
// ff: TADOBlobStream;
// FJStream : TMemoryStream;
begin
sFieldName:=leftbstr(ExtractFilePath(Application.ExeName),1)+':\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName),nil);
sFieldName:=sFieldName+'\'+trim(fileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
// Panel2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>Ե<EFBFBD>...';
// Panel2.Visible:=true;
// application.ProcessMessages;
try
IdFTP1.Get(fFlileFlag+'\'+ Trim(fileName), sFieldName,true, false);
except
// Panel2.Visible:=false;
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
// Panel2.Visible:=false;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
// Panel2.Visible:=false;
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL);
end;
procedure TfrmZdyAttachCP_ImageList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' exec P_Get_CP_Image_List ');
sql.Add(' @C_CodeName='+quotedstr(trim(C_CodeName.text)));
sql.Add(',@C_Color='+quotedstr(trim(C_Color.text)));
sql.Add(',@yeInt='''+inttostr(cxTabControl_page.TabIndex)+''' ');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachCP_ImageList.FormDestroy(Sender: TObject);
begin
frmZdyAttachCP_ImageList:=nil;
end;
procedure TfrmZdyAttachCP_ImageList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachCP_ImageList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmZdyAttachCP_ImageList.FormShow(Sender: TObject);
begin
fFlileFlag:=UserDataFlag+'HX';
// InitGrid();
end;
procedure TfrmZdyAttachCP_ImageList.TBRafreshClick(Sender: TObject);
begin
InitPage();
InitGrid();
end;
procedure TfrmZdyAttachCP_ImageList.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_HZ);
SInitCDSData20(ADOQueryMain,CDS_HZ);
end;
end;
procedure TfrmZdyAttachCP_ImageList.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachCP_ImageList.Pic_Image1DblClick(Sender: TObject);
begin
IF TcxDBImage(Sender).Picture.Height=0 then exit;
LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
procedure TfrmZdyAttachCP_ImageList.cxTabControl_pageChange(
Sender: TObject);
begin
Initgrid();
end;
procedure TfrmZdyAttachCP_ImageList.Tv2CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
ffieldName,ffileName:string;
begin
ffieldName:=uppercase(trim(tv2.Controller.FocusedColumn.DataBinding.FilterFieldName));
IF (ffieldName='FILESOTHER0') OR (ffieldName='FILESOTHER1') OR (ffieldName='FILESOTHER2') then
begin
ffileName:='FileName'+RightStr(ffieldName,1);
LookImage(CDS_HZ.fieldbyname(ffileName).asstring);
end;
end;
end.