D7DJlanshan/基础资料维护(BaseInfo.dll)/U_ZdyAttachCP_ImageList10.pas
DESKTOP-E401PHE\Administrator bff149d192 `
2025-04-30 19:46:19 +08:00

272 lines
7.3 KiB
ObjectPascal

unit U_ZdyAttachCP_ImageList10;
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; //客户端套接字句柄
FDdys:string[32]; //客户端套接字
FdDysName:string[32]; //客户端套接字
end;
TfrmZdyAttachCP_ImageList10 = 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;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
cxTabControl_page: TcxTabControl;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: 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; //客户端连接数组
end;
var
frmZdyAttachCP_ImageList10: TfrmZdyAttachCP_ImageList10;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp,U_ZdyAttInputCP, U_ZdyAttInputCP_other;
{$R *.dfm}
procedure TfrmZdyAttachCP_ImageList10.InitPage();
var
JLInt,YeInt,i:Integer;
begin
try
with ADOQueryTemp do
begin
Close;
Filtered:=False;
SQL.Clear;
sql.Add(' exec P_Get_CP_Image_Page10 ');
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 30;
YeInt:=YeInt+1;
cxTabControl_page.Tabs.Clear;
for i:=1 to YeInt do
begin
cxTabControl_page.Tabs.Add('第'+IntToStr(i)+'页');
end;
finally
end;
end;
procedure TfrmZdyAttachCP_ImageList10.LookImage(FileName:string);
var
sFieldName:string;
// ff: TADOBlobStream;
// FJStream : TMemoryStream;
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
// Panel2.Caption:='正在下载数据,请稍等...';
// Panel2.Visible:=true;
// application.ProcessMessages;
try
IdFTP1.Get(fFlileFlag+'\'+ Trim(fileName), sFieldName,true, false);
except
// Panel2.Visible:=false;
Application.MessageBox('客户图样文件不存在', '提示', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
// Panel2.Visible:=false;
Application.MessageBox('无法连接文件服务器', '提示', 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_ImageList10.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
SQL.Clear;
sql.Add(' exec P_Get_CP_Image_List10 ');
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_ImageList10.FormDestroy(Sender: TObject);
begin
frmZdyAttachCP_ImageList10:=nil;
end;
procedure TfrmZdyAttachCP_ImageList10.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmZdyAttachCP_ImageList10.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmZdyAttachCP_ImageList10.FormShow(Sender: TObject);
begin
fFlileFlag:=UserDataFlag+'CT';
// InitGrid();
end;
procedure TfrmZdyAttachCP_ImageList10.TBRafreshClick(Sender: TObject);
begin
InitPage();
InitGrid();
end;
procedure TfrmZdyAttachCP_ImageList10.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_ImageList10.C_CodeNameChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachCP_ImageList10.Pic_Image1DblClick(Sender: TObject);
begin
IF TcxDBImage(Sender).Picture.Height=0 then exit;
LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
procedure TfrmZdyAttachCP_ImageList10.cxTabControl_pageChange(
Sender: TObject);
begin
Initgrid();
end;
procedure TfrmZdyAttachCP_ImageList10.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.