2024-07-04 16:01:24 +08:00
unit U_ClothInfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
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, U_SLT, ComObj, Menus,
cxLookAndFeels, cxLookAndFeelPainters, cxTLdxBarBuiltInMenu, cxNavigator,
dxBarBuiltInMenu, cxPC, Math, RM_BarCode, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, IdExplicitTLSClientServerBase, U_BaseList, cxContainer,
dxDBBarCode, dxBarCode, Vcl. Clipbrd, cxTextEdit, BtnEdit, StrUtils,
2024-09-06 17:24:10 +08:00
cxButtonEdit, dxSkinWXI, dxScrollbarAnnotations;
2024-07-04 16:01:24 +08:00
type
FdDy = record
inc: integer ; //<2F> ͻ<EFBFBD> <CDBB> <EFBFBD> <EFBFBD> <EFBFBD> <D7BD> ־<EFBFBD> <D6BE> <EFBFBD>
FDdys: string [ 3 2 ] ; //<2F> ͻ<EFBFBD> <CDBB> <EFBFBD> <EFBFBD> <EFBFBD> <D7BD> <EFBFBD>
FdDysName: string [ 3 2 ] ; //<2F> ͻ<EFBFBD> <CDBB> <EFBFBD> <EFBFBD> <EFBFBD> <D7BD> <EFBFBD>
end ;
TfrmClothInfo = class( TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
DS_Tree: TDataSource;
ADOQueryTree: TADOQuery;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
GPM_1: TcxGridPopupMenu;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxSplitter1: TcxSplitter;
Panel1: TPanel;
TBFilter: TToolButton;
v1CYNo: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
DS_1: TDataSource;
ADOQueryMain: TADOQuery;
CDS_1: TClientDataSet;
v1Column12: TcxGridDBColumn;
TBExport: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
TBUP: TToolButton;
Label3: TLabel;
C_Code: TEdit;
TBCopy: TToolButton;
Panel2: TPanel;
v1SSel: TcxGridDBColumn;
DSCYNO: TDataSource;
CDS_CYNO: TClientDataSet;
Panel5: TPanel;
cxDBTreeList1: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
Label11: TLabel;
Label12: TLabel;
Panel3: TPanel;
adoqueryPicture: TADOQuery;
v1Column1: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
Label4: TLabel;
C_Name: TEdit;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBMLEdit: TToolButton;
OpenDialog1: TOpenDialog;
Label9: TLabel;
C_GramWeight: TEdit;
Label8: TLabel;
C_Width: TEdit;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
v1Column11: TcxGridDBColumn;
Panel7: TPanel;
Panel4: TPanel;
Label14: TLabel;
LBCPAP1: TLabel;
Button1: TButton;
Button2: TButton;
TCBNOR1: TComboBox;
RMBarCodeObject1: TRMBarCodeObject;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
ToolButton1: TToolButton;
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
Tv1Column2: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
cxGridPopupMenu2: TcxGridPopupMenu;
ToolButton2: TToolButton;
N3: TMenuItem;
Panel9: TPanel;
Panel10: TPanel;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
CDS_Tree: TClientDataSet;
ADOQueryPrint: TADOQuery;
CDS_Label: TClientDataSet;
Tv1Column1: TcxGridDBColumn;
ToolButton3: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Panel6: TPanel;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
Tv1Column4: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar3: TToolBar;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
CDS_GX: TClientDataSet;
DataSource2: TDataSource;
ADOQuery1: TADOQuery;
ToolButton6: TToolButton;
Panel8: TPanel;
CTName: TEdit;
Label1: TLabel;
ToolButton9: TToolButton;
RMDB_1: TRMDBDataSet;
Tv1Column10: TcxGridDBColumn;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
Label2: TLabel;
BCIID: TEdit;
RMDB_Main1: TRMDBDataSet;
ADOQueryPrint1: TADOQuery;
TV2Column3: TcxGridDBColumn;
TV2Column4: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
TV2Column5: TcxGridDBColumn;
procedure FormClose( Sender: TObject; var Action: TCloseAction) ;
procedure TBCloseClick( Sender: TObject) ;
procedure TBDelClick( Sender: TObject) ;
procedure FormShow( Sender: TObject) ;
procedure cxDBTreeList1DblClick( Sender: TObject) ;
procedure TBRafreshClick( Sender: TObject) ;
procedure TBFilterClick( Sender: TObject) ;
procedure CYNoChange( Sender: TObject) ;
procedure TBExportClick( Sender: TObject) ;
procedure TBUPClick( Sender: TObject) ;
procedure TBCopyClick( Sender: TObject) ;
procedure C_CodeKeyPress( Sender: TObject; var Key: Char ) ;
procedure TBAddClick( Sender: TObject) ;
procedure TBEditClick( Sender: TObject) ;
procedure TBMLEditClick( Sender: TObject) ;
procedure N1Click( Sender: TObject) ;
procedure N2Click( Sender: TObject) ;
procedure TCBNOR1Change( Sender: TObject) ;
procedure Button1Click( Sender: TObject) ;
procedure Button2Click( Sender: TObject) ;
procedure ToolButton1Click( Sender: TObject) ;
procedure Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean ) ;
procedure ToolButton2Click( Sender: TObject) ;
procedure N3Click( Sender: TObject) ;
procedure TextEdit( Sender: TObject) ;
procedure HXNameBtnUpClick( Sender: TObject) ;
procedure HXNameBtnDnClick( Sender: TObject) ;
procedure cbbHXChange( Sender: TObject) ;
procedure ToolButton3Click( Sender: TObject) ;
procedure FormCreate( Sender: TObject) ;
procedure ToolButton5Click( Sender: TObject) ;
procedure ToolButton7Click( Sender: TObject) ;
procedure ToolButton8Click( Sender: TObject) ;
procedure ToolButton4Click( Sender: TObject) ;
procedure ToolButton6Click( Sender: TObject) ;
procedure cxGridDBColumn5PropertiesEditValueChanged( Sender: TObject) ;
procedure cxGridDBColumn1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer ) ;
procedure cxGridDBColumn3PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer ) ;
procedure CTNameChange( Sender: TObject) ;
procedure ToolButton9Click( Sender: TObject) ;
procedure BCIIDKeyPress( Sender: TObject; var Key: Char ) ;
private
{ Private declarations }
CurrentPage, RecordsNumber: Integer ;
CTID: string ;
PState: Integer ;
FCTID, FTopID, FJurisdiction, FCTType: string ;
procedure SetStatus( ) ;
procedure InitTree( ) ;
procedure InitGrid( ) ;
procedure InitSub( ) ;
procedure ReadINIFile( ) ;
procedure InitImage( ) ;
procedure LookImage( FileName: string ) ;
public
dFdDy: array [ 0 .. 2 0 ] of FdDy; //<2F> ͻ<EFBFBD> <CDBB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{ Public declarations }
end ;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_RTFun, U_ClothInfoInput, U_CloInfoFileUp, U_ClothTypeSel,
U_ZDYHelp, U_LabelPrint, U_PatternSel;
{$R *.dfm}
procedure TfrmClothInfo. LookImage( FileName: string ) ;
var
sFieldName: string ;
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
application. ProcessMessages;
try
// ShowMessage(PChar(Trim('D:\' + Trim(FileName))));
IdFTP1. Get( Trim( UserDataFlag + 'YP\' + FileName) , sFieldName, true , false ) ;
except
Application. MessageBox( '<27> ͻ<EFBFBD> ͼ<EFBFBD> <CDBC> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' , MB_ICONWARNING) ;
IdFTP1. Quit;
Exit;
end ;
end
else
begin
Application. MessageBox( '<27> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' , MB_ICONWARNING) ;
IdFTP1. Quit;
Exit;
end ;
if IdFTP1. Connected then
IdFTP1. Quit;
ShellExecute( Handle, 'open' , PChar( sFieldName) , '' , '' , SW_SHOWNORMAL) ;
end ;
procedure TfrmClothInfo. SetStatus( ) ;
begin
TBAdd. Enabled : = False ;
TBCopy. Enabled : = False ;
TBEdit. Enabled : = False ;
TBMLEdit. Enabled : = False ;
TBDel. Enabled : = False ;
TBUP. Enabled : = False ;
if FJurisdiction < > '<27> <> ѯ' then
begin
TBAdd. Enabled : = true ;
TBCopy. Enabled : = true ;
TBEdit. Enabled : = true ;
TBMLEdit. Enabled : = true ;
TBDel. Enabled : = true ;
TBUP. Enabled : = true ;
end ;
end ;
procedure TfrmClothInfo. InitTree( ) ;
begin
with ADOQueryTree do
begin
Close;
SQL. Clear;
sql. add( 'update Bs_Cloth_Type set ctcount= (select count(*) from V_BS_Cloth_Info A inner join (select * from [dbo].[F_BS_CloType](Bs_Cloth_Type.CTID ) ) B on A.CTID=B.CTID)' ) ;
SQL. Add( 'select CTName=CTName+' '(' '+cast(CTCount as varchar(10))+' ')' ',* from BS_Cloth_Type A where CTType=' + quotedstr( FCTType) ) ;
sql. Add( ' order by A.CTName' ) ;
Open;
end ;
SCreateCDS( ADOQueryTree, CDS_Tree) ;
SInitCDSData( ADOQueryTree, CDS_Tree) ;
cxDBTreeList1. Items[ 0 ] . Expand( false ) ;
end ;
procedure TfrmClothInfo. InitGrid( ) ;
var
fwhere, MBCIID, Pwhere: string ;
begin
Panel2. Visible : = True ;
Panel2. Refresh;
if not CDS_1. IsEmpty then
MBCIID : = Trim( CDS_1. FieldByName( 'BCIID' ) . AsString)
else
MBCIID : = '' ;
Pwhere : = SGetFilters( Panel1, 1 , 2 ) ;
if trim( Pwhere) < > '' then
begin
if fwhere < > '' then
fwhere : = fwhere + ' and ' + trim( Pwhere)
else
fwhere : = ' where ' + trim( Pwhere) ;
end ;
try
ADOQueryMain. DisableControls;
with ADOQueryMain do
begin
Close;
Filtered : = False ;
sql. Clear;
sql. Add( ' exec P_BS_CloInfo_Get ' ) ;
sql. Add( ' @CTID=' + quotedstr( Trim( CDS_Tree. fieldbyname( 'CTID' ) . AsString) ) ) ;
sql. Add( ',@pageIndex=' + inttostr( CurrentPage) ) ;
sql. Add( ',@pageSize=' + inttostr( RecordsNumber) ) ;
sql. Add( ',@criteria= ' + quotedstr( fwhere) ) ;
// ShowMessage(sql.Text);
Open;
end ;
// SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS( ADOQueryMain, CDS_1) ;
SInitCDSData( ADOQueryMain, CDS_1) ;
TV1. DataController. Filter. Clear;
LBCPAP1. Caption : = inttostr( CurrentPage) + '/' + inttostr( ceil( CDS_1. FieldByName( 'TotalCount' ) . AsInteger / RecordsNumber) ) ;
finally
ADOQueryMain. EnableControls;
TV1. DataController. Filter. Clear;
end ;
Panel2. Visible : = False ;
if MBCIID < > '' then
CDS_1. Locate( 'BCIID' , MBCIID, [ ] ) ;
end ;
procedure TfrmClothInfo. InitSub( ) ;
begin
if cds_1. IsEmpty then
exit;
with ADOQuery1 do
begin
Close;
SQL. Clear;
SQL. Add( 'select * from BS_Cloth_Glide where BCIID=' '' + Trim( cds_1. FieldByName( 'BCIID' ) . AsString) + '' '' ) ;
Open;
end ;
SCreateCDS( ADOQuery1, CDS_GX) ;
SInitCDSData( ADOQuery1, CDS_GX) ;
end ;
procedure TfrmClothInfo. FormClose( Sender: TObject; var Action: TCloseAction) ;
var
i, j: integer ;
begin
inherited ;
j : = length( Mach) ;
if j > 0 then
begin
for i : = 0 to j - 1 do
begin
Mach[ i] . free;
end ;
end ;
SetLength( Mach, 0 ) ;
Action : = cafree;
end ;
procedure TfrmClothInfo. FormCreate( Sender: TObject) ;
begin
inherited ;
FJurisdiction : = Trim( Self. fParameters1) ;
FCTType : = Trim( self. fParameters2) ;
end ;
procedure TfrmClothInfo. TBCloseClick( Sender: TObject) ;
begin
if DirectoryExists( ExtractFileDir( 'D:\Right1209' ) ) then
winexec( 'cmd /c rd /s /q D:\Right1209' , sw_hide) ;
Close;
end ;
procedure TfrmClothInfo. TBDelClick( Sender: TObject) ;
begin
if CDS_1. IsEmpty then
Exit;
if CDS_1. Locate( 'ssel' , true , [ ] ) = false then
begin
Application. MessageBox( 'û<> <C3BB> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !' , '<27> <> ʾ ' , 0 ) ;
Exit;
end ;
if Application. MessageBox( 'ȷ<> <C8B7> Ҫɾ<D2AA> <C9BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' , 3 2 + 4 ) < > IDYES then
Exit;
while CDS_1. Locate( 'SSel' , true , [ ] ) do
begin
if Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) < > '' then
begin
with ADOQueryCmd do
begin
Close;
SQL. Clear;
sql. Add( 'delete BS_Cloth_Info where BCIID=' '' + Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) + '' '' ) ;
sql. Add( 'delete BS_Cloth_Glide where BCIID=' '' + Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) + '' '' ) ;
ExecSQL;
end ;
end ;
CDS_1. Delete;
end ;
end ;
procedure TfrmClothInfo. FormShow( Sender: TObject) ;
begin
inherited ;
ReadCxGrid( self. Caption + 'TV1' , Tv1, '<27> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> ' ) ;
// pnlreport.Top := FTop + 110;
application. ProcessMessages;
RecordsNumber : = 5 0 0 ;
CurrentPage : = 1 ;
InitTree( ) ;
SetStatus( ) ;
InitGrid( ) ;
C_Name. SetFocus;
end ;
procedure TfrmClothInfo. cbbHXChange( Sender: TObject) ;
begin
InitImage( ) ;
end ;
procedure TfrmClothInfo. CTNameChange( Sender: TObject) ;
var
Fctname: string ;
begin
inherited ;
with ADOQueryTemp do
begin
close;
sql. Clear;
sql. Add( 'select * from BS_Cloth_Type where CTName like ' '%' + trim( ctname. Text ) + '%' ' ' ) ;
open;
end ;
if ADOQueryTemp. IsEmpty then
Fctname : = ''
else
Fctname : = ctname. Text ;
with ADOQueryTree do
begin
close;
sql. Clear;
sql. add( 'exec P_BS_CloInfo_Tree ' '%' + trim( Fctname) + '%' ' ' ) ;
open;
end ;
SCreateCDS( ADOQueryTree, CDS_Tree) ;
SInitCDSData( ADOQueryTree, CDS_Tree) ;
cxDBTreeList1. Items[ 0 ] . Expand( false ) ;
cxDBTreeList1. fullexpand;
CDS_Tree. Locate( 'CTName' , ADOQueryTree. FieldByName( 'FirstName' ) . AsString, [ ] )
end ;
procedure TfrmClothInfo. cxDBTreeList1DblClick( Sender: TObject) ;
begin
InitGrid( ) ;
end ;
procedure TfrmClothInfo. cxGridDBColumn1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer ) ;
begin
inherited ;
try
frmZDYHelp : = TfrmZDYHelp. Create( Application) ;
with frmZDYHelp do
begin
flag : = 'GYName' ;
flagname : = '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ;
fnote : = true ;
V1Note. Caption : = '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ;
if ShowModal = 1 then
begin
with CDS_GX do
begin
edit;
FieldByName( 'ProcessName' ) . Value : = Trim( ClientDataSet1. fieldbyname( 'ZDYName' ) . AsString) ;
FieldByName( 'ProcessNO' ) . Value : = Trim( ClientDataSet1. fieldbyname( 'Note' ) . AsString) ;
post;
end ;
end ;
end ;
finally
frmZDYHelp. Free;
end ;
toolbutton6. Click;
end ;
procedure TfrmClothInfo. cxGridDBColumn3PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer ) ;
begin
inherited ;
try
frmPatternSel : = TfrmPatternSel. Create( Application) ;
with frmPatternSel do
begin
if ShowModal = 1 then
begin
with CDS_GX do
begin
edit;
FieldByName( 'PatternName' ) . Value : = Trim( Cds_1. fieldbyname( 'C_Name' ) . AsString) ;
FieldByName( 'PatternNO' ) . Value : = Trim( Cds_1. fieldbyname( 'C_Code' ) . AsString) ;
post;
end ;
end ;
end ;
finally
frmPatternSel. Free;
end ;
toolbutton6. Click;
end ;
procedure TfrmClothInfo. cxGridDBColumn5PropertiesEditValueChanged( Sender: TObject) ;
var
mvalue, FFieldName: string ;
begin
mvalue : = TcxTextEdit( Sender) . EditingText;
if Trim( mvalue) = '' then
begin
mvalue : = '0' ;
end ;
FFieldName : = Trim( Tv2. Controller. FocusedColumn. DataBinding. FilterFieldName) ;
with cds_gx do
begin
Edit;
FieldByName( FFieldName) . Value : = Trim( mvalue) ;
Post;
end ;
tv2. Controller. EditingController. ShowEdit( ) ;
ToolButton6. Click;
end ;
procedure TfrmClothInfo. TBRafreshClick( Sender: TObject) ;
begin
InitTree( ) ;
InitGrid( ) ;
end ;
procedure TfrmClothInfo. TBFilterClick( Sender: TObject) ;
begin
if ADOQueryMain. Active then
begin
SDofilter( ADOQueryMain, SGetFilters( Panel1, 1 , 2 ) ) ;
SCreateCDS( ADOQueryMain, CDS_1) ;
SInitCDSData( ADOQueryMain, CDS_1) ;
end ;
end ;
procedure TfrmClothInfo. CYNoChange( Sender: TObject) ;
begin
//if Length(Trim(TEdit(Sender).Text))<4 then Exit;
if ADOQueryMain. Active then
begin
SDofilter( ADOQueryMain, SGetFilters( Panel1, 1 , 2 ) ) ;
SCreateCDS( ADOQueryMain, CDS_1) ;
SInitCDSData( ADOQueryMain, CDS_1) ;
end ;
end ;
procedure TfrmClothInfo. TBExportClick( Sender: TObject) ;
begin
if CDS_1. IsEmpty then
Exit;
TcxGridToExcel( self. Caption, cxGrid1) ;
end ;
procedure TfrmClothInfo. TBUPClick( Sender: TObject) ;
var
ffbciid: string ;
begin
ffbciid : = Trim( Self. CDS_1. fieldbyname( 'BCIID' ) . AsString) ;
try
frmCloInfoFileUp : = TfrmCloInfoFileUp. Create( Application) ;
with frmCloInfoFileUp do
begin
Code. Text : = Trim( Self. CDS_1. fieldbyname( 'C_Code' ) . AsString) ;
FBCIID : = Trim( Self. CDS_1. fieldbyname( 'BCIID' ) . AsString) ;
if ShowModal = 1 then
begin
end ;
end ;
finally
frmCloInfoFileUp. Free;
end ;
Self. InitGrid( ) ;
Self. CDS_1. Locate( 'BCIID' , ffbciid, [ ] ) ;
InitImage( ) ;
end ;
procedure TfrmClothInfo. 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 TfrmClothInfo. 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_1. IsEmpty then
exit;
try
with adoqueryPicture do
begin
close;
sql. Clear;
sql. Add( ' select A.TFID,A.WBID,A.FilesOther,A.FileName from TP_File A ' ) ;
sql. add( 'where A.WBID=' + quotedstr( trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ) ;
// if Trim(cbbHX.Text) <> '' then
// sql.add(' and A.HXName=' + quotedstr(trim(cbbHX.Text)));
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 ;
procedure TfrmClothInfo. TBCopyClick( Sender: TObject) ;
begin
try
frmClothInfoInput : = TfrmClothInfoInput. Create( Application) ;
with frmClothInfoInput do
begin
CopyInt : = 1 ;
FBCIID : = Trim( Self. CDS_1. fieldbyname( 'BCIID' ) . AsString) ;
with Self. ADOQueryTemp do
begin
Close;
sql. Clear;
sql. Add( 'select * from BS_Cloth_Type where CTID = ' '' + Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) + '' ' ' ) ;
open;
end ;
FCTID : = Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) ;
FCTNO : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTNO' ) . AsString) ;
Fctname : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTName' ) . AsString) ;
if ShowModal = 1 then
begin
Self. InitGrid( ) ;
end ;
end ;
finally
frmClothInfoInput. Free;
end ;
end ;
procedure TfrmClothInfo. C_CodeKeyPress( Sender: TObject; var Key: Char ) ;
begin
if Key = #13 then
begin
CurrentPage : = 1 ;
InitGrid( ) ;
end ;
end ;
procedure TfrmClothInfo. TBAddClick( Sender: TObject) ;
var
i: Integer ;
FieldName: string ;
begin
try
frmClothInfoInput : = TfrmClothInfoInput. Create( Application) ;
with frmClothInfoInput do
begin
CopyInt : = 0 ;
FBCIID : = '' ;
FCTID : = Trim( Self. CDS_Tree. fieldbyname( 'CTID' ) . AsString) ;
FCTNO : = Trim( Self. CDS_Tree. fieldbyname( 'CTNO' ) . AsString) ;
Fctname : = Trim( Self. CDS_Tree. fieldbyname( 'CTName' ) . AsString) ;
if ShowModal = 1 then
begin
Self. InitGrid( ) ;
end ;
end ;
finally
frmClothInfoInput. Free;
end ;
end ;
procedure TfrmClothInfo. TBEditClick( Sender: TObject) ;
begin
if CDS_1. IsEmpty then
Exit;
try
frmClothInfoInput : = TfrmClothInfoInput. Create( Application) ;
with frmClothInfoInput do
begin
CopyInt : = 0 ;
FBCIID : = Trim( Self. CDS_1. fieldbyname( 'BCIID' ) . AsString) ;
with Self. ADOQueryTemp do
begin
Close;
sql. Clear;
sql. Add( 'select * from BS_Cloth_Type where CTID = ' '' + Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) + '' ' ' ) ;
open;
end ;
FCTID : = Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) ;
FCTNO : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTNO' ) . AsString) ;
Fctname : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTName' ) . AsString) ;
if ShowModal = 1 then
begin
Self. InitGrid( ) ;
end ;
end ;
finally
frmClothInfoInput. Free;
end ;
end ;
procedure TfrmClothInfo. TextEdit( Sender: TObject) ;
var
mvalue, FFieldName: string ;
begin
mvalue : = TcxTextEdit( Sender) . EditingText;
FFieldName : = Trim( Tv1. Controller. FocusedColumn. DataBinding. FilterFieldName) ;
with CDS_1 do
begin
Edit;
FieldByName( FFieldName) . Value : = mvalue;
Post;
end ;
if mvalue = '' then
mvalue : = '0' ;
with ADOQueryCmd do
begin
Close;
SQL. Clear;
sql. Add( 'update BS_Cloth_Info set ' + FFieldName + '=' + ( Trim( mvalue) ) ) ;
sql. Add( 'where BCIID=' + quotedstr( Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ) ;
ExecSQL;
end ;
Tv1. Controller. EditingController. ShowEdit( ) ;
end ;
procedure TfrmClothInfo. Tv1FocusedRecordChanged( Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean ) ;
var
fsj: string ;
begin
// fsj := 'select DISTINCT HXNAME name from TP_File where ISNULL(HXNAME,'''')<>'''' AND WBID=' + quotedstr(trim(CDS_1.fieldbyname('BCIID').AsString));
//
// SInitComBoxBySql(ADOQueryTemp, cbbHX, True, fsj);
initsub( ) ;
InitImage( ) ;
end ;
procedure TfrmClothInfo. TBMLEditClick( Sender: TObject) ;
var
MCTID: string ;
begin
if CDS_1. IsEmpty then
exit;
if CDS_1. Locate( 'ssel' , true , [ ] ) = false then
begin
Application. MessageBox( 'û<> <C3BB> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !' , '<27> <> ʾ ' , 0 ) ;
Exit;
end ;
MCTID : = '' ;
try
frmClothTypeSel : = TfrmClothTypeSel. create( self) ;
with frmClothTypeSel do
begin
FCTType : = Self. FCTType;
if showmodal = 1 then
begin
MCTID : = trim( frmClothTypeSel. cds_tree. fieldbyname( 'CTID' ) . asstring) ;
end ;
end ;
finally
frmClothTypeSel. free;
end ;
if trim( MCTID) < > '' then
begin
try
with CDS_1 do
begin
DisableControls;
First;
while not eof do
begin
if fieldbyname( 'ssel' ) . AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql. Clear;
sql. Add( 'update BS_Cloth_Info SET CTID=' '' + trim( MCTID) + '' ' ' ) ;
sql. Add( 'where BCIID=' + quotedstr( trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ) ;
execsql;
end ;
with ADOQueryCmd do
begin
close;
sql. Clear;
SQL. Add( 'exec P_BS_CloInfo_Code @BCIID=' + quotedstr( trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ) ;
Open;
end ;
end ;
next;
end ;
First;
EnableControls;
end ;
application. MessageBox( '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> ɹ<EFBFBD> <C9B9> <EFBFBD> ' , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' ) ;
initGrid( ) ;
except
CDS_1. EnableControls;
application. MessageBox( '<27> <> <EFBFBD> <EFBFBD> ʧ<EFBFBD> ܣ<EFBFBD> ' , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
end ;
end ;
end ;
procedure TfrmClothInfo. N1Click( Sender: TObject) ;
begin
SelOKNoFiler( Tv1, True ) ;
end ;
procedure TfrmClothInfo. N2Click( Sender: TObject) ;
begin
SelOKNoFiler( Tv1, False ) ;
end ;
procedure TfrmClothInfo. N3Click( Sender: TObject) ;
begin
Clipboard. SetTextBuf( PChar( Trim( CDS_1. fieldbyname( TV1. Controller. FocusedColumn. DataBinding. FilterFieldName) . AsString) ) ) ;
end ;
procedure TfrmClothInfo. TCBNOR1Change( Sender: TObject) ;
begin
RecordsNumber : = StrToInt( TCBNOR1. Text ) ;
CurrentPage : = 1 ;
C_Code. SetFocus;
InitGrid( ) ;
end ;
procedure TfrmClothInfo. HXNameBtnDnClick( Sender: TObject) ;
begin
TBtnEditC( Sender) . Text : = '' ;
TBtnEditC( Sender) . TxtCode : = '' ;
end ;
procedure TfrmClothInfo. HXNameBtnUpClick( Sender: TObject) ;
begin
try
frmZDYHelp : = TfrmZDYHelp. Create( Application) ;
with frmZDYHelp do
begin
flag : = 'HX' + Trim( Self. CDS_1. fieldbyname( 'CYNO' ) . AsString) ;
flagname : = '<27> <> <EFBFBD> <EFBFBD> ' ;
if ShowModal = 1 then
begin
TEdit( Sender) . Text : = Trim( ClientDataSet1. fieldbyname( 'ZDYName' ) . AsString) ;
end ;
end ;
finally
frmZDYHelp. Free;
end ;
end ;
procedure TfrmClothInfo. BCIIDKeyPress( Sender: TObject; var Key: Char ) ;
begin
inherited ;
if Key = #13 then
begin
try
CurrentPage : = 1 ;
CDS_Tree. Locate( 'CTName' , '<27> <> Ʒ <EFBFBD> б <EFBFBD> ' , [ ] ) ;
bciid. OnKeyPress : = nil ;
InitGrid( ) ;
BCIID. Text : = '' ;
finally
bciid. OnKeyPress : = BCIIDKeyPress;
end ;
end ;
end ;
procedure TfrmClothInfo. Button1Click( Sender: TObject) ;
begin
if CurrentPage > 1 then
CurrentPage : = CurrentPage - 1 ;
InitGrid( ) ;
end ;
procedure TfrmClothInfo. Button2Click( Sender: TObject) ;
begin
if CurrentPage < CDS_1. FieldByName( 'TotalCount' ) . AsInteger / RecordsNumber then
CurrentPage : = CurrentPage + 1 ;
InitGrid( ) ;
end ;
procedure TfrmClothInfo. ToolButton1Click( Sender: TObject) ;
begin
try
frmClothInfoInput : = TfrmClothInfoInput. Create( Application) ;
with frmClothInfoInput do
begin
CopyInt : = 0 ;
ToolButton1. Visible : = False ;
FBCIID : = Trim( Self. CDS_1. fieldbyname( 'BCIID' ) . AsString) ;
with Self. ADOQueryTemp do
begin
Close;
sql. Clear;
sql. Add( 'select * from BS_Cloth_Type where CTID = ' '' + Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) + '' ' ' ) ;
// showmessage(sql.Text);
open;
end ;
FCTID : = Trim( Self. CDS_1. fieldbyname( 'CTID' ) . AsString) ;
FCTNO : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTNO' ) . AsString) ;
Fctname : = Trim( Self. ADOQueryTemp. fieldbyname( 'CTName' ) . AsString) ;
if ShowModal = 1 then
begin
Self. InitGrid( ) ;
end ;
end ;
finally
frmClothInfoInput. Free;
end ;
end ;
procedure TfrmClothInfo. ToolButton2Click( Sender: TObject) ;
begin
WriteCxGrid( self. Caption + 'TV1' , Tv1, '<27> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> ' ) ;
end ;
procedure TfrmClothInfo. ToolButton3Click( Sender: TObject) ;
var
WSql: string ;
begin
if CDS_1. IsEmpty then
Exit;
Tv1. OnFocusedRecordChanged : = nil ;
if CDS_1. Locate( 'SSel' , True , [ ] ) = False then
begin
Tv1. OnFocusedRecordChanged : = Tv1FocusedRecordChanged;
Application. MessageBox( 'û<> <C3BB> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !' , '<27> <> ʾ ' , 0 ) ;
Exit;
end ;
WSql : = '' ;
CDS_1. DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if CDS_1. fieldbyname( 'SSel' ) . AsBoolean then
begin
if WSql < > '' then
begin
WSql : = WSql + ',' + quotedstr( Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ;
end
else
begin
WSql : = quotedstr( Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ;
end ;
end ;
Next;
end ;
end ;
CDS_1. Locate( 'SSel' , True , [ ] ) ;
Tv1. OnFocusedRecordChanged : = Tv1FocusedRecordChanged;
CDS_1. EnableControls;
try
frmLabelPrint : = TfrmLabelPrint. Create( Application) ;
with frmLabelPrint do
begin
FLMType : = 'ClothInfoPrint' ;
FFiltration1 : = WSql;
label3. Visible : = true ;
label4. Visible : = true ;
inputcode. visible : = True ;
inputnote. visible : = true ;
if ShowModal = 1 then
begin
// Self.InitGrid();
end ;
end ;
finally
frmLabelPrint. Free;
end ;
end ;
procedure TfrmClothInfo. ToolButton4Click( Sender: TObject) ;
begin
inherited ;
try
frmZDYHelp : = TfrmZDYHelp. Create( Application) ;
with frmZDYHelp do
begin
flag : = 'GYName' ;
flagname : = '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ;
fnote : = true ;
V1Note. Caption : = '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ;
if ShowModal = 1 then
begin
with CDS_GX do
begin
Append;
FieldByName( 'Glideidx' ) . Value : = cds_gx. RecordCount + 1 ;
FieldByName( 'ProcessName' ) . Value : = Trim( ClientDataSet1. fieldbyname( 'ZDYName' ) . AsString) ;
FieldByName( 'ProcessNO' ) . Value : = Trim( ClientDataSet1. fieldbyname( 'Note' ) . AsString) ;
post;
end ;
end ;
end ;
finally
frmZDYHelp. Free;
end ;
ToolButton6. Click;
end ;
procedure TfrmClothInfo. ToolButton5Click( Sender: TObject) ;
begin
inherited ;
with CDS_GX do
begin
if IsEmpty then
Exit;
if RecNo > = 1 then
begin
//Prior;
Edit;
fieldByName( 'GlideIdx' ) . Value : = fieldByName( 'GlideIdx' ) . Value - 1 ;
Post;
Prior;
Edit;
fieldByName( 'GlideIdx' ) . Value : = fieldByName( 'GlideIdx' ) . Value + 1 ;
Post;
end ;
Prior;
end ;
ToolButton6. Click;
end ;
procedure TfrmClothInfo. ToolButton6Click( Sender: TObject) ;
var
maxId, GlideNo: string ;
begin
inherited ;
maxId : = cds_1. FieldByName( 'BCIID' ) . asstring;
with CDS_GX do
begin
First;
while not eof do
begin
if CDS_GX. FieldByName( 'GlideNo' ) . AsString = '' then
begin
if GetLSNo( ADOQueryCmd, GlideNo, 'G' , 'BS_Cloth_Glide' , 4 , 1 ) = False then
begin
ADOQueryCmd. Connection. RollbackTrans;
Application. MessageBox( 'ȡ<> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʧ<EFBFBD> ܣ<EFBFBD> ' , '<27> <> ʾ ' , 0 ) ;
Exit;
end ;
end
else
begin
GlideNo : = CDS_GX. FieldByName( 'GlideNo' ) . AsString;
end ;
with ADOQueryCmd do
begin
close;
sql. Clear;
sql. Add( 'select * from BS_Cloth_Glide where GlideNo=' '' + trim( GlideNo) + '' ' ' ) ;
Open;
end ;
with ADOQueryCmd do
begin
if ADOQueryCmd. IsEmpty then
begin
append;
FieldByName( 'BCIID' ) . value : = maxId;
FieldByName( 'GlideNo' ) . value : = GlideNo;
FieldByName( 'Filler' ) . value : = Trim( DName) ;
end
else
begin
edit;
FieldByName( 'Editer' ) . value : = Trim( DName) ;
FieldByName( 'EDITTIME' ) . Value : = SGetServerDateTime( ADOQueryTemp) ;
end ;
RTSetSaveDataCDS( ADOQueryCmd, Tv2, CDS_GX, 'BS_Cloth_Glide' , 0 ) ;
FieldByName( 'Price' ) . Value : = cds_gx. FieldByName( 'Price' ) . Value;
post;
end ;
with CDS_GX do
begin
edit;
FieldByName( 'GlideNo' ) . Value : = GlideNo;
FieldByName( 'BCIID' ) . value : = maxId;
post;
end ;
Next;
end ;
end ;
with ADOQueryCmd do
begin
close;
sql. Clear;
SQL. Add( 'exec P_BS_CloInfo_Code @BCIID=' '' + maxId + '' ' ' ) ;
Open;
end ;
with cds_1 do
begin
edit;
FieldByName( 'C_Code' ) . value : = ADOQueryCmd. FieldByName( 'C_Code' ) . AsString;
post;
end ;
end ;
procedure TfrmClothInfo. ToolButton7Click( Sender: TObject) ;
begin
inherited ;
CDS_GX. IndexFieldNames : = 'GlideIdx' ;
with CDS_GX do
begin
if IsEmpty then
Exit;
Next;
if not Eof then
Prior
else
begin
exit;
end ;
if not Eof then
begin
Edit;
fieldByName( 'GlideIdx' ) . Value : = fieldByName( 'GlideIdx' ) . Value + 1 ;
Post;
Prior;
Edit;
fieldByName( 'GlideIdx' ) . Value : = fieldByName( 'GlideIdx' ) . Value - 1 ;
Post;
end ;
Next;
end ;
ToolButton6. Click;
end ;
procedure TfrmClothInfo. ToolButton8Click( Sender: TObject) ;
var
k: integer ;
begin
if CDS_GX. IsEmpty then
exit;
if CDS_GX. fieldbyname( 'GlideNo' ) . AsString < > '' then
begin
with ADOQueryCmd do
begin
close;
SQL. Clear;
sql. Add( 'delete BS_Cloth_Glide where GlideNo=' '' + CDS_GX. fieldbyname( 'GlideNo' ) . AsString + '' ' ' ) ;
ExecSQL;
end ;
end ;
CDS_GX. Delete;
CDS_GX. IndexFieldNames : = 'GlideIdx' ;
CDS_GX. DisableControls;
CDS_GX. First;
k : = 1 ;
while not CDS_GX. Eof do
begin
CDS_GX. Edit;
CDS_GX. FieldByName( 'GlideIdx' ) . Value : = k;
CDS_GX. Post;
inc( k) ;
CDS_GX. Next;
end ;
CDS_GX. First;
CDS_GX. EnableControls;
ToolButton6. Click;
end ;
procedure TfrmClothInfo. ToolButton9Click( Sender: TObject) ;
var
WSql: string ;
fPrintFile, fPrintFile10, FMainID, LBName: string ;
begin
if CDS_1. IsEmpty then
Exit;
LBName : = '<27> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> ' ;
ExportFtErpFile( LBName + '.rmf' , ADOQueryTemp) ;
Tv1. OnFocusedRecordChanged : = nil ;
if CDS_1. Locate( 'SSel' , True , [ ] ) = False then
begin
Tv1. OnFocusedRecordChanged : = Tv1FocusedRecordChanged;
Application. MessageBox( 'û<> <C3BB> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> !' , '<27> <> ʾ ' , 0 ) ;
Exit;
end ;
WSql : = '' ;
CDS_1. DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if CDS_1. fieldbyname( 'SSel' ) . AsBoolean then
begin
if WSql < > '' then
begin
WSql : = WSql + ',' + quotedstr( Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ;
end
else
begin
WSql : = quotedstr( Trim( CDS_1. fieldbyname( 'BCIID' ) . AsString) ) ;
end ;
end ;
Next;
end ;
end ;
CDS_1. Locate( 'SSel' , True , [ ] ) ;
Tv1. OnFocusedRecordChanged : = Tv1FocusedRecordChanged;
CDS_1. EnableControls;
with ADOQueryPrint do
begin
Close;
sql. Clear;
sql. add( 'exec P_BS_CloInfo_PrtImg @Filtration=' + quotedstr( Trim( WSql) ) ) ;
// showmessage(sql.Text);
Open;
end ;
with ADOQueryPrint1 do
begin
Close;
sql. Clear;
sql. add( 'exec P_BS_CloPatInfo_Prt @Filtration=' + quotedstr( Trim( WSql) ) ) ;
// showmessage(sql.Text);
Open;
end ;
fPrintFile : = ExtractFilePath( Application. ExeName) + 'Report\' + LBName + '.rmf' ;
if FileExists( fPrintFile) then
begin
RM1. LoadFromFile( fPrintFile) ;
RM1. DefaultCopies : = 1 ;
RM1. ShowReport
end
else
begin
Application. MessageBox( PChar( 'û<> <C3BB> <EFBFBD> <EFBFBD> ' + fPrintFile) , '<27> <> ʾ ' , 0 ) ;
end ;
end ;
end .