📄 reschildfrm.pas
字号:
unit ResChildFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Wwdatsrc, Grids, Wwdbigrd, Wwdbgrid, ComCtrls, ToolWin,
wwSpeedButton, wwDBNavigator, wwclearpanel, ExtCtrls, DBClient, StdCtrls, Data,
Menus, Buttons,ComObj,FileCtrl;
type
TResChild = class(TForm)
dsResQuery: TwwDataSource;
cdsResQuery: TClientDataSet;
cdsFields: TClientDataSet;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
Button3: TButton;
Button4: TButton;
PopupMenu1: TPopupMenu;
F1: TMenuItem;
S1: TMenuItem;
K1: TMenuItem;
U1: TMenuItem;
D1: TMenuItem;
A1: TMenuItem;
D2: TMenuItem;
Y1: TMenuItem;
N1: TMenuItem;
SaveDialog1: TSaveDialog;
Panel2: TPanel;
ToolBar1: TToolBar;
btnFiltered: TToolButton;
ckFindInHistory: TCheckBox;
ToolButton2: TToolButton;
Panel3: TPanel;
btnAppEquipHlp: TButton;
btnAppEquipCode: TButton;
wwDBGrid1: TwwDBGrid;
Button5: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
wwDBNavigator1: TwwDBNavigator;
wwDBNavigator1SaveBookmark: TwwNavButton;
wwDBNavigator1RestoreBookmark: TwwNavButton;
wwDBNavigator1Button: TwwNavButton;
wwDBNavigator1Button1: TwwNavButton;
wwDBNavigator1Button2: TwwNavButton;
wwDBNavigator1Button3: TwwNavButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure cdsResQueryAfterOpen(DataSet: TDataSet);
procedure wwDBGrid1CellChanged(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure cdsResQueryAfterScroll(DataSet: TDataSet);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure btnFilteredClick(Sender: TObject);
procedure wwDBGrid1TitleButtonClick(Sender: TObject;
AFieldName: String);
procedure btnAppEquipHlpClick(Sender: TObject);
Procedure CheckAppEquipPost;
procedure btnAppEquipCodeClick(Sender: TObject);
procedure wwDBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
procedure Button5Click(Sender: TObject);
procedure wwDBGrid1CalcTitleImage(Sender: TObject; Field: TField;
var TitleImageAttributes: TwwTitleImageAttributes);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
private
sHistoryCondition: String;
function TranslateDispLabel(TableName: String; DataSet: TDataSet): Boolean;
function FileExsist: Boolean;
public
TableName, FullSQL, LocalFileName, sFileField: String;
blnShowCanSearched, blnFileField: Boolean;
function GetFieldCCName(sDataSet, sField: String): String;
function GetFileName(s:String):String;
function RunQuery(SQL: String; OnlyCondition: Boolean=True): Boolean;
procedure Save;
procedure Find;
end;
implementation
uses ResDescFrm, ResQuery, Main, ShowFilesFrm, AppEquipHlp, AppEquipInput;
{$R *.DFM}
Procedure TResChild.CheckAppEquipPost;
var
s:string;
begin
with cdsResQuery do
begin
Screen.Cursor:=crHourGlass;
DisableControls;
s:=FieldByName('equipcode').AsString;
Filter:=Format('equipcode=''%s''',[s]);
Filtered:=True;
Screen.Cursor:=crDefault;
if RecordCount>1 then
begin
messagebox(Handle,'该工装编号已经存在' ,'工装编号校验',mb_ok or MB_ICONWARNING);
end
else
if RecordCount=1 then
begin
messagebox(Handle,'该工装编号有效','工装编号校验',mb_ok or MB_ICONINFORMATION);
end;
Filtered:=False;
locate('equipcode',s,[]);
EnableControls;
end;
end;
function TResChild.FileExsist:Boolean;
begin
Result:=False;
if TableName<>'' then
with dmRes.cdsFields do
begin
Active:=True;
if Locate('FSTRTABLENAME;FSTRFIELDTYPE',
VarArrayOf([TableName, 'File']),
[loCaseInsensitive])then
begin
sFileField:= FieldByName('FSTRFIELDNAME').AsString;
Result:=True;
end;
end;
end;
function TResChild.GetFileName(s:String):String;
var
i, j: Integer;
sResult: String;
begin
while Pos('.', S) > 0 do
begin
i:=Pos('.', S);
j:=Length(s);
s:= Copy(s, i+1, j-i);
sResult:= s;
end;
Result:=sResult;
end;
function TResChild.GetFieldCCName(sDataSet, sField: String): String;
begin
Result:= sField;
with dmRes.cdsFields do
begin
Active:=True;
if Locate( 'FSTRTABLENAME;FSTRFIELDNAME',
VarArrayOf([sDataSet, sField]),
[loCaseInsensitive] )
then
begin
if FieldByName('FBLNCANDISP').AsBoolean then
begin
if blnShowCanSearched=True then
begin
if FieldByName('FBLNCANSEARCHED').AsBoolean then
Result:= FieldByName('FSTRFIELDDESC').AsString else
Result:= '__HIDEN';
end
else
Result:= FieldByName('FSTRFIELDDESC').AsString ;
end
else
Result:= '__HIDEN';
end;
end;
end;
function TResChild.TranslateDispLabel(TableName: String; DataSet: TDataSet): Boolean;
var
i: Integer;
begin
for i:=0 to DataSet.Fields.Count-1 do
begin
if DataSet.Fields[i] is TDataSetField then
begin
DataSet.Fields[i].Visible := False;
Continue;
end;
DataSet.Fields[i].DisplayLabel:= GetFieldCCName(TableName, DataSet.Fields[i].FieldName);
if DataSet.Fields[i].DisplayLabel = '__HIDEN' then
DataSet.Fields[i].Visible := False
else
DataSet.Fields[i].Visible := True;
end;
Result:= True;
end;
procedure TResChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
procedure TResChild.FormShow(Sender: TObject);
var
s:String;
begin
s:=ResDesc.editTableName.Text;
//********新建专用工装**************
if UpperCase(s)=UpperCase('AppEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')or(MainForm.UserRightType='E')then
begin
btnAppEquipHlp.Visible:=True;
btnAppEquipCode.Visible:=True;
btnAppEquipHlp.caption:='编号规则';
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建专用工装复制信息**************
else
if UpperCase(s)=UpperCase('Appequipcopy') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')or(MainForm.UserRightType='E')then
begin
CheckBox1.Caption:='含新订货';
CheckBox2.Visible:=True;
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
CheckBox2.Visible:=False;
end;
end
//********新建工艺规程用专用工装**************
else
if UpperCase(s)=UpperCase('AppEquipList') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用借用工装**************
else
if UpperCase(s)=UpperCase('BowEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用通用工装**************
else
if UpperCase(s)=UpperCase('GenEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用标准工具**************
else
if UpperCase(s)=UpperCase('StaEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用工艺标准件**************
else
if UpperCase(s)=UpperCase('Sta2Equip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用辅助材料**************
else
if UpperCase(s)=UpperCase('fuzuEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用焊接材料**************
else
if UpperCase(s)=UpperCase('HJEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺规程用金属材料**************
else
if UpperCase(s)=UpperCase('JincaiEquip') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
end
//********新建工艺信息**************
else
if UpperCase(s)=UpperCase('routinfo') then
begin
if (MainForm.UserRightType='A') or(MainForm.UserRightType='C')then
begin
btnAppEquipHlp.Visible:=false;
btnAppEquipCode.Visible:=True;
end
else
begin
btnAppEquipCode.Visible:=False;
btnAppEquipHlp.Visible:=False;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -