D10sxYilanbuyi/F02染色计划单/U_DyeSimpleTechnicsKaiKa.pas
2025-11-12 17:32:20 +08:00

1097 lines
34 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_DyeSimpleTechnicsKaiKa;
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, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, Menus, U_BaseList, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, dxScrollbarAnnotations, cxContainer, cxDropDownEdit, cxLabel,
cxButtons, cxMemo, U_frameFPList, U_frameGJList, U_frameGDXList, U_frameFSList,
U_frameCCQXList, U_frameJGQXList, U_frameRGQXList, U_frameYMList, U_BaseInput,
System.ImageList, Vcl.ImgList;
//U_frameJGQXList, U_frameRGQXList, U_frameCCQXList, U_frameYMList
type
TfrmDyeSimpleTechnicsKaiKa = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
GPM_2: TcxGridPopupMenu;
DS_2: TDataSource;
CDS_2: TClientDataSet;
DS_PsType: TDataSource;
CDS_PSType: TClientDataSet;
ADOQuery1: TADOQuery;
GPM_1: TcxGridPopupMenu;
ToolButton3: TToolButton;
Panel2: TPanel;
Splitter1: TSplitter;
ScrollBox1: TScrollBox;
Splitter2: TSplitter;
Panel3: TPanel;
cxGrid9: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridLevel8: TcxGridLevel;
CDS_GX: TClientDataSet;
DS_GX: TDataSource;
Tv3PSNO: TcxGridDBColumn;
Tv3PSType: TcxGridDBColumn;
Tv3PSName: TcxGridDBColumn;
Tv3PSID: TcxGridDBColumn;
ToolBar2: TToolBar;
TbShow: TToolButton;
Tv3Page: TcxGridDBColumn;
GPM_3: TcxGridPopupMenu;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure cxGridDBColumn1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure Tv1DblClick(Sender: TObject);
procedure TbDeleteClick(Sender: TObject);
procedure TbShowClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
{ Private declarations }
procedure SetStatus();
procedure InitGlide();
procedure InitGXDetails();
procedure CloseAllFrames();
function GetNextFrameTop: Integer;
// function SaveData(): Boolean;
procedure FillAllTextEditsWithValue(AParent: TWinControl; const AHint, AValue: string; AExclude: TcxTextEdit = nil);
procedure ClearAllTextEditsByHint(AParent: TWinControl; const AHint: string; AExclude: TcxTextEdit = nil);
function FindLastEditedTextEdit(AParent: TWinControl; const AHint: string): string;
procedure SetXH();
public
fPSIDList: string;
fmanage: string;
fKaZu : string;
end;
var
frmDyeSimpleTechnicsKaiKa: TfrmDyeSimpleTechnicsKaiKa;
frameFPList1, frameFPList2, frameFPList3: tframeFPList;
frameGJList1, frameGJList2, frameGJList3: tframeGJList;
frameFSList1, frameFSList2, frameFSList3: tframeFSList;
frameGDXList1, frameGDXList2, frameGDXList3: TframeGDXList;
frameJGQXList1, frameJGQXList2, frameJGQXList3: TframeJGQXList;
frameRGQXList1, frameRGQXList2, frameRGQXList3: TframeRGQXList;
frameCCQXList1, frameCCQXList2, frameCCQXList3: TframeCCQXList;
frameYMList1, frameYMList2, frameYMList3: TframeYMList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_DyeTechnicsinput, U_DyeProcessDefin,
U_DyeSimpleTechnicsList;
{$R *.dfm}
procedure TfrmDyeSimpleTechnicsKaiKa.SetXH();
var
i: Integer;
begin
with CDS_GX do
begin
First;
i := 1;
while not Eof do
begin
with CDS_GX do
begin
Edit;
FieldByName('XHNoTemp').Value := i;
Post;
end;
i := i + 1;
Next;
end;
end;
with CDS_GX do
begin
CDS_GX.IndexFieldNames := '';
First;
i := 1;
while not Eof do
begin
with CDS_GX do
begin
Edit;
FieldByName('PSNO').Value := FieldByName('XHNoTemp').AsInteger;
Post;
end;
i := i + 1;
Next;
end;
CDS_GX.IndexFieldNames := 'PSNO';
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.SetStatus();
var
i: integer;
begin
end;
procedure TfrmDyeSimpleTechnicsKaiKa.InitGlide();
begin
try
ADOQueryTemp.DisableControls;
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.PSID,A.GlideNo,B.PSType,B.PSName,B.page FROM Dye_Plan_Glide A');
sql.Add(' inner join Dye_Process B on A.PSID = B.PSID');
sql.Add(' Where A.PCID=''' + trim(fKaZu) + '''');
SQL.Add(' ORDER BY A.GlideNo');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_GX);
SInitCDSData(ADOQueryTemp, CDS_GX);
finally
ADOQueryTemp.EnableControls;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.InitGXDetails();
begin
try
ADOQueryTemp.DisableControls;
CDS_GX.First;
while not CDS_GX.eof do
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select A.* FROM V_Dye_TechnicsKaiKa_Details A');
sql.Add(' Where A.PSID=''' + trim(CDS_GX.fieldbyname('PSID').AsString) + '''');
SQL.Add(' and A.PCID = ''' + trim(fKaZu) + '''');
Open;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select A.* FROM BS_Cloth_GY_Sub_Kaika A');
sql.Add(' Where A.PSID=''' + trim(CDS_GX.fieldbyname('PSID').AsString) + '''');
sql.Add(' and A.PCID=''' + trim(fKaZu) + '''');
// ShowMessage(SQL.Text);
Open;
end;
// ShowMessage(IntToStr(ADOQueryCmd.RecordCount));
if CDS_GX.FieldByName('PSType').AsString = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ' then
begin
if self.FindComponent('frameCCQXList1') = nil then
begin
frameCCQXList1 := TframeCCQXList.Create(self);
frameCCQXList1.Name := 'frameCCQXList1';
frameCCQXList1.Parent := self.ScrollBox1;
frameCCQXList1.Top := GetNextFrameTop;
frameCCQXList1.Visible := True;
frameCCQXList1.InitGrid();
frameCCQXList1.TbCCQXAdd.Visible := False;
frameCCQXList1.TbCCQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameCCQXList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameCCQXList1.Panel_ccqx, 2);
frameCCQXList1.ccqx_note.Lines.Text := ADOQueryTemp.FieldByName('ccqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameCCQXList1.CDS_CCQX);
SInitCDSData(ADOQueryCmd, frameCCQXList1.CDS_CCQX);
end
else if self.FindComponent('frameCCQXList2') = nil then
begin
frameCCQXList2 := TframeCCQXList.Create(self);
frameCCQXList2.Name := 'frameCCQXList2';
frameCCQXList2.Parent := self.ScrollBox1;
frameCCQXList2.Top := GetNextFrameTop;
frameCCQXList2.Visible := True;
frameCCQXList2.InitGrid();
frameCCQXList2.TbCCQXAdd.Visible := False;
frameCCQXList2.TbCCQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameCCQXList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameCCQXList2.Panel_ccqx, 2);
frameCCQXList2.ccqx_note.Lines.Text := ADOQueryTemp.FieldByName('ccqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameCCQXList2.CDS_CCQX);
SInitCDSData(ADOQueryCmd, frameCCQXList2.CDS_CCQX);
end
else if self.FindComponent('frameCCQXList3') = nil then
begin
frameCCQXList3 := TframeCCQXList.Create(self);
frameCCQXList3.Name := 'frameCCQXList3';
frameCCQXList3.Parent := self.ScrollBox1;
frameCCQXList3.Top := GetNextFrameTop;
frameCCQXList3.Visible := True;
frameCCQXList3.InitGrid();
frameCCQXList3.TbCCQXAdd.Visible := False;
frameCCQXList3.TbCCQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameCCQXList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameCCQXList3.Panel_ccqx, 2);
frameCCQXList3.ccqx_note.Lines.Text := ADOQueryTemp.FieldByName('ccqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameCCQXList3.CDS_CCQX);
SInitCDSData(ADOQueryCmd, frameCCQXList3.CDS_CCQX);
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27><>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD>ϴ' then
begin
if self.FindComponent('frameRGQXList1') = nil then
begin
frameRGQXList1 := TframeRGQXList.Create(self);
frameRGQXList1.Name := 'frameRGQXList1';
frameRGQXList1.Parent := self.ScrollBox1;
frameRGQXList1.Top := GetNextFrameTop;
frameRGQXList1.Visible := True;
frameRGQXList1.InitGrid();
frameRGQXList1.TbRGQXAdd.Visible := False;
frameRGQXList1.TbRGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameRGQXList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameRGQXList1.Panel_rgqx, 2);
frameRGQXList1.rgqx_note.Lines.Text := ADOQueryTemp.FieldByName('rgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameRGQXList1.CDS_rgQX);
SInitCDSData(ADOQueryCmd, frameRGQXList1.CDS_RGQX);
end
else if self.FindComponent('frameRGQXList2') = nil then
begin
frameRGQXList2 := TframeRGQXList.Create(self);
frameRGQXList2.Name := 'frameRGQXList2';
frameRGQXList2.Parent := self.ScrollBox1;
frameRGQXList2.Top := GetNextFrameTop;
frameRGQXList2.Visible := True;
frameRGQXList2.InitGrid();
frameRGQXList2.TbRGQXAdd.Visible := False;
frameRGQXList2.TbRGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameRGQXList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameRGQXList2.Panel_rgqx, 2);
frameRGQXList2.rgqx_note.Lines.Text := ADOQueryTemp.FieldByName('rgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameRGQXList2.CDS_rgQX);
SInitCDSData(ADOQueryCmd, frameRGQXList2.CDS_RGQX);
end
else if self.FindComponent('frameRGQXList3') = nil then
begin
frameRGQXList3 := TframeRGQXList.Create(self);
frameRGQXList3.Name := 'frameRGQXList3';
frameRGQXList3.Parent := self.ScrollBox1;
frameRGQXList3.Top := GetNextFrameTop;
frameRGQXList3.Visible := True;
frameRGQXList3.InitGrid();
frameRGQXList3.TbRGQXAdd.Visible := False;
frameRGQXList3.TbRGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameRGQXList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameRGQXList3.Panel_rgqx, 2);
frameRGQXList3.rgqx_note.Lines.Text := ADOQueryTemp.FieldByName('rgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameRGQXList3.CDS_rgQX);
SInitCDSData(ADOQueryCmd, frameRGQXList3.CDS_RGQX);
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ' then
begin
if self.FindComponent('frameJGQXList1') = nil then
begin
frameJGQXList1 := TframeJGQXList.Create(self);
frameJGQXList1.Name := 'frameJGQXList1';
frameJGQXList1.Parent := self.ScrollBox1;
frameJGQXList1.Top := GetNextFrameTop;
frameJGQXList1.Visible := True;
frameJGQXList1.InitGrid();
frameJGQXList1.TbJGQXAdd.Visible := False;
frameJGQXList1.TbJGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameJGQXList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameJGQXList1.Panel_jgqx, 2);
frameJGQXList1.jgqx_note.Lines.Text := ADOQueryTemp.FieldByName('jgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameJGQXList1.CDS_JGQX);
SInitCDSData(ADOQueryCmd, frameJGQXList1.CDS_JGQX);
end
else if self.FindComponent('frameJGQXList2') = nil then
begin
frameJGQXList2 := TframeJGQXList.Create(self);
frameJGQXList2.Name := 'frameJGQXList2';
frameJGQXList2.Parent := self.ScrollBox1;
frameJGQXList2.Top := GetNextFrameTop;
frameJGQXList2.Visible := True;
frameJGQXList2.InitGrid();
frameJGQXList2.TbJGQXAdd.Visible := False;
frameJGQXList2.TbJGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameJGQXList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameJGQXList2.Panel_jgqx, 2);
frameJGQXList2.jgqx_note.Lines.Text := ADOQueryTemp.FieldByName('jgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameJGQXList2.CDS_JGQX);
SInitCDSData(ADOQueryCmd, frameJGQXList2.CDS_JGQX);
end
else if self.FindComponent('frameJGQXList3') = nil then
begin
frameJGQXList3 := TframeJGQXList.Create(self);
frameJGQXList3.Name := 'frameJGQXList3';
frameJGQXList3.Parent := self.ScrollBox1;
frameJGQXList3.Top := GetNextFrameTop;
frameJGQXList3.Visible := True;
frameJGQXList3.InitGrid();
frameJGQXList3.TbJGQXAdd.Visible := False;
frameJGQXList3.TbJGQXDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameJGQXList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameJGQXList3.Panel_jgqx, 2);
frameJGQXList3.jgqx_note.Lines.Text := ADOQueryTemp.FieldByName('jgqx_note').AsString;
SCreateCDS(ADOQueryCmd, frameJGQXList3.CDS_JGQX);
SInitCDSData(ADOQueryCmd, frameJGQXList3.CDS_JGQX);
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27>ɶ<EFBFBD><C9B6><EFBFBD>' then
begin
if self.FindComponent('frameGDXList1') = nil then
begin
frameGDXList1 := TframeGDXList.Create(self);
frameGDXList1.Name := 'frameGDXList1';
frameGDXList1.Parent := self.ScrollBox1;
frameGDXList1.Top := GetNextFrameTop;
frameGDXList1.Visible := True;
frameGDXList1.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGDXList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGDXList1.Panel_dx, 2);
frameGDXList1.dx_Precautions.Lines.Text := ADOQueryTemp.FieldByName('dx_Precautions').AsString;
end
else if self.FindComponent('frameGDXList2') = nil then
begin
frameGDXList2 := TframeGDXList.Create(self);
frameGDXList2.Name := 'frameGDXList2';
frameGDXList2.Parent := self.ScrollBox1;
frameGDXList2.Top := GetNextFrameTop;
frameGDXList2.Visible := True;
frameGDXList2.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGDXList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGDXList2.Panel_dx, 2);
frameGDXList2.dx_Precautions.Lines.Text := ADOQueryTemp.FieldByName('dx_Precautions').AsString;
end
else if self.FindComponent('frameGDXList3') = nil then
begin
frameGDXList3 := TframeGDXList.Create(self);
frameGDXList3.Name := 'frameGDXList3';
frameGDXList3.Parent := self.ScrollBox1;
frameGDXList3.Top := GetNextFrameTop;
frameGDXList3.Visible := True;
frameGDXList3.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGDXList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGDXList3.Panel_dx, 2);
frameGDXList3.dx_Precautions.Lines.Text := ADOQueryTemp.FieldByName('dx_Precautions').AsString;
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>' then
begin
if self.FindComponent('frameFSList1') = nil then
begin
frameFSList1 := tframeFSList.Create(self);
frameFSList1.Name := 'frameFSList1';
frameFSList1.Parent := self.ScrollBox1;
frameFSList1.Top := GetNextFrameTop;
frameFSList1.Visible := True;
frameFSList1.InitGrid();
frameFSList1.TbFSAdd.Visible := False;
frameFSList1.TbFSDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFSList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFSList1.Panel_fs, 2);
frameFSList1.fs_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fs_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFSList1.CDS_fS);
SInitCDSData(ADOQueryCmd, frameFSList1.CDS_fS);
end
else if self.FindComponent('frameFSList2') = nil then
begin
frameFSList2 := tframeFSList.Create(self);
frameFSList2.Name := 'frameFSList2';
frameFSList2.Parent := self.ScrollBox1;
frameFSList2.Top := GetNextFrameTop;
frameFSList2.Visible := True;
frameFSList2.InitGrid();
frameFSList2.TbFSAdd.Visible := False;
frameFSList2.TbFSDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFSList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFSList2.Panel_fs, 2);
frameFSList2.fs_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fs_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFSList2.CDS_fS);
SInitCDSData(ADOQueryCmd, frameFSList2.CDS_fS);
end
else if self.FindComponent('frameFSList3') = nil then
begin
frameFSList3 := tframeFSList.Create(self);
frameFSList3.Name := 'frameFSList3';
frameFSList3.Parent := self.ScrollBox1;
frameFSList3.Top := GetNextFrameTop;
frameFSList3.Visible := True;
frameFSList3.InitGrid();
frameFSList3.TbFSAdd.Visible := False;
frameFSList3.TbFSDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFSList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFSList3.Panel_fs, 2);
frameFSList3.fs_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fs_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFSList3.CDS_fS);
SInitCDSData(ADOQueryCmd, frameFSList3.CDS_fS);
end
end
else if CDS_GX.FieldByName('PSType').AsString = '<27><><EFBFBD><EFBFBD>' then
begin
if self.FindComponent('frameFPList1') = nil then
begin
frameFPList1 := TframeFPList.Create(self);
frameFPList1.Name := 'frameFPList1';
frameFPList1.Parent := self.ScrollBox1;
frameFPList1.Top := GetNextFrameTop;
frameFPList1.Visible := True;
frameFPList1.InitGrid();
frameFPList1.TbFPAdd.Visible := False;
frameFPList1.TbFPDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFPList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFPList1.Panel_fp, 2);
frameFPList1.fp_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fp_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFPList1.CDS_FP);
SInitCDSData(ADOQueryCmd, frameFPList1.CDS_FP);
end
else if self.FindComponent('frameFPList2') = nil then
begin
frameFPList2 := TframeFPList.Create(self);
frameFPList2.Name := 'frameFPList2';
frameFPList2.Parent := self.ScrollBox1;
frameFPList2.Top := GetNextFrameTop;
frameFPList2.Visible := True;
frameFPList2.InitGrid();
frameFPList2.TbFPAdd.Visible := False;
frameFPList2.TbFPDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFPList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFPList2.Panel_fp, 2);
frameFPList2.fp_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fp_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFPList2.CDS_FP);
SInitCDSData(ADOQueryCmd, frameFPList2.CDS_FP);
end
else if self.FindComponent('frameFPList3') = nil then
begin
frameFPList3 := TframeFPList.Create(self);
frameFPList3.Name := 'frameFPList3';
frameFPList3.Parent := self.ScrollBox1;
frameFPList3.Top := GetNextFrameTop;
frameFPList3.Visible := True;
frameFPList3.InitGrid();
frameFPList3.TbFPAdd.Visible := False;
frameFPList3.TbFPDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameFPList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameFPList3.Panel_fp, 2);
frameFPList3.fp_Precautions.Lines.Text := ADOQueryTemp.FieldByName('fp_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameFPList3.CDS_FP);
SInitCDSData(ADOQueryCmd, frameFPList3.CDS_FP);
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27>ν<EFBFBD>' then
begin
if self.FindComponent('frameGJList1') = nil then
begin
frameGJList1 := TframeGJList.Create(self);
frameGJList1.Name := 'frameGJList1';
frameGJList1.Parent := self.ScrollBox1;
frameGJList1.Top := GetNextFrameTop;
frameGJList1.Visible := True;
frameGJList1.InitGrid();
frameGJList1.TbGJAdd.Visible := False;
frameGJList1.TbGJDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGJList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGJList1.Panel_gj, 2);
frameGJList1.gj_Precautions.Lines.Text := ADOQueryTemp.FieldByName('gj_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameGJList1.CDS_GJ);
SInitCDSData(ADOQueryCmd, frameGJList1.CDS_GJ);
end
else if self.FindComponent('frameGJList2') = nil then
begin
frameGJList2 := TframeGJList.Create(self);
frameGJList2.Name := 'frameGJList2';
frameGJList2.Parent := self.ScrollBox1;
frameGJList2.Top := GetNextFrameTop;
frameGJList2.Visible := True;
frameGJList2.InitGrid();
frameGJList2.TbGJAdd.Visible := False;
frameGJList2.TbGJDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGJList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGJList2.Panel_gj, 2);
frameGJList2.gj_Precautions.Lines.Text := ADOQueryTemp.FieldByName('gj_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameGJList2.CDS_GJ);
SInitCDSData(ADOQueryCmd, frameGJList2.CDS_GJ);
end
else if self.FindComponent('frameGJList3') = nil then
begin
frameGJList3 := TframeGJList.Create(self);
frameGJList3.Name := 'frameGJList3';
frameGJList3.Parent := self.ScrollBox1;
frameGJList3.Top := GetNextFrameTop;
frameGJList3.Visible := True;
frameGJList3.InitGrid();
frameGJList3.TbGJAdd.Visible := False;
frameGJList3.TbGJDel.Visible := False;
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameGJList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameGJList3.Panel_gj, 2);
frameGJList3.gj_Precautions.Lines.Text := ADOQueryTemp.FieldByName('gj_Precautions').AsString;
SCreateCDS(ADOQueryCmd, frameGJList3.CDS_GJ);
SInitCDSData(ADOQueryCmd, frameGJList3.CDS_GJ);
end;
end
else if CDS_GX.FieldByName('PSType').AsString = '<27><>ë' then
begin
if self.FindComponent('frameYMList1') = nil then
begin
frameYMList1 := TframeYMList.Create(self);
frameYMList1.Name := 'frameYMList1';
frameYMList1.Parent := self.ScrollBox1;
frameYMList1.Top := GetNextFrameTop;
frameYMList1.Visible := True;
frameYMList1.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameYMList1';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameYMList1.Panel_zm, 2);
frameYMList1.zm_Precautions.Lines.Text := ADOQueryTemp.FieldByName('zm_Precautions').AsString;
end
else if self.FindComponent('frameYMList2') = nil then
begin
frameYMList2 := TframeYMList.Create(self);
frameYMList2.Name := 'frameYMList2';
frameYMList2.Parent := self.ScrollBox1;
frameYMList2.Top := GetNextFrameTop;
frameYMList2.Visible := True;
frameYMList2.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameYMList2';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameYMList2.Panel_zm, 2);
frameYMList2.zm_Precautions.Lines.Text := ADOQueryTemp.FieldByName('zm_Precautions').AsString;
end
else if self.FindComponent('frameYMList3') = nil then
begin
frameYMList3 := TframeYMList.Create(self);
frameYMList3.Name := 'frameYMList3';
frameYMList3.Parent := self.ScrollBox1;
frameYMList3.Top := GetNextFrameTop;
frameYMList3.Visible := True;
frameYMList3.InitGrid();
CDS_GX.Edit;
CDS_GX.FieldByName('page').AsString := 'frameYMList3';
CDS_GX.Post;
SCSHData(ADOQueryTemp, frameYMList3.Panel_zm, 2);
frameYMList3.zm_Precautions.Lines.Text := ADOQueryTemp.FieldByName('zm_Precautions').AsString;
end;
end;
CDS_GX.Next;
end;
finally
ADOQueryTemp.EnableControls;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.CloseAllFrames();
var
i: Integer;
Component: TComponent;
begin
// <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> GDXList <20><><EFBFBD><EFBFBD>
for i := 1 to 3 do
begin
Component := self.FindComponent('frameGDXList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
// <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> FSList <20><><EFBFBD><EFBFBD>
for i := 1 to 3 do
begin
Component := self.FindComponent('frameFSList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
// <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> FPList <20><><EFBFBD><EFBFBD>
for i := 1 to 3 do
begin
Component := self.FindComponent('frameFPList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
// <20>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> GJList <20><><EFBFBD><EFBFBD>
for i := 1 to 3 do
begin
Component := self.FindComponent('frameGJList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
for i := 1 to 3 do
begin
Component := self.FindComponent('frameCCQXList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
for i := 1 to 3 do
begin
Component := self.FindComponent('frameRGQXList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
for i := 1 to 3 do
begin
Component := self.FindComponent('frameJGQXList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
for i := 1 to 3 do
begin
Component := self.FindComponent('frameYMList' + IntToStr(i));
if Component <> nil then
begin
TFrame(Component).Free;
end;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FormDestroy(Sender: TObject);
begin
inherited;
frmDyeSimpleTechnicsKaiKa := nil;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_ESCAPE then // VK_ESCAPE <20><> ESC <20><><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
begin
Key := 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Close; // <20><><EFBFBD><EFBFBD> ModalResult := mrCancel;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption) + 'Tv3', Tv3, '<27><><EFBFBD>׹<EFBFBD><D7B9>չ<EFBFBD><D5B9><EFBFBD>');
SetStatus();
InitGlide();
TbShow.Click;
KeyPreview := True;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.ToolButton3Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv3', Tv3, '<27><><EFBFBD>׹<EFBFBD><D7B9>չ<EFBFBD><D5B9><EFBFBD>');
end;
procedure TfrmDyeSimpleTechnicsKaiKa.TbDeleteClick(Sender: TObject);
begin
if CDS_GX.IsEmpty then
begin
Exit;
end;
if (CDS_GX.FieldByName('PSID').asString = '') or (CDS_GX.FieldByName('PSID').asString = null) then
begin
CDS_GX.Delete;
// InitGXDetails();
end
else
begin
Application.MessageBox('<27>ѱ<EFBFBD><D1B1><EFBFBD><E6B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_OK);
end;
SetXH();
end;
procedure TfrmDyeSimpleTechnicsKaiKa.TbShowClick(Sender: TObject);
begin
CloseAllFrames();
InitGXDetails();
end;
procedure TfrmDyeSimpleTechnicsKaiKa.Tv1DblClick(Sender: TObject);
begin
with CDS_GX do
begin
Append;
FieldByName('PSNO').Value := CDS_GX.RecordCount + 1;
FieldByName('PSType').Value := CDS_PSType.fieldbyname('PSType').AsString;
FieldByName('PSId').Value := '';
post;
end;
// InitGXDetails();
end;
procedure TfrmDyeSimpleTechnicsKaiKa.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
CloseAllFrames();
SetStatus();
InitGlide();
// InitGXDetails();
// ShowMessage(CDS_2.FieldByName('DTMID').AsString);
if (CDS_2.FieldByName('DTMID').AsString = '') or (CDS_2.FieldByName('DTMID').AsString = null) then
begin
end
else
begin
ADOQueryCMD.DisableControls;
with ADOQueryCMD do
begin
// Filtered := False;
Close;
SQL.Clear;
sql.Add(' select *,PSXH=0 from Dye_Technics where 1 = 2 ');
Open;
end;
// SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryCMD, CDS_PSType);
SInitCDSData(ADOQueryCMD, CDS_PSType);
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.cxGridDBColumn1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmDyeProcessDefin := TfrmDyeProcessDefin.Create(Application);
with frmDyeProcessDefin do
begin
// FPSType := self.CDS_1.FieldByName('PSType').Value;
// FPSID := Self.CDS_1.FieldByName('PSID').Value;
BtnInt := 3;//<2F>
TbSave.visible := false;
TbUpFile.Visible := False;
if ShowModal = 1 then
begin
end;
end;
finally
frmDyeProcessDefin.Free;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FormCreate(Sender: TObject);
begin
inherited;
fmanage := Trim(DParameters1);
end;
procedure TfrmDyeSimpleTechnicsKaiKa.FillAllTextEditsWithValue(AParent: TWinControl; const AHint, AValue: string; AExclude: TcxTextEdit = nil); // <20><>ѡ<EFBFBD><D1A1><EFBFBD>ų<EFBFBD><C5B3>ض<EFBFBD><D8B6>ؼ<EFBFBD>
var
i: Integer;
AControl: TControl;
ATextEdit: TcxTextEdit;
begin
for i := 0 to AParent.ControlCount - 1 do
begin
AControl := AParent.Controls[i];
if (AControl is TcxTextEdit) and ((AControl as TcxTextEdit).Text = '') then
begin
ATextEdit := AControl as TcxTextEdit;
if (ATextEdit.Hint = AHint) and (ATextEdit <> AExclude) then
ATextEdit.Text := AValue;
end;
end;
end;
procedure TfrmDyeSimpleTechnicsKaiKa.ClearAllTextEditsByHint(AParent: TWinControl; const AHint: string; AExclude: TcxTextEdit = nil);
var
i: Integer;
AControl: TControl;
begin
for i := 0 to AParent.ControlCount - 1 do
begin
AControl := AParent.Controls[i];
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD> TcxTextEdit<69><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Hint ƥ<><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ų<EFBFBD><C5B3>Ŀؼ<C4BF>
if (AControl is TcxTextEdit) and (TcxTextEdit(AControl).Hint = AHint) and (TcxTextEdit(AControl) <> AExclude) then
begin
TcxTextEdit(AControl).Text := ''; // ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
end;
end;
end;
function TfrmDyeSimpleTechnicsKaiKa.FindLastEditedTextEdit(AParent: TWinControl; const AHint: string): string;
var
i, j: Integer;
AControl: TControl;
SortedControls: TList;
TempControl: TControl;
begin
Result := '';
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ӿؼ<D3BF><D8BC><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7>ؿ<EFBFBD>
if AParent.ControlCount = 0 then
Exit;
// ʹ<><CAB9> TList <20><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݾɰ<DDBE> Delphi<68><69>
SortedControls := TList.Create;
try
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿؼ<D3BF><D8BC><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>б<EFBFBD>
for i := 0 to AParent.ControlCount - 1 do
SortedControls.Add(AParent.Controls[i]);
// <20>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>򣺰<EFBFBD> Top<6F><70>Y<EFBFBD><59><EFBFBD><EFBFBD><EAA3A9> Left<66><74>X<EFBFBD><58><EFBFBD><EFBFBD><EAA3A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for i := 0 to SortedControls.Count - 1 do
begin
for j := i + 1 to SortedControls.Count - 1 do
begin
// <20>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD> Top <20><> Left
if (TControl(SortedControls[i]).Top > TControl(SortedControls[j]).Top) or ((TControl(SortedControls[i]).Top = TControl(SortedControls[j]).Top) and (TControl(SortedControls[i]).Left > TControl(SortedControls[j]).Left)) then
begin
// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
TempControl := TControl(SortedControls[i]);
SortedControls[i] := SortedControls[j];
SortedControls[j] := TempControl;
end;
end;
end;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀؼ<C4BF>
for i := 0 to SortedControls.Count - 1 do
begin
AControl := TControl(SortedControls[i]);
if (AControl is TcxTextEdit) and (TcxTextEdit(AControl).Hint = AHint) and (TcxTextEdit(AControl).Text <> '') then
begin
Result := TcxTextEdit(AControl).Text; // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļᱻ<C4BB><E1B1BB><EFBFBD><EFBFBD>
end;
end;
finally
SortedControls.Free;
end;
end;
function TfrmDyeSimpleTechnicsKaiKa.GetNextFrameTop: Integer;
var
i: Integer;
Ctrl: TControl;
MaxBottom: Integer;
begin
MaxBottom := 0;
// <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>κοؼ<CEBF><D8BC><EFBFBD><EFBFBD><EFBFBD> 0 <20><>ʼ
if ScrollBox1.ControlCount = 1 then
begin
Result := 0;
Exit;
end;
for i := 0 to ScrollBox1.ControlCount - 1 do
begin
Ctrl := ScrollBox1.Controls[i];
if (Ctrl is TFrame) and Ctrl.Visible then
begin
// <20><><EFBFBD>㵱ǰ frame <20>ĵײ<C4B5>λ<EFBFBD><CEBB>
var BottomPos := Ctrl.Top + Ctrl.Height;
if BottomPos > MaxBottom then
MaxBottom := BottomPos;
end;
end;
// <20><><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
Result := MaxBottom + 5;
end;
end.