1392 lines
36 KiB
ObjectPascal
1392 lines
36 KiB
ObjectPascal
![]() |
unit U_MarkingInspection;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
Dialogs, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxGridLevel,
|
|||
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
|||
|
cxControls, cxGridCustomView, cxGrid, RM_Common, RM_Class, RM_GridReport,
|
|||
|
RM_System, RM_Dataset, ADODB, DBClient, cxGridCustomPopupMenu, cxGridPopupMenu,
|
|||
|
ExtCtrls, ComCtrls, ToolWin, cxTextEdit, Buttons, cxSplitter, cxCheckBox,
|
|||
|
MovePanel, IniFiles, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
|
|||
|
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
|
|||
|
dxSkinXmas2008Blue;
|
|||
|
|
|||
|
type
|
|||
|
TfrmMarkingInspection = class(TForm)
|
|||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
DataSource1: TDataSource;
|
|||
|
Order_MJ: TClientDataSet;
|
|||
|
ADOCmd: TADOQuery;
|
|||
|
RMDB_Main: TRMDBDataSet;
|
|||
|
RM2: TRMGridReport;
|
|||
|
DS_MJCD: TDataSource;
|
|||
|
CDS_MJCD: TClientDataSet;
|
|||
|
DS_MJID: TDataSource;
|
|||
|
CDS_MJID: TClientDataSet;
|
|||
|
ADOQueryPrint: TADOQuery;
|
|||
|
ScrollBox1: TScrollBox;
|
|||
|
SpeedButton13: TSpeedButton;
|
|||
|
SpeedButton14: TSpeedButton;
|
|||
|
SpeedButton15: TSpeedButton;
|
|||
|
SpeedButton16: TSpeedButton;
|
|||
|
SpeedButton17: TSpeedButton;
|
|||
|
SpeedButton18: TSpeedButton;
|
|||
|
SpeedButton21: TSpeedButton;
|
|||
|
SpeedButton22: TSpeedButton;
|
|||
|
SpeedButton23: TSpeedButton;
|
|||
|
SpeedButton24: TSpeedButton;
|
|||
|
SpeedButton25: TSpeedButton;
|
|||
|
SpeedButton26: TSpeedButton;
|
|||
|
SpeedButton29: TSpeedButton;
|
|||
|
SpeedButton30: TSpeedButton;
|
|||
|
SpeedButton31: TSpeedButton;
|
|||
|
SpeedButton32: TSpeedButton;
|
|||
|
SpeedButton33: TSpeedButton;
|
|||
|
SpeedButton34: TSpeedButton;
|
|||
|
SpeedButton37: TSpeedButton;
|
|||
|
SpeedButton38: TSpeedButton;
|
|||
|
SpeedButton39: TSpeedButton;
|
|||
|
SpeedButton40: TSpeedButton;
|
|||
|
SpeedButton41: TSpeedButton;
|
|||
|
SpeedButton42: TSpeedButton;
|
|||
|
cxGridPopupMenu2: TcxGridPopupMenu;
|
|||
|
ADOQueryMainDSC: TADOQuery;
|
|||
|
SpeedButton45: TSpeedButton;
|
|||
|
SpeedButton46: TSpeedButton;
|
|||
|
SpeedButton47: TSpeedButton;
|
|||
|
SpeedButton48: TSpeedButton;
|
|||
|
SpeedButton50: TSpeedButton;
|
|||
|
SpeedButton51: TSpeedButton;
|
|||
|
SpeedButton54: TSpeedButton;
|
|||
|
SpeedButton55: TSpeedButton;
|
|||
|
SpeedButton56: TSpeedButton;
|
|||
|
SpeedButton57: TSpeedButton;
|
|||
|
SpeedButton58: TSpeedButton;
|
|||
|
SpeedButton59: TSpeedButton;
|
|||
|
SpeedButton62: TSpeedButton;
|
|||
|
SpeedButton63: TSpeedButton;
|
|||
|
SpeedButton64: TSpeedButton;
|
|||
|
SpeedButton65: TSpeedButton;
|
|||
|
SpeedButton66: TSpeedButton;
|
|||
|
SpeedButton67: TSpeedButton;
|
|||
|
SpeedButton70: TSpeedButton;
|
|||
|
SpeedButton71: TSpeedButton;
|
|||
|
SpeedButton72: TSpeedButton;
|
|||
|
SpeedButton73: TSpeedButton;
|
|||
|
SpeedButton74: TSpeedButton;
|
|||
|
SpeedButton75: TSpeedButton;
|
|||
|
Panel2: TPanel;
|
|||
|
Label9: TLabel;
|
|||
|
Label4: TLabel;
|
|||
|
MJGW: TEdit;
|
|||
|
Label5: TLabel;
|
|||
|
Label11: TLabel;
|
|||
|
BTPrint: TButton;
|
|||
|
Button5: TButton;
|
|||
|
Edit3: TEdit;
|
|||
|
Label10: TLabel;
|
|||
|
Edit4: TEdit;
|
|||
|
Label12: TLabel;
|
|||
|
Panel3: TPanel;
|
|||
|
SpeedButton1: TSpeedButton;
|
|||
|
SpeedButton2: TSpeedButton;
|
|||
|
SpeedButton3: TSpeedButton;
|
|||
|
SpeedButton4: TSpeedButton;
|
|||
|
SpeedButton5: TSpeedButton;
|
|||
|
SpeedButton6: TSpeedButton;
|
|||
|
SpeedButton7: TSpeedButton;
|
|||
|
SpeedButton8: TSpeedButton;
|
|||
|
SpeedButton9: TSpeedButton;
|
|||
|
SpeedButton10: TSpeedButton;
|
|||
|
SpeedButton11: TSpeedButton;
|
|||
|
SpeedButton12: TSpeedButton;
|
|||
|
SpeedButton49: TSpeedButton;
|
|||
|
Label26: TLabel;
|
|||
|
Edit6: TEdit;
|
|||
|
Label30: TLabel;
|
|||
|
MJTare: TEdit;
|
|||
|
Label31: TLabel;
|
|||
|
Label32: TLabel;
|
|||
|
MJNW: TEdit;
|
|||
|
Label33: TLabel;
|
|||
|
MovePanel1: TMovePanel;
|
|||
|
Label17: TLabel;
|
|||
|
Label18: TLabel;
|
|||
|
Label20: TLabel;
|
|||
|
Label7: TLabel;
|
|||
|
Label8: TLabel;
|
|||
|
Edit1: TEdit;
|
|||
|
Button1: TButton;
|
|||
|
Button4: TButton;
|
|||
|
Edit2: TEdit;
|
|||
|
CDQty: TEdit;
|
|||
|
RadioGroup1: TRadioGroup;
|
|||
|
Button2: TButton;
|
|||
|
Panel7: TPanel;
|
|||
|
cxGrid2: TcxGrid;
|
|||
|
Tv2: TcxGridDBTableView;
|
|||
|
tv2CDType: TcxGridDBColumn;
|
|||
|
tv2CDWZ: TcxGridDBColumn;
|
|||
|
v2Column2: TcxGridDBColumn;
|
|||
|
Tv2CDQty: TcxGridDBColumn;
|
|||
|
Tv2CDReason: TcxGridDBColumn;
|
|||
|
v2Column1: TcxGridDBColumn;
|
|||
|
v2Column3: TcxGridDBColumn;
|
|||
|
cxGridLevel1: TcxGridLevel;
|
|||
|
Panel8: TPanel;
|
|||
|
OrdNote: TRichEdit;
|
|||
|
Label34: TLabel;
|
|||
|
ComboBox1: TComboBox;
|
|||
|
SpeedButton19: TSpeedButton;
|
|||
|
SpeedButton20: TSpeedButton;
|
|||
|
SpeedButton27: TSpeedButton;
|
|||
|
SpeedButton28: TSpeedButton;
|
|||
|
SpeedButton35: TSpeedButton;
|
|||
|
SpeedButton36: TSpeedButton;
|
|||
|
SpeedButton43: TSpeedButton;
|
|||
|
SpeedButton44: TSpeedButton;
|
|||
|
SpeedButton52: TSpeedButton;
|
|||
|
SpeedButton53: TSpeedButton;
|
|||
|
SpeedButton60: TSpeedButton;
|
|||
|
SpeedButton61: TSpeedButton;
|
|||
|
SpeedButton68: TSpeedButton;
|
|||
|
SpeedButton69: TSpeedButton;
|
|||
|
SpeedButton76: TSpeedButton;
|
|||
|
SpeedButton77: TSpeedButton;
|
|||
|
SpeedButton78: TSpeedButton;
|
|||
|
SpeedButton79: TSpeedButton;
|
|||
|
SpeedButton80: TSpeedButton;
|
|||
|
SpeedButton81: TSpeedButton;
|
|||
|
SpeedButton82: TSpeedButton;
|
|||
|
SpeedButton83: TSpeedButton;
|
|||
|
Label36: TLabel;
|
|||
|
Label38: TLabel;
|
|||
|
RM3: TRMGridReport;
|
|||
|
mjxh: TEdit;
|
|||
|
ADOTmp: TADOQuery;
|
|||
|
Panel5: TPanel;
|
|||
|
Panel6: TPanel;
|
|||
|
Label1: TLabel;
|
|||
|
Label35: TLabel;
|
|||
|
Label39: TLabel;
|
|||
|
Scan: TEdit;
|
|||
|
Edit7: TEdit;
|
|||
|
Edit8: TEdit;
|
|||
|
ToolBar1: TToolBar;
|
|||
|
ToolButton1: TToolButton;
|
|||
|
TBCD: TToolButton;
|
|||
|
TBClose: TToolButton;
|
|||
|
cxGrid3: TcxGrid;
|
|||
|
Tv3: TcxGridDBTableView;
|
|||
|
cxGridDBColumn1: TcxGridDBColumn;
|
|||
|
v3Column1: TcxGridDBColumn;
|
|||
|
v3Column2: TcxGridDBColumn;
|
|||
|
v3Column4: TcxGridDBColumn;
|
|||
|
v3Column5: TcxGridDBColumn;
|
|||
|
v3Column3: TcxGridDBColumn;
|
|||
|
cxGridLevel2: TcxGridLevel;
|
|||
|
Label2: TLabel;
|
|||
|
GangNo: TEdit;
|
|||
|
MJXS: TEdit;
|
|||
|
MJLen: TEdit;
|
|||
|
procedure FormDestroy(Sender: TObject);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
procedure TBCDClick(Sender: TObject);
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure BTPrintClick(Sender: TObject);
|
|||
|
procedure SpeedButton1Click(Sender: TObject);
|
|||
|
procedure SpeedButton12Click(Sender: TObject);
|
|||
|
procedure SpeedButton13Click(Sender: TObject);
|
|||
|
procedure cxGridDBColumn2PropertiesChange(Sender: TObject);
|
|||
|
procedure Button1Click(Sender: TObject);
|
|||
|
procedure Button5Click(Sender: TObject);
|
|||
|
procedure SpeedButton49Click(Sender: TObject);
|
|||
|
procedure ScanKeyPress(Sender: TObject; var Key: Char);
|
|||
|
procedure Edit1Click(Sender: TObject);
|
|||
|
procedure Edit2Change(Sender: TObject);
|
|||
|
procedure Edit3Click(Sender: TObject);
|
|||
|
procedure Edit4Click(Sender: TObject);
|
|||
|
procedure Edit6Click(Sender: TObject);
|
|||
|
procedure MJstr3KeyPress(Sender: TObject; var Key: Char);
|
|||
|
procedure Button2Click(Sender: TObject);
|
|||
|
procedure MJGWChange(Sender: TObject);
|
|||
|
procedure ScanClick(Sender: TObject);
|
|||
|
procedure Edit7Click(Sender: TObject);
|
|||
|
procedure MJNWKeyPress(Sender: TObject; var Key: Char);
|
|||
|
procedure FormCreate(Sender: TObject);
|
|||
|
procedure Edit8Click(Sender: TObject);
|
|||
|
procedure MJLenChange(Sender: TObject);
|
|||
|
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
private
|
|||
|
{ Private declarations }
|
|||
|
FColumn, FFFMJID, FOperationStatus: string;
|
|||
|
FAPID, FSPID, FMainId, FSubId, FMJCode, FMJName, FMJSpec, FMJMF, FMJKZ, FMJColor, FAPBatchNo, FCarNo: string; // <20><>Ʒ<EFBFBD><C6B7>Ϣ
|
|||
|
FCDName: string; //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
isCommopen, IsJsMessage: boolean;
|
|||
|
fxsType, fRollType: string;
|
|||
|
procedure InitDefectOptions(); //ˢ<>´õ<C2B4>ѡ<EFBFBD><D1A1>
|
|||
|
procedure InitCDGrid(); //ˢ<>´õ<C2B4><C3B5><EFBFBD>Ϣ
|
|||
|
procedure InitInspectionRecord(); //ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|||
|
function CheckData(CKType: string): Boolean; //У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
function SaveData(): Boolean; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
procedure ScanOrder(); //ɨ<>趩<EFBFBD><E8B6A9>
|
|||
|
|
|||
|
procedure ClearGlobal(MStatus: string); //<2F><><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>ID
|
|||
|
procedure PrintCKMDG(MRKOrdID: string); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD>ⵥ
|
|||
|
procedure PrtData(FMJID: string); //<2F><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ǩ
|
|||
|
procedure QuantityConversion(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
procedure OpenCom(DllName: string);
|
|||
|
procedure CloseCom(DllName: string);
|
|||
|
procedure On1201(var Message: Tmessage); message 1201;
|
|||
|
procedure On1301(var Message: Tmessage); message 1301;
|
|||
|
public
|
|||
|
fmanage: string;
|
|||
|
{ Public declarations }
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
frmMarkingInspection: TfrmMarkingInspection;
|
|||
|
newh, newh1: hwnd;
|
|||
|
IniFile: TIniFile;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses
|
|||
|
U_DataLink, U_Fun, U_ZDYHelp, U_iniParam;
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.QuantityConversion();
|
|||
|
var
|
|||
|
MLen, MNWet, MGWet, MPWet, MCC, XiShu, MGreyLen: Double;
|
|||
|
begin
|
|||
|
MLen := StrToFloatdef(trim(MJLen.Text), 0);
|
|||
|
MNWet := StrToFloatdef(trim(MJNW.Text), 0);
|
|||
|
MPWet := StrToFloatdef(trim(MJTare.Text), 0);
|
|||
|
MGWet := StrToFloatdef(trim(MJGW.Text), 0);
|
|||
|
MCC := StrToFloatdef(trim(MJXS.Text), 0);
|
|||
|
if MCC > 0 then
|
|||
|
begin
|
|||
|
MGWet := StrToFloat(format('%.1f', [MLen * MCC]));
|
|||
|
MNWet := MGWet - MPWet;
|
|||
|
MJGW.Text := FloatToStr(MGWet);
|
|||
|
MJNW.Text := FloatToStr(MNWet);
|
|||
|
end;
|
|||
|
|
|||
|
MNWet := MGWet - MPWet;
|
|||
|
MJNW.Text := FloatToStr(MNWet);
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
function TfrmMarkingInspection.CheckData(CKType: string): Boolean;
|
|||
|
var
|
|||
|
mvalue: Double;
|
|||
|
begin
|
|||
|
try
|
|||
|
if Trim(FSPID) = '' then
|
|||
|
raise Exception.Create('<27><>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>');
|
|||
|
|
|||
|
if Trim(CKType) = '<27>ύ' then
|
|||
|
begin
|
|||
|
if Trim(GangNo.Text) = '' then
|
|||
|
raise Exception.Create('<27>Ų<D7BA><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
|
|||
|
|
|||
|
if Trim(MJGW.Text) <> '' then
|
|||
|
begin
|
|||
|
if TryStrToFloat(MJGW.Text, mvalue) = False then
|
|||
|
raise Exception.Create('<27><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!');
|
|||
|
|
|||
|
if strtofloatdef(trim(MJGW.Text), 0) > 80 then
|
|||
|
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>80!');
|
|||
|
end;
|
|||
|
|
|||
|
if strtofloatdef(trim(MJNW.Text), 0) < 0.00 then
|
|||
|
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>0!');
|
|||
|
|
|||
|
if strtofloatdef(trim(MJLen.Text), 0) < 0.00 then
|
|||
|
raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>С<EFBFBD><D0A1>0!');
|
|||
|
|
|||
|
if Trim(MJLen.Text) <> '' then
|
|||
|
begin
|
|||
|
if strtofloatdef(trim(MJLen.Text), 0) > 400 then
|
|||
|
raise Exception.Create('<27><><EFBFBD>Ȳ<EFBFBD><C8B2>ܴ<EFBFBD><DCB4><EFBFBD>400!');
|
|||
|
end;
|
|||
|
|
|||
|
if (strtofloatdef(trim(MJLen.Text), 0) = 0) and (strtofloatdef(trim(MJNW.Text), 0) = 0) then
|
|||
|
raise Exception.Create('<27><><EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>Ϊ0!!');
|
|||
|
|
|||
|
end;
|
|||
|
Result := True;
|
|||
|
except
|
|||
|
Result := false;
|
|||
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.ClearGlobal(MStatus: string);
|
|||
|
begin
|
|||
|
if MStatus = 'ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>' then
|
|||
|
begin
|
|||
|
FAPID := '';
|
|||
|
FSPID := '';
|
|||
|
FMainId := '';
|
|||
|
FSubId := '';
|
|||
|
FFFMJID := '';
|
|||
|
FMJCode := '';
|
|||
|
FMJName := '';
|
|||
|
FMJSpec := '';
|
|||
|
FMJMF := '';
|
|||
|
FMJKZ := '';
|
|||
|
FMJColor := '';
|
|||
|
FAPBatchNo := '';
|
|||
|
FCarNo := '';
|
|||
|
MJXH.Text := '';
|
|||
|
MJXs.Text := '';
|
|||
|
MJGW.Text := '';
|
|||
|
MJNW.Text := '';
|
|||
|
MJLen.Text := '';
|
|||
|
|
|||
|
GangNo.Text := '';
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
if MStatus = '<27>ύ' then
|
|||
|
begin
|
|||
|
MJLen.Text := '';
|
|||
|
|
|||
|
MJGW.Text := '';
|
|||
|
MJNW.Text := '';
|
|||
|
FOperationStatus := '';
|
|||
|
FFFMJID := '';
|
|||
|
FAPID := '';
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.PrintCKMDG(MRKOrdID: string);
|
|||
|
var
|
|||
|
fPrintFile: string;
|
|||
|
Txt, fImagePath: string;
|
|||
|
Moudle: THandle;
|
|||
|
Makebar: TMakebar;
|
|||
|
Mixtext: TMixtext;
|
|||
|
begin
|
|||
|
|
|||
|
with ADOQueryPrint do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add(' exec P_Print_RKMDGangNo ');
|
|||
|
SQL.Add(' @RKOrdID=''' + Trim(MRKOrdID) + '''');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
try
|
|||
|
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
|||
|
@Makebar := GetProcAddress(Moudle, 'Make');
|
|||
|
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
|||
|
Txt := Trim(ADOQueryPrint.fieldbyname('RKOrdID').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;
|
|||
|
ExportFtErpFile('<27>鲼<EFBFBD><E9B2BC><EFBFBD>ֿ<EFBFBD><D6BF>뵥.rmf', ADOTmp);
|
|||
|
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C>鲼<EFBFBD><E9B2BC><EFBFBD>ֿ<EFBFBD><D6BF>뵥.rmf';
|
|||
|
if FileExists(fPrintFile) then
|
|||
|
begin
|
|||
|
RMVariables['QRBARCODE'] := fImagePath;
|
|||
|
RM2.LoadFromFile(fPrintFile);
|
|||
|
Rm2.DefaultCopies := 1;
|
|||
|
RM2.ShowReport;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.ScanOrder();
|
|||
|
begin
|
|||
|
|
|||
|
with ADOTmp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select A.*,B.*,C.* ');
|
|||
|
sql.Add(',maxRoll=1+isnull((select cast (max(mjxh) as int) from FinishedCloth_Inspect X ');
|
|||
|
sql.Add(' where X.SPID=C.CRID and X.MJType =''<27><>Ʒ'' ),0)');
|
|||
|
sql.Add('from Cloth_Main A ');
|
|||
|
sql.Add('inner join Cloth_Sub B on A.MainId=B.MainId');
|
|||
|
sql.Add('inner join CK_Cloth_CR C on C.ToSubId=B.SubId');
|
|||
|
sql.Add('where C.CRFlag=''<27><><EFBFBD><EFBFBD>'' and C.Valid=''Y'' and C.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and C.CKName=''<27><><EFBFBD>첼<EFBFBD>ֿ<EFBFBD>'' ');
|
|||
|
sql.Add('and C.CRID=''' + Trim(Scan.Text) + '''');
|
|||
|
//ShowMessage(SQL.Text);
|
|||
|
Open;
|
|||
|
end;
|
|||
|
|
|||
|
if not ADOTmp.IsEmpty then
|
|||
|
begin
|
|||
|
FAPID := '';
|
|||
|
FSPID := Trim(ADOTmp.fieldbyname('CRID').AsString);
|
|||
|
FMainId := Trim(ADOTmp.fieldbyname('MainId').AsString);
|
|||
|
FSubId := Trim(ADOTmp.fieldbyname('SubId').AsString);
|
|||
|
FMJCode := Trim(ADOTmp.fieldbyname('C_Code').AsString);
|
|||
|
FMJName := Trim(ADOTmp.fieldbyname('C_CodeName').AsString);
|
|||
|
FMJSpec := Trim(ADOTmp.fieldbyname('C_Spec').AsString);
|
|||
|
FMJMF := Trim(ADOTmp.fieldbyname('MF').AsString);
|
|||
|
FMJKZ := Trim(ADOTmp.fieldbyname('KZ').AsString);
|
|||
|
FMJColor := trim(ADOTmp.fieldbyname('C_Color').AsString);
|
|||
|
MJXH.Text := Trim(ADOTmp.fieldbyname('maxRoll').AsString);
|
|||
|
GangNo.Text := Trim(ADOTmp.fieldbyname('GangNo').AsString);
|
|||
|
|
|||
|
OrdNote.Text := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:' + Trim(ADOTmp.fieldbyname('ConNo').AsString) + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + '<27><><EFBFBD><EFBFBD>:' + FMJCode + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + 'Ʒ<><C6B7>:' + FMJName + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + '<27>ŷ<EFBFBD>:' + FMJMF + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + '<27><><EFBFBD><EFBFBD>:' + FMJKZ + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + '<27><>ɫ:' + FMJColor + #13;
|
|||
|
OrdNote.Text := OrdNote.Text + '<27>ر<EFBFBD><D8B1><EFBFBD>ʾ:' + Trim(ADOTmp.fieldbyname('Note').AsString);
|
|||
|
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
ClearGlobal('ɨ<><C9A8>');
|
|||
|
end;
|
|||
|
|
|||
|
InitInspectionRecord();
|
|||
|
InitCDGrid();
|
|||
|
|
|||
|
Scan.Text := '';
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.CloseCom(DllName: string);
|
|||
|
type
|
|||
|
TMyFunc = function(sCommName: PAnsiChar): HWND; stdcall;
|
|||
|
var
|
|||
|
Tf1: TMyFunc;
|
|||
|
Tp1: TFarProc;
|
|||
|
Th1: Thandle;
|
|||
|
begin
|
|||
|
Th1 := LoadLibrary(Pchar(trim(DllName)));
|
|||
|
if Th1 > 0 then
|
|||
|
begin
|
|||
|
try
|
|||
|
Tp1 := GetProcAddress(Th1, 'CommClose');
|
|||
|
if Tp1 <> nil then
|
|||
|
begin
|
|||
|
Tf1 := TMyFunc(Tp1);
|
|||
|
newh1 := Tf1('Comm1');
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
|
|||
|
end;
|
|||
|
finally
|
|||
|
// FreeLibrary(Th1);
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.OpenCom(DllName: string);
|
|||
|
type
|
|||
|
TMyFunc = function(fhandle: hwnd; sCommName: PAnsiChar; IntTime: integer; IsMessage: integer): HWND; stdcall;
|
|||
|
var
|
|||
|
Tf: TMyFunc;
|
|||
|
Tp: TFarProc;
|
|||
|
Th: Thandle;
|
|||
|
begin
|
|||
|
// closeCom(FComFile);
|
|||
|
Th := LoadLibrary(Pchar(trim(DllName)));
|
|||
|
if Th > 0 then
|
|||
|
begin
|
|||
|
try
|
|||
|
Tp := GetProcAddress(Th, 'CommOpen');
|
|||
|
if Tp <> nil then
|
|||
|
begin
|
|||
|
Tf := TMyFunc(Tp);
|
|||
|
newh := Tf(self.Handle, 'Comm1', 500, 1);
|
|||
|
if newh < 1 then
|
|||
|
begin
|
|||
|
application.MessageBox(Pchar('<27><EFBFBD><F2BFAAB4><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>'), '<27><>ʾ');
|
|||
|
end
|
|||
|
else
|
|||
|
IsCommOpen := true;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
IsCommOpen := false;
|
|||
|
end;
|
|||
|
finally
|
|||
|
// FreeLibrary(Th);
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
IsCommOpen := false;
|
|||
|
application.MessageBox(Pchar('<27>Ҳ<EFBFBD><D2B2><EFBFBD> ' + trim(DllName) + ' <20>ļ<EFBFBD><C4BC><EFBFBD>'), '<27><>ʾ');
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.FormDestroy(Sender: TObject);
|
|||
|
begin
|
|||
|
frmMarkingInspection := nil;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.On1301(var Message: Tmessage);
|
|||
|
var
|
|||
|
i1, i2: integer;
|
|||
|
unitname: string;
|
|||
|
fdata: double;
|
|||
|
begin
|
|||
|
i1 := Message.WParam;
|
|||
|
i2 := Message.LParam;
|
|||
|
if IsJsMessage then
|
|||
|
begin
|
|||
|
if (trim(Edit7.Text) = '<27><>') then
|
|||
|
begin
|
|||
|
MJLen.Text := format('%.f', [i1 / 100000]);
|
|||
|
if i2 = 0 then
|
|||
|
Label9.Caption := 'M'
|
|||
|
else
|
|||
|
Label9.Caption := 'Y';
|
|||
|
edit1.Text := format('%.1f', [i1 / 100000]);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.On1201(var Message: Tmessage);
|
|||
|
var
|
|||
|
i1, i2: integer;
|
|||
|
unitname: string;
|
|||
|
fdata: double;
|
|||
|
begin
|
|||
|
i1 := Message.WParam;
|
|||
|
i2 := Message.LParam;
|
|||
|
if IsJsMessage then
|
|||
|
begin
|
|||
|
if trim(Edit7.Text) = '<27><>' then
|
|||
|
begin
|
|||
|
MJGW.Text := format('%.1f', [i1 / 100000]);
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
begin
|
|||
|
//DataLink_WFBProducttion.ADOLink.Connected:=False;
|
|||
|
|
|||
|
if isCommopen then
|
|||
|
begin
|
|||
|
closeCom(DZCDYDllName);
|
|||
|
closeCom(MBDYDllName);
|
|||
|
end;
|
|||
|
Action := caFree;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.InitCDGrid();
|
|||
|
begin
|
|||
|
with ADOTmp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add('select * from FinishedCloth_Inspect_CD where MJID=' + quotedstr(Trim(FFFMJID)));
|
|||
|
Open;
|
|||
|
end;
|
|||
|
SCreateCDS20(ADOTmp, CDS_MJCD);
|
|||
|
SInitCDSData20(ADOTmp, CDS_MJCD);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.InitInspectionRecord();
|
|||
|
begin
|
|||
|
with ADOTmp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add('select A.*');
|
|||
|
sql.Add('from FinishedCloth_Inspect A where MJCRType=''δ<><CEB4><EFBFBD><EFBFBD>'' ');
|
|||
|
sql.Add(' and Filler=''' + Trim(DName) + '''');
|
|||
|
sql.Add(' and DATEDIFF(HH,Filltime,GETDATE())<5');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
SCreateCDS20(ADOTmp, CDS_MJID);
|
|||
|
SInitCDSData20(ADOTmp, CDS_MJID);
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.TBCloseClick(Sender: TObject);
|
|||
|
begin
|
|||
|
Close;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.TBCDClick(Sender: TObject);
|
|||
|
begin
|
|||
|
try
|
|||
|
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
|||
|
with frmZDYHelp do
|
|||
|
begin
|
|||
|
flag := 'WFBCD';
|
|||
|
flagname := '<27>õ<EFBFBD>';
|
|||
|
fnote := True;
|
|||
|
V1Note.Caption := 'Ӣ<><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
|||
|
if ShowModal = 1 then
|
|||
|
begin
|
|||
|
Self.InitDefectOptions();
|
|||
|
end;
|
|||
|
end;
|
|||
|
finally
|
|||
|
frmZDYHelp.Free;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.FormShow(Sender: TObject);
|
|||
|
begin
|
|||
|
InitDefectOptions();
|
|||
|
InitCDGrid();
|
|||
|
|
|||
|
if IsINIFile() then
|
|||
|
ReadINIFile()
|
|||
|
else
|
|||
|
WriteINIFile;
|
|||
|
|
|||
|
if trim(Edit7.Text) = '<27><>' then
|
|||
|
IsJsMessage := true;
|
|||
|
|
|||
|
if trim(fmanage) <> '<27><>Ȩ<EFBFBD><C8A8>' then
|
|||
|
begin
|
|||
|
if trim(DZCDYDllName) <> '' then
|
|||
|
OpenCom(DZCDYDllName);
|
|||
|
if trim(MBDYDllName) <> '' then
|
|||
|
OpenCom(MBDYDllName);
|
|||
|
Edit7.Visible := true;
|
|||
|
Label35.Visible := true;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.InitDefectOptions();
|
|||
|
var
|
|||
|
AA: array[0..100] of string;
|
|||
|
i, j: Integer;
|
|||
|
begin
|
|||
|
with ADOTmp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select ZDYName from KH_Zdy where Type=''WFBCD'' order by ZDYNO ');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
if ADOTmp.IsEmpty then
|
|||
|
begin
|
|||
|
Application.MessageBox('û<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>õ㣡', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
with ADOTmp do
|
|||
|
begin
|
|||
|
First;
|
|||
|
i := 0;
|
|||
|
while not Eof do
|
|||
|
begin
|
|||
|
AA[i] := Trim(fieldbyname('ZDYName').AsString);
|
|||
|
i := i + 1;
|
|||
|
Next;
|
|||
|
end;
|
|||
|
end;
|
|||
|
i := i - 1;
|
|||
|
if i > 69 then
|
|||
|
begin
|
|||
|
i := 69;
|
|||
|
end;
|
|||
|
for j := 0 to i do
|
|||
|
begin
|
|||
|
with ScrollBox1 do
|
|||
|
begin
|
|||
|
TSpeedButton(Controls[j]).Visible := True;
|
|||
|
TSpeedButton(Controls[j]).Hint := AA[j];
|
|||
|
if Length(AA[j]) > 4 then
|
|||
|
begin
|
|||
|
TSpeedButton(Controls[j]).Caption := Copy(Trim(AA[j]), 1, 4) + #13 + Copy(Trim(AA[j]), 5, Length(AA[j]) - 4);
|
|||
|
end
|
|||
|
else
|
|||
|
TSpeedButton(Controls[j]).Caption := AA[j];
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
function TfrmMarkingInspection.SaveData(): Boolean;
|
|||
|
var
|
|||
|
maxno, FMJID, BZID, strsql: string;
|
|||
|
FMJLen: Double;
|
|||
|
begin
|
|||
|
|
|||
|
FMJID := '';
|
|||
|
|
|||
|
try
|
|||
|
ADOCmd.Connection.BeginTrans;
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
SQL.Add('select * from FinishedCloth_Inspect where MJId=''' + Trim(FMJID) + '''');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
if Trim(FMJID) = '' then
|
|||
|
begin
|
|||
|
Append;
|
|||
|
if GetLSNo(ADOTmp, maxno, Trim(SCXFlag), 'FinishedCloth_Inspect', 4, 1) = False then
|
|||
|
begin
|
|||
|
ADOCmd.Connection.RollbackTrans;
|
|||
|
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD>쳣<EFBFBD><ECB3A3>', '<27><>ʾ', 0);
|
|||
|
exit;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
maxno := Trim(FMJID);
|
|||
|
Edit;
|
|||
|
end;
|
|||
|
FieldByName('MainId').value := Trim(FMainId);
|
|||
|
FieldByName('SubId').value := Trim(FSubId);
|
|||
|
FieldByName('APId').value := Trim(FAPID);
|
|||
|
FieldByName('SPID').value := Trim(FSPID);
|
|||
|
FieldByName('APBatchNo').value := Trim(FAPBatchNo);
|
|||
|
FieldByName('GangNo').value := Trim(GangNo.Text);
|
|||
|
|
|||
|
FieldByName('CarNo').value := Trim(FCarNo);
|
|||
|
FieldByName('MJID').Value := Trim(maxno);
|
|||
|
FieldByName('MJCRType').Value := 'δ<><CEB4><EFBFBD><EFBFBD>';
|
|||
|
|
|||
|
FieldByName('MJXH').Value := strtointdef(trim(MJXH.Text), 0);
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
FieldByName('MJLen').Value := StrToFloatdef(trim(MJLen.Text), 0);
|
|||
|
//Ƥ<><C6A4>
|
|||
|
FieldByName('MJTare').Value := StrToFloatdef(trim(MJTare.Text), 0);
|
|||
|
//ë<><C3AB>
|
|||
|
FieldByName('MJGW').Value := StrToFloatdef(trim(MJGW.Text), 0);
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
FieldByName('MJNW').Value := StrToFloatdef(trim(MJGW.Text), 0) - StrToFloatdef(trim(MJTare.Text), 0);
|
|||
|
//ϵ<><CFB5>
|
|||
|
FieldByName('MJXS').Value := StrToFloatdef(trim(MJXS.Text), 0);
|
|||
|
|
|||
|
if Trim(Edit3.Text) <> '' then
|
|||
|
begin
|
|||
|
FieldByName('MJType').Value := '<27><>Ʒ';
|
|||
|
end;
|
|||
|
if Trim(Edit4.Text) <> '' then
|
|||
|
begin
|
|||
|
FieldByName('MJType').Value := '<27><>Ʒ';
|
|||
|
end;
|
|||
|
|
|||
|
if Trim(FMJID) = '' then
|
|||
|
begin
|
|||
|
FieldByName('Filler').Value := Trim(DName);
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
FieldByName('Editer').Value := Trim(DName);
|
|||
|
FieldByName('EditTime').Value := SGetServerDateTime(ADOTmp);
|
|||
|
end;
|
|||
|
FieldByName('JTType').Value := Trim(SCXFlag);
|
|||
|
Post;
|
|||
|
end;
|
|||
|
// if FJHGZ = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
|||
|
begin
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('update FinishedCloth_Inspect SET mjxh=1+isnull((select cast (max(mjxh) as int) from FinishedCloth_Inspect X ');
|
|||
|
sql.Add('where X.subID=FinishedCloth_Inspect.subID and X.GangNo=FinishedCloth_Inspect.GangNo ');
|
|||
|
sql.Add('and X.SPID=FinishedCloth_Inspect.SPID and X.MJID<>FinishedCloth_Inspect.MJID and X.MJType =''<27><>Ʒ''),0)');
|
|||
|
sql.Add('where MJID=''' + Trim(maxno) + '''');
|
|||
|
// ShowMessage(SQL.Text);
|
|||
|
execsql;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>Ľ<DEB8><C4BD><EFBFBD>
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select MJXH from FinishedCloth_Inspect');
|
|||
|
sql.Add('where MJID=''' + Trim(maxno) + '''');
|
|||
|
open;
|
|||
|
if not IsEmpty then
|
|||
|
begin
|
|||
|
MJXH.Text := fieldbyname('mjxh').AsString;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
FMJID := Trim(maxno);
|
|||
|
FFFMJID := Trim(maxno);
|
|||
|
|
|||
|
////////////////////////<2F><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>//////////////////////////////////////
|
|||
|
with CDS_MJCD do
|
|||
|
begin
|
|||
|
First;
|
|||
|
while not Eof do
|
|||
|
begin
|
|||
|
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
|
|||
|
begin
|
|||
|
if GetLSNo(ADOTmp, maxno, 'MC', 'FinishedCloth_Inspect_CD', 5, 1) = False then
|
|||
|
begin
|
|||
|
ADOCmd.Connection.RollbackTrans;
|
|||
|
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
maxno := Trim(CDS_MJCD.fieldbyname('MCID').AsString);
|
|||
|
end;
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add('select * from FinishedCloth_Inspect_CD ');
|
|||
|
sql.Add(' where MCID=''' + Trim(maxno) + '''');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
|
|||
|
Append
|
|||
|
else
|
|||
|
Edit;
|
|||
|
FieldByName('MJId').Value := Trim(FMJID);
|
|||
|
FieldByName('MCID').Value := Trim(maxno);
|
|||
|
SSetSaveDataCDSNew(ADOCmd, Tv2, CDS_MJCD, 'FinishedCloth_Inspect_CD', 0);
|
|||
|
FieldByName('KouFenType').Value := CDS_MJCD.fieldbyname('KouFenType').Value;
|
|||
|
Post;
|
|||
|
end;
|
|||
|
CDS_MJCD.Edit;
|
|||
|
CDS_MJCD.FieldByName('MCID').Value := Trim(maxno);
|
|||
|
Next;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('update FinishedCloth_Inspect SET ');
|
|||
|
sql.Add('CDList=cast((select CDName+CAST(CDQty as varchar)+''M;'' from FinishedCloth_Inspect_CD where FinishedCloth_Inspect_CD.MJID=FinishedCloth_Inspect.MJID for xml path('''')) as varchar(200))');
|
|||
|
sql.Add('where MJID=''' + Trim(FMJID) + ''' ');
|
|||
|
execsql;
|
|||
|
end;
|
|||
|
|
|||
|
////////////////////////<2F><><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>//////////////////////////////////////
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>⼰<EFBFBD><E2BCB0><EFBFBD><EFBFBD>
|
|||
|
with ADOCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('exec P_FinishedCloth_CRK @MJID=''' + trim(FMJID) + '''');
|
|||
|
execsql;
|
|||
|
end;
|
|||
|
|
|||
|
ADOCmd.Connection.CommitTrans;
|
|||
|
Result := True;
|
|||
|
except
|
|||
|
Result := False;
|
|||
|
ADOCmd.Connection.RollbackTrans;
|
|||
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.BTPrintClick(Sender: TObject);
|
|||
|
var
|
|||
|
fPrintFile: string;
|
|||
|
mvalue: Double;
|
|||
|
i: Integer;
|
|||
|
begin
|
|||
|
Scan.SetFocus;
|
|||
|
BTPrint.Enabled := False;
|
|||
|
if CheckData('<27>ύ') = False then
|
|||
|
begin
|
|||
|
BTPrint.Enabled := True;
|
|||
|
exit;
|
|||
|
end;
|
|||
|
|
|||
|
if SaveData() then
|
|||
|
begin
|
|||
|
|
|||
|
MJXH.Text := inttostr(strTointdef(trim(MJXH.Text), 0) + 1);
|
|||
|
if Trim(Edit6.Text) = '<27><>' then
|
|||
|
begin
|
|||
|
PrtData(FFFMJID);
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
BTPrint.Enabled := True;
|
|||
|
end;
|
|||
|
|
|||
|
InitInspectionRecord();
|
|||
|
InitCDGrid();
|
|||
|
ClearGlobal('<27>ύ');
|
|||
|
MJLen.SetFocus;
|
|||
|
Edit1Click(MJLen);
|
|||
|
BTPrint.Enabled := True;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.PrtData(FMJID: string);
|
|||
|
var
|
|||
|
fPrintFile: string;
|
|||
|
Txt, fImagePath: string;
|
|||
|
Moudle: THandle;
|
|||
|
Makebar: TMakebar;
|
|||
|
Mixtext: TMixtext;
|
|||
|
begin
|
|||
|
with ADOQueryPrint do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add(' EXEC P_Print_FinishedLab ');
|
|||
|
SQL.Add(' @MJID=''' + Trim(FMJID) + '''');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
if ADOQueryPrint.IsEmpty then
|
|||
|
begin
|
|||
|
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
|
|||
|
exit;
|
|||
|
end;
|
|||
|
try
|
|||
|
Moudle := LoadLibrary('MakeQRBarcode.dll');
|
|||
|
@Makebar := GetProcAddress(Moudle, 'Make');
|
|||
|
@Mixtext := GetProcAddress(Moudle, 'MixText');
|
|||
|
Txt := Trim(ADOQueryPrint.fieldbyname('MJID').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;
|
|||
|
ExportFtErpFile(Trim(ADOQueryPrint.fieldbyname('LabName').AsString), ADOTmp);
|
|||
|
if Trim(ADOQueryPrint.fieldbyname('LabName').AsString) <> '' then
|
|||
|
begin
|
|||
|
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(ADOQueryPrint.fieldbyname('LabName').AsString)
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
ExportFtErpFile('ͨ<>ó<EFBFBD>Ʒ<EFBFBD><C6B7>ǩ.rmf', ADOTmp);
|
|||
|
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ͨ<>ó<EFBFBD>Ʒ<EFBFBD><C6B7>ǩ.rmf';
|
|||
|
end;
|
|||
|
|
|||
|
if FileExists(fPrintFile) then
|
|||
|
begin
|
|||
|
RMVariables['QRBARCODE'] := fImagePath;
|
|||
|
RM2.LoadFromFile(fPrintFile);
|
|||
|
Rm2.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
|
|||
|
RM2.PrintReport;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Application.MessageBox(PChar('û<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.SpeedButton1Click(Sender: TObject);
|
|||
|
var
|
|||
|
fsj: string;
|
|||
|
begin
|
|||
|
fsj := Trim(TSpeedButton(Sender).Hint);
|
|||
|
if Trim(fsj) = '' then
|
|||
|
Exit;
|
|||
|
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
|
|||
|
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := fsj + Trim(TSpeedButton(Sender).Caption);
|
|||
|
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.SpeedButton12Click(Sender: TObject);
|
|||
|
var
|
|||
|
fsj: string;
|
|||
|
begin
|
|||
|
fsj := Trim(TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text);
|
|||
|
if Trim(fsj) = '' then
|
|||
|
Exit;
|
|||
|
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).Text := Copy(fsj, 1, Length(fsj) - 1);
|
|||
|
TEdit(FindComponent(Trim(TSpeedButton(Sender).Hint))).SelectAll;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.SpeedButton13Click(Sender: TObject);
|
|||
|
var
|
|||
|
i: Integer;
|
|||
|
begin
|
|||
|
if CheckData('<27>õ<EFBFBD>') = False then
|
|||
|
exit;
|
|||
|
|
|||
|
FCDName := Trim(TSpeedButton(Sender).Hint);
|
|||
|
MovePanel1.Visible := True;
|
|||
|
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>
|
|||
|
Edit1.SetFocus;
|
|||
|
Panel3.Visible := True;
|
|||
|
with Panel3 do
|
|||
|
begin
|
|||
|
for i := 0 to ControlCount - 1 do
|
|||
|
begin
|
|||
|
if Controls[i] is TSpeedButton then
|
|||
|
begin
|
|||
|
TSpeedButton(Controls[i]).Hint := Trim(Edit1.Name);
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.cxGridDBColumn2PropertiesChange(Sender: TObject);
|
|||
|
var
|
|||
|
fsj: string;
|
|||
|
begin
|
|||
|
|
|||
|
fsj := Trim(Order_MJ.fieldbyname('SubId').AsString);
|
|||
|
Order_MJ.DisableControls;
|
|||
|
with Order_MJ do
|
|||
|
begin
|
|||
|
First;
|
|||
|
while not Eof do
|
|||
|
begin
|
|||
|
if Trim(Order_MJ.fieldbyname('SubId').AsString) <> fsj then
|
|||
|
begin
|
|||
|
Edit;
|
|||
|
FieldByName('SSel').Value := False;
|
|||
|
end;
|
|||
|
Next;
|
|||
|
end;
|
|||
|
end;
|
|||
|
Order_MJ.EnableControls;
|
|||
|
Order_MJ.Locate('SubId', fsj, []);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Button1Click(Sender: TObject);
|
|||
|
var
|
|||
|
mvalue: Double;
|
|||
|
begin
|
|||
|
{ if Trim(Edit1.Text)='' then
|
|||
|
begin
|
|||
|
Application.MessageBox('λ<>ò<EFBFBD><C3B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
|
|||
|
exit;
|
|||
|
end; }
|
|||
|
if Trim(Edit1.Text) <> '' then
|
|||
|
begin
|
|||
|
if Trim(Edit2.Text) <> '' then
|
|||
|
begin
|
|||
|
if StrToFloat(Edit2.Text) < StrToFloat(Edit1.Text) then
|
|||
|
begin
|
|||
|
Application.MessageBox('<27>õ<EFBFBD>λ<EFBFBD><CEBB>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if CDQty.Text <> '' then
|
|||
|
begin
|
|||
|
if TryStrToFloat(CDQty.Text, mvalue) = False then
|
|||
|
begin
|
|||
|
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end;
|
|||
|
with CDS_MJCD do
|
|||
|
begin
|
|||
|
Append;
|
|||
|
FieldByName('cdname').Value := Trim(FCDName);
|
|||
|
FieldByName('CDbeg').Value := Trim(Edit1.Text);
|
|||
|
FieldByName('CDEnd').Value := Trim(Edit2.Text);
|
|||
|
FieldByName('KouFenQty').Value := 0;
|
|||
|
if RadioGroup1.ItemIndex > -1 then
|
|||
|
FieldByName('KouFenType').Value := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
|
|||
|
if RadioGroup1.ItemIndex > -1 then
|
|||
|
begin
|
|||
|
if RadioGroup1.ItemIndex < 3 then
|
|||
|
begin
|
|||
|
FieldByName('KouFenQty').Value := RadioGroup1.ItemIndex + 1;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
FieldByName('KouFenQty').Value := 4;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if Trim(FCDName) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
|
|||
|
FieldByName('KouFenQty').Value := 0;
|
|||
|
FieldByName('CDQty').Value := StrToFloatdef(trim(CDQty.Text), 0);
|
|||
|
{if Trim(Edit2.Text)<>'' then
|
|||
|
begin
|
|||
|
FieldByName('CDQty').Value:=StrToFloat(Edit2.Text)-StrToFloat(Edit1.Text);
|
|||
|
end else
|
|||
|
begin
|
|||
|
FieldByName('CDQty').Value:=0;
|
|||
|
end; }
|
|||
|
|
|||
|
Post;
|
|||
|
end;
|
|||
|
Edit1.Text := '';
|
|||
|
Edit2.Text := '';
|
|||
|
CDQty.Text := '';
|
|||
|
MovePanel1.Visible := False;
|
|||
|
Panel3.Visible := False;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Button5Click(Sender: TObject);
|
|||
|
var
|
|||
|
fPrintFile: string;
|
|||
|
i: Integer;
|
|||
|
mvalue: Double;
|
|||
|
begin
|
|||
|
if CDS_MJID.IsEmpty then
|
|||
|
Exit;
|
|||
|
PrtData(CDS_MJID.fieldbyname('MJID').AsString);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.SpeedButton49Click(Sender: TObject);
|
|||
|
begin
|
|||
|
Panel3.Visible := False;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.ScanKeyPress(Sender: TObject; var Key: Char);
|
|||
|
begin
|
|||
|
if Key = #13 then
|
|||
|
begin
|
|||
|
if Pos('DC', Trim(Scan.Text)) > 0 then
|
|||
|
begin
|
|||
|
ClearGlobal('ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>');
|
|||
|
FOperationStatus := '<27><><EFBFBD>̿<EFBFBD>';
|
|||
|
ScanOrder();
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
application.MessageBox('<27><>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
end;
|
|||
|
|
|||
|
MJLen.SetFocus;
|
|||
|
Edit1Click(MJLen);
|
|||
|
Scan.Text := '';
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit1Click(Sender: TObject);
|
|||
|
var
|
|||
|
i: Integer;
|
|||
|
begin
|
|||
|
Panel3.Visible := True;
|
|||
|
with Panel3 do
|
|||
|
begin
|
|||
|
for i := 0 to ControlCount - 1 do
|
|||
|
begin
|
|||
|
if Controls[i] is TSpeedButton then
|
|||
|
begin
|
|||
|
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit2Change(Sender: TObject);
|
|||
|
var
|
|||
|
mvalue: Double;
|
|||
|
begin
|
|||
|
if Trim(Edit1.Text) <> '' then
|
|||
|
begin
|
|||
|
if TryStrToFloat(Edit1.Text, mvalue) = False then
|
|||
|
begin
|
|||
|
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
if Trim(Edit2.Text) <> '' then
|
|||
|
begin
|
|||
|
if TryStrToFloat(Edit2.Text, mvalue) = False then
|
|||
|
begin
|
|||
|
Application.MessageBox('<27>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
CDQty.Text := FloatToStr(StrToFloat(Edit2.Text) - StrToFloat(Edit1.Text));
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit3Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if Trim(Edit3.Text) = '' then
|
|||
|
begin
|
|||
|
Edit3.Text := '<27><>';
|
|||
|
Edit4.Text := '';
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Edit3.Text := '';
|
|||
|
Edit4.Text := '<27><>';
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit4Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if Trim(Edit4.Text) = '' then
|
|||
|
begin
|
|||
|
Edit4.Text := '<27><>';
|
|||
|
Edit3.Text := '';
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Edit4.Text := '';
|
|||
|
Edit3.Text := '<27><>';
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit6Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if Trim(Edit6.Text) = '' then
|
|||
|
begin
|
|||
|
Edit6.Text := '<27><>';
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Edit6.Text := '';
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.MJstr3KeyPress(Sender: TObject; var Key: Char);
|
|||
|
begin
|
|||
|
if Key = #13 then
|
|||
|
begin
|
|||
|
Key := #0;
|
|||
|
SelectNext(ActiveControl as TWinControl, True, True);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Button2Click(Sender: TObject);
|
|||
|
begin
|
|||
|
RadioGroup1.ItemIndex := -1;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.MJGWChange(Sender: TObject);
|
|||
|
begin
|
|||
|
QuantityConversion();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.ScanClick(Sender: TObject);
|
|||
|
var
|
|||
|
i: Integer;
|
|||
|
begin
|
|||
|
Panel3.Visible := True;
|
|||
|
with Panel3 do
|
|||
|
begin
|
|||
|
for i := 0 to ControlCount - 1 do
|
|||
|
begin
|
|||
|
if Controls[i] is TSpeedButton then
|
|||
|
begin
|
|||
|
TSpeedButton(Controls[i]).Hint := Trim(TEdit(Sender).Name);
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit7Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if Trim(Edit7.Text) = '' then
|
|||
|
begin
|
|||
|
Edit7.Text := '<27><>';
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Edit7.Text := '';
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.MJNWKeyPress(Sender: TObject; var Key: Char);
|
|||
|
begin
|
|||
|
if Key = #13 then
|
|||
|
begin
|
|||
|
BTPrint.Click;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.FormCreate(Sender: TObject);
|
|||
|
begin
|
|||
|
IsCommopen := false;
|
|||
|
IsJsMessage := false;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Edit8Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if Trim(Edit8.Text) = '' then
|
|||
|
begin
|
|||
|
Edit8.Text := '<27><>';
|
|||
|
Button5.Visible := true;
|
|||
|
end
|
|||
|
else
|
|||
|
begin
|
|||
|
Edit8.Text := '';
|
|||
|
Button5.Visible := false;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.MJLenChange(Sender: TObject);
|
|||
|
begin
|
|||
|
QuantityConversion();
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmMarkingInspection.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
begin
|
|||
|
if CDS_MJCD.IsEmpty then
|
|||
|
Exit;
|
|||
|
|
|||
|
if Trim(CDS_MJCD.fieldbyname('MCID').AsString) = '' then
|
|||
|
begin
|
|||
|
if Application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
|
|||
|
Exit;
|
|||
|
CDS_MJCD.Delete;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|
|||
|
|