RTFormwork/项目代码/RTBasicsV1/A02基础产品管理/U_SLT.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

103 lines
2.4 KiB
ObjectPascal

unit U_SLT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, cxControls, cxContainer, cxEdit, cxImage, IdFTP,
ShellAPI, cxGraphics, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore,
dxSkinsDefaultPainters, Data.DB, Data.Win.ADODB;
type
TfrmSLT = class(TFrame)
cxImage1: TcxImage;
Panel1: TPanel;
ADOQueryTemp: TADOQuery;
procedure cxImage1DblClick(Sender: TObject);
private
CYID, FileName: string;
{ Private declarations }
public
procedure Init(fCYID: string; fFileName: string; fPicture: TJpegImage);
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmSLT.Init(fCYID: string; fFileName: string; fPicture: TJpegImage);
begin
CYID := trim(fCYID);
FileName := trim(fFileName);
Panel1.Caption := FileName;
cxImage1.Picture.Assign(fPicture);
end;
procedure TfrmSLT.cxImage1DblClick(Sender: TObject);
var
IdFTP1: TIdFTP;
FPath, FFName: string;
FInt: integer;
mfileSize: Integer;
mCreationTime: TdateTime;
mWriteTime: TdateTime;
begin
try
IdFTP1 := TIdFTP.Create(self);
IdFTP1.Host := PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
IdFTP1.Quit;
IdFTP1.Free;
Application.MessageBox('无法连接到文件服务器,请检查!', '提示', MB_ICONWARNING);
Exit;
end;
FPath := 'D:\Right1209\';
if not DirectoryExists(ExtractFileDir(FPath)) then
CreateDir(ExtractFileDir(FPath));
FFName := Trim(FileName);
FFName := FPath + FFName;
if FileExists(FFName) then
begin
FInt := 1;
GetFileInfo(FFName, mfileSize, mCreationTime, mWriteTime);
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select TFID,WBID,TFDate,Files,Filler,FillTime,FileName from TP_File ');
SQL.Add(' where FileName=''' + Trim(FileName) + '''');
SQL.Add(' and FileType=''YP'' ');
SQL.Add(' and TFDate>''' + FormatDateTime('yyyy-MM-dd hh:nn:ss', mWriteTime) + '''');
// ShowMessage(SQL.Text);
Open;
end;
if not ADOQueryTemp.IsEmpty then
begin
if FileExists(FFName) then
DeleteFile(FFName);
FInt := 0;
end;
end;
if FInt <> 1 then
IdFTP1.Get(UserDataFlag + 'YP\' + FileName, pchar(FFName));
if IdFTP1.Connected then
begin
IdFTP1.Quit;
IdFTP1.Free;
end;
ShellExecute(Handle, 'open', PChar(FFName), '', '', SW_SHOWNORMAL);
end;
end.