📄 uneumt.pas
字号:
unit UnEumt;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ToolWin, Grids, DBGrids, DB,
ExtCtrls,ADODB, ImgList, Menus,strutils;
type
TFindEmun=Procedure (EupetNNo:string);
TCopyItem=Record
Level:integer;
index:integer;
end;
TCMsr=Record
EupetNNo,
NPartNo,
MsrNNo:string;
MsrNo:integer;
MsrName,
MsrItem,
DWV,
UWV:string;
end;
TEumt_Frm = class(TForm)
TrV: TTreeView;
Page1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Panel1: TPanel;
Label3: TLabel;
Label19: TLabel;
Edit3: TEdit;
Edit19: TEdit;
DS1: TDataSource;
DBGrid1: TDBGrid;
Panel2: TPanel;
Label1: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit4: TEdit;
DBGrid2: TDBGrid;
Panel3: TPanel;
Label16: TLabel;
Edit16: TEdit;
ToolBar3: TToolBar;
TbnCpadd: TToolButton;
TbnCpedt: TToolButton;
TbnCpview: TToolButton;
TbnCpdel: TToolButton;
TbnCpcancel: TToolButton;
TbnCpsave: TToolButton;
TbnCpExit: TToolButton;
DS2: TDataSource;
DBGrid3: TDBGrid;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit1: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
ComboBox1: TComboBox;
TbnCpFirst: TToolButton;
ToolBar2: TToolBar;
Tbnadd: TToolButton;
Tbnedt: TToolButton;
Tbnview: TToolButton;
Tbndel: TToolButton;
Tbncel: TToolButton;
Tbnsv: TToolButton;
TbnFirst: TToolButton;
TbnPrior: TToolButton;
TbnNext: TToolButton;
TbnLast: TToolButton;
TbnExit: TToolButton;
ToolBar1: TToolBar;
TbnEmAdd: TToolButton;
TbnEmEdit: TToolButton;
TbnEmView: TToolButton;
TbnEmDel: TToolButton;
TbnEmCancel: TToolButton;
TbnEmSave: TToolButton;
TbnEmFirst: TToolButton;
TbnEmPrior: TToolButton;
TbnEmNext: TToolButton;
TbnEmLast: TToolButton;
TbnEmExit: TToolButton;
TbnCpPrior: TToolButton;
TbnCpNext: TToolButton;
TbnCpLast: TToolButton;
DS3: TDataSource;
ImageList1: TImageList;
ImageList2: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
Label12: TLabel;
Edit10: TEdit;
PopMsrNo: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label11: TLabel;
Edit11: TEdit;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N11: TMenuItem;
procedure TrVClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TbnEmAddClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TbnEmEditClick(Sender: TObject);
procedure TbnEmCancelClick(Sender: TObject);
procedure TbnEmSaveClick(Sender: TObject);
procedure TbnEmDelClick(Sender: TObject);
procedure TbnEmFirstClick(Sender: TObject);
procedure TbnEmPriorClick(Sender: TObject);
procedure TbnEmNextClick(Sender: TObject);
procedure TbnEmLastClick(Sender: TObject);
procedure TbnEmExitClick(Sender: TObject);
procedure TbnaddClick(Sender: TObject);
procedure TbnedtClick(Sender: TObject);
procedure TbncelClick(Sender: TObject);
procedure TbnsvClick(Sender: TObject);
procedure TbndelClick(Sender: TObject);
procedure TbnFirstClick(Sender: TObject);
procedure TbnPriorClick(Sender: TObject);
procedure TbnNextClick(Sender: TObject);
procedure TbnLastClick(Sender: TObject);
procedure TbnExitClick(Sender: TObject);
procedure TbnCpaddClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
procedure DBGrid1DblClick(Sender: TObject);
procedure DBGrid2CellClick(Column: TColumn);
procedure TbnCpedtClick(Sender: TObject);
procedure TbnCpcancelClick(Sender: TObject);
procedure TbnCpsaveClick(Sender: TObject);
procedure TbnCpFirstClick(Sender: TObject);
procedure TbnCpPriorClick(Sender: TObject);
procedure TbnCpNextClick(Sender: TObject);
procedure TbnCpLastClick(Sender: TObject);
procedure TbnCpdelClick(Sender: TObject);
procedure DBGrid3CellClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure TrVMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ComboBox1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure PopMsrNoPopup(Sender: TObject);
procedure TrVAddition(Sender: TObject; Node: TTreeNode);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
adoEumt: array[0..3] of TADOConnection;
CMsr:TCMsr;
Procedure CreaTreeEumt();
procedure CreaChectPoints();
Function ControlEdit():boolean;
procedure listrec(adotmp:TADOQuery);
procedure listPartrec(adotmp:TADOQuery);
procedure listPCrec(adotmp:TADOQuery);
procedure FindEumt(EupetNNo:string);
function QPartNo(EuperNno:string):integer;
function QMsrNNo(EuperNno,NPartNo:string):integer;
function QMsrNo:integer;
function ControlMsr():Boolean;
procedure FindPart();
procedure FindPc();
public
{ Public declarations }
end;
var
Eumt_Frm: TEumt_Frm;
implementation
uses Undm, UnPlan, UnFuntion, Math, StdConvs;
{$R *.dfm}
var
trvnod:integer=0;
CreaPc:Boolean;
Aitem:TCopyItem;
procedure TEumt_Frm.TrVClick(Sender: TObject);
begin
if TrV.Selected=nil then exit;
Tbncel.Click;
TbnCpcancel.Click;
TbnEmCancel.Click;
case trv.Selected.Level of
0:begin
page1.ActivePageIndex:=0;
//edit3.Text:=copy(trv.Selected.Text,pos(']',trv.Selected.Text)+2,length(trv.Selected.Text));
//edit19.Text:=copy(trv.Selected.Text,2,pos(']',trv.Selected.Text)-2);
dm.AQ2.Locate('EupetNno',TLabel(Trv.Selected.Data).Caption,[loPartialKey]);
listrec(DM.AQ2);
with DM.AQ3 do begin
Close;
SQL.Clear;
SQL.Text:='select * from T_part where EupetNno='+quotedstr(TLabel(Trv.Selected.Data).Caption)+' order by eupetnno,npartno';
Prepared:=True;
Open;
end;
// CreaChectPoints;
// if CreaPc then Exit; 是否建测点
with DM.AQ4 do begin
SQL.Clear;
SQL.Text:='select * from T_checkpt where EupetNno='+quotedstr(TLabel(Trv.Selected.Data).Caption)+' order by eupetnno,npartno,msrno';
Prepared:=True;
Open;
end;
listPCrec(dm.AQ4);
end;
1:begin
page1.ActivePageIndex:=1;
dm.AQ2.Locate('EupetNno',TLabel(Trv.Selected.Parent.Data).Caption,[loPartialKey]);
listrec(DM.AQ2);
with DM.AQ3 do
begin
if not DM.AQ3.Locate('NPartNo;EupetNno',
VarArrayOf([TLabel(Trv.Selected.Data).caption,
TLabel(Trv.Selected.Parent.Data).caption]),[loPartialKey]) then begin
Close;
SQL.Clear;
SQL.Text:='select * from T_part where EupetNno='+quotedstr(TLabel(Trv.Selected.Parent.Data).Caption)+' order by eupetnno,npartno';
Prepared:=True;
Open;
Locate('NPartNo',TLabel(Trv.Selected.Data).caption,[loPartialKey])
end;end;
listPartrec(dm.AQ3);
with DM.AQ4 do begin
SQL.Text:='select * from T_checkpt where EupetNno='+quotedstr(TLabel(Trv.Selected.Parent.Data).Caption)+' and Npartno='+quotedstr(TLabel(Trv.Selected.Data).caption)+' order by eupetnno,npartno,msrno';
Prepared:=True;
Open;
end;
listPCrec(dm.AQ4);
//TrV.Selected.Expanded:=true;
end;
2:begin
page1.ActivePageIndex:=2;
dm.AQ2.Locate('EupetNno',TLabel(Trv.Selected.Parent.Parent.Data).Caption,[loPartialKey]);
listrec(DM.AQ2);
with DM.AQ3 do
begin
if not DM.AQ3.Locate('NPartNo;EupetNno',
VarArrayOf([TLabel(Trv.Selected.Parent.Data).caption,
TLabel(Trv.Selected.Parent.Parent.Data).caption]),[loPartialKey]) then begin
Close;
SQL.Clear;
SQL.Text:='select * from T_part where EupetNno='+quotedstr(TLabel(Trv.Selected.Parent.Parent.Data).Caption)+' order by eupetnno,npartno';
Prepared:=True;
Open;
Locate('NPartNo',TLabel(Trv.Selected.Data).caption,[loPartialKey])
end;end;
listPartrec(dm.AQ3);
if not dm.AQ4.Locate('msrno',Tlabel(TrV.Selected.Data).Caption,[loPartialKey]) then
begin
dm.AQ4.SQL.Text:='select * from T_checkpt where EupetNno='+quotedstr(TLabel(Trv.Selected.Parent.Parent.Data).Caption)+' and Npartno='+quotedstr(TLabel(Trv.Selected.Parent.Data).Caption)+' order by eupetnno,npartno,msrno';
dm.AQ4.Prepared:=True;
dm.AQ4.Open;
dm.AQ4.Locate('msrno',Tlabel(TrV.Selected.Data).Caption,[loPartialKey])
end;
listPCrec(dm.AQ4);
end;
end;
end;
procedure TEumt_Frm.FormShow(Sender: TObject);
begin
TbnEmCancel.Click;
TbnCpcancel.Click;
Tbncel.Click;
if trv.Items.Count>0 then trv.Selected:=trv.Items[0];
TrVClick(TrV);
end;
procedure TEumt_Frm.CreaTreeEumt;
var
nod,subnod,subsubnod:TTreeNode;
ado_tmp,ado_tmp1,ado_tmp2:TADOQuery;
lab:TLabel;
trvcount:integer;
begin
TrV.Items.Clear;
trvcount:=0;
Screen.Cursor:=crHourGlass;
ado_tmp:=TADOQuery.Create(self);
ado_tmp1:=TADOQuery.Create(self);
ado_tmp2:=TADOQuery.Create(self);
ado_tmp.Connection:=DM.AdoConn;
ado_tmp1.Connection:=DM.AdoConn;
ado_tmp2.Connection:=DM.AdoConn;
with ado_tmp do
begin
SQL.Clear;
SQL.Text:='Select * from t_eupet order by eupetnno';
Prepared:=True;
Open;
while not Eof do
begin
nod:=Trv.Items.AddChild(nil,'['+fieldbyname('eupetno').AsString+']-'+fieldbyname('eupetname').AsString);
nod.ImageIndex:=0;nod.SelectedIndex:=0;
lab:=TLabel.Create(nil); inc(trvcount);
lab.Tag:=trvcount;
lab.Caption:=fieldbyname('eupetnno').AsString;
nod.Data:=lab;
with ado_tmp1 do begin
sql.Clear;
sql.Text:='select * from T_part where EupetNNo='+quotedstr(ado_tmp.fieldbyname('eupetnno').AsString)+'order by eupetnno,npartno';
Prepared:=True;
Open;
while not Eof do
begin
Application.ProcessMessages;
subnod:=Trv.Items.AddChild(nod,'['+fieldbyname('PartNo').AsString+']-'+fieldbyname('PartName').AsString);
lab:=TLabel.Create(nil);lab.Caption:=fieldbyname('NPartNo').AsString;
inc(trvcount);lab.Tag:=trvcount;
subnod.Data:=lab;
subnod.ImageIndex:=1;subnod.SelectedIndex:=1;
with ado_tmp2 do begin
sql.Clear;
SQL.Text:='select * from T_checkpt where eupetnno='+quotedstr(TLabel(nod.Data).Caption)+' and NpartNo='+quotedstr(TLabel(subnod.Data).Caption)+' order by eupetnno,npartno,msrno';
Prepared:=True;
Open;
while not eof do
begin
Application.ProcessMessages;
subsubnod:=TrV.Items.AddChild(subnod,'['+fieldbyname('Msrno').AsString+']-'+fieldbyname('Msrname').AsString);
lab:=TLabel.Create(nil); inc(trvcount);
lab.Caption:=fieldbyname('msrno').AsString;
lab.Tag:=trvcount;
subsubnod.Data:=lab; subsubnod.ImageIndex:=2;subsubnod.SelectedIndex:=2;
Next;
end;
end;
Next;
end;
end;
Next;
end;
end;
ado_tmp.Free;
ado_tmp1.Free;
Screen.Cursor:=crDefault;
end;
procedure TEumt_Frm.FormCreate(Sender: TObject);
begin
CreaPc:=False;
//抄表
//液位
CreaTreeEumt; top:=5;Left:=20;Height:=579;Width:=920;
adoEumt[0]:=TADOConnection.Create(self); adoEumt[0].LoginPrompt:=False;
adoEumt[1]:=TADOConnection.Create(self); adoEumt[1].LoginPrompt:=False;
adoEumt[2]:=TADOConnection.Create(self); adoEumt[2].LoginPrompt:=False;
adoeumt[0].ConnectionString:=Connstr;
adoeumt[1].ConnectionString:=Connstr;
adoeumt[2].ConnectionString:=Connstr;
adoEumt[0].Connected:=True;
adoEumt[1].Connected:=True;
adoEumt[2].Connected:=True;
with DM.AQ2 do
begin
Connection:=adoEumt[0];
Close;SQL.Text:='';
SQL.Text:='Select * from T_Eupet order by eupetnno';
Prepared:=True;
Open;
end;
with DM.AQ3 do
begin
Connection:=adoEumt[1];
Close;SQL.Text:='';
SQL.Text:='Select * from T_Part';
Prepared:=True;
Open;
end;
with DM.AQ4 do
begin
Connection:=adoEumt[2];
Close;SQL.Text:='';
SQL.Text:='Select * from T_CheckPt';
Prepared:=True;
Open;
end;
end;
procedure TEumt_Frm.TbnEmAddClick(Sender: TObject);
begin
adoeumt[0].BeginTrans;
DBGrid1.Enabled:=False;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -