⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reschildfrm.pas

📁 制造技术资源管理的一个模块
💻 PAS
📖 第 1 页 / 共 5 页
字号:
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 + -