2025-04-16 09:11:01 +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> <> ʾ ' , 3 2 + 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
2025-05-12 15:20:41 +08:00
CopyInt : = 0 ;
2025-04-16 09:11:01 +08:00
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* 1 6 5 ;
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> <> ʾ ' , 3 2 + 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 = 4 6 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 .