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

📄 rgtfunctionmaintainfrmmain.pas

📁 一个不错的源程序DELPHI开发的,功能比较好的客户管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
//------------------------------------------------------------
//      作者:曾庆顺
//      模块:系统功能设置窗口
//      时间:2002.09.20
//      功能介绍:
//-----------------------------------------------------------
unit RgtFunctionMaintainFrmMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, TFlatButtonUnit, Grids, DBGrids, Db,
  DBTables;

type
  TRgtFunctionMaintainMain = class(TForm)
    Panel1: TPanel;
    FlatButton1: TFlatButton;
    Label9: TLabel;
    Label3: TLabel;
    EdtFuncSerialIdQueryFrom: TEdit;
    EdtFuncSerialIdQueryTo: TEdit;
    Label1: TLabel;
    EdtFuncNameQuery: TEdit;
    GroupBox2: TGroupBox;
    Label21: TLabel;
    Label22: TLabel;
    EdtFormCaptionQuery: TEdit;
    EdtControlCaptionQuery: TEdit;
    SbSysFormCtrlListQuery: TBitBtn;
    Label8: TLabel;
    CmbControlTypeQuery: TComboBox;
    Label20: TLabel;
    EdtExtraQuery: TEdit;
    Panel2: TPanel;
    DbgPrivFunction: TDBGrid;
    Splitter2: TSplitter;
    Panel3: TPanel;
    Label12: TLabel;
    Label15: TLabel;
    EdtFuncSerialIdEditing: TEdit;
    EdtFuncNameEditing: TEdit;
    Label11: TLabel;
    Label19: TLabel;
    CmbControlTypeEditing: TComboBox;
    EdtExtraEditing: TEdit;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label4: TLabel;
    EdtFormCaptionEditing: TEdit;
    EdtControlCaptionEditing: TEdit;
    SbSysFormCtrlListEditing: TBitBtn;
    Pal_button: TPanel;
    BitBtnAdd: TFlatButton;
    BitBtnAlter: TFlatButton;
    BitBtnDel: TFlatButton;
    BitBtnSave: TFlatButton;
    BitBtnCancel: TFlatButton;
    BitBtnClose: TFlatButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    Qry_Edit: TQuery;
    Query2: TQuery;
    UpdateSQL1: TUpdateSQL;
    procedure FlatButton1Click(Sender: TObject);
    procedure SbSysFormCtrlListQueryClick(Sender: TObject);
    procedure SbSysFormCtrlListEditingClick(Sender: TObject);
    procedure EdtFuncSerialIdQueryFromKeyPress(Sender: TObject;
      var Key: Char);
    procedure EdtFuncSerialIdQueryToKeyPress(Sender: TObject;
      var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure BitBtnCloseClick(Sender: TObject);
    procedure BitBtnCancelClick(Sender: TObject);
    procedure BitBtnDelClick(Sender: TObject);
    procedure BitBtnAddClick(Sender: TObject);
    procedure BitBtnAlterClick(Sender: TObject);
    procedure BitBtnSaveClick(Sender: TObject);
  private
    { Private declarations }
    P_Insert,P_edit :boolean;
    P_CurrentCode :string;
    P_QueryFORMNAME,P_QueryCONTROLNAME,P_FORMNAME,P_CONTROLNAME :string;
    procedure ProcSetButton(I_Panel:TPanel;I_flag :string);

  public
    { Public declarations }
  end;

var
  RgtFunctionMaintainMain: TRgtFunctionMaintainMain;

implementation
uses dmmain,RgtSelectFormCtrlFrmSelect,unit_public;
{$R *.DFM}

procedure TRgtFunctionMaintainMain.FlatButton1Click(Sender: TObject);
var
  P_Filter ,V_SControlType:String;
begin
  screen.Cursor :=crHourGlass;
  query1.close;
  P_Filter :='select * from PRIVFUNCTION where 1=1 ';
  if trim(EdtFuncSerialIdQueryFrom.Text) <>'' then
  P_Filter:=P_Filter +' and FUNCSERIALID>='+trim(EdtFuncSerialIdQueryFrom.Text);

  if trim(EdtFuncSerialIdQueryTo.Text)  <>'' then
  P_Filter:=P_Filter+' and FUNCSERIALID<='+trim(EdtFuncSerialIdQueryTo.Text);

  if EdtFuncNameQuery.Text<>'' then
  P_Filter:=P_Filter+' and FUNCNAME Like '+#39+EdtFuncNameQuery.text+#39;
  
  if (trim(EdtFormCaptionQuery.Text)<>'') or (trim(EdtControlCaptionQuery.Text)<>'') then
  begin
    if (trim(EdtFormCaptionQuery.Text)<>'') and (trim(EdtControlCaptionQuery.Text)<>'') then
    P_Filter:=P_Filter+' and FUNCID like '+#39+P_QueryFORMNAME
              +'.'+P_QueryCONTROLNAME+#39
    else
      begin
        if (trim(EdtFormCaptionQuery.Text)<>'') then
        P_Filter:=P_Filter+' and FUNCID like '+#39+P_QueryFORMNAME+'.%'+#39;
        if (trim(EdtControlCaptionQuery.Text)<>'') then
        P_Filter:=P_Filter+' and FUNCID like '+#39+'%.'+P_QueryCONTROLNAME+#39;
      end;
  end;
   
  if EdtExtraQuery.Text<>'' then
  P_Filter:=P_Filter+' and EXTRA like '+#39+EdtExtraQuery.text+#39;

  if CmbControlTypeQuery.text<>'' then
  begin
    If CmbControlTypeQuery.Text='看不见' then
      V_SControlType:='INVISIBLE';

    If CmbControlTypeQuery.Text='看得见' then
      V_SControlType:='VISIBLE';

    If CmbControlTypeQuery.Text='可编辑' then
      V_SControlType:='ENABLED';

    If CmbControlTypeQuery.Text='不可编辑' then
      V_SControlType:='DISABLED';

    P_Filter:=P_Filter+' and CONTROLTYPE='+#39+V_SControlType+#39;
  end;

  query1.sql.text :=P_Filter;
  query1.open;
  If query1.Bof and query1.eof then
  begin
    Query1.AfterScroll(nil);
    MessageDlg('没有查找到记录!',mtInformation,[mbok],0);
    screen.Cursor :=crDefault;
  end;

  screen.Cursor :=crDefault;
end;

procedure TRgtFunctionMaintainMain.SbSysFormCtrlListQueryClick(
  Sender: TObject);
var
  FormCtrlSelect :TRgtSelectFormCtrlSelect;
begin
  FormCtrlSelect :=nil;
  Try
    FormCtrlSelect:=TRgtSelectFormCtrlSelect.create(self);
    FormCtrlSelect.ShowModal;
    P_QueryFORMNAME :=FormCtrlSelect.P_FORMNAME;
    EdtFormCaptionQuery.Text :=FormCtrlSelect.P_QueryFORMNAME;
    P_QueryCONTROLNAME :=FormCtrlSelect.P_CONTROLNAME;
    EdtControlCaptionQuery.Text :=FormCtrlSelect.P_QueryCONTROLNAME;
  Finally
    FormCtrlSelect.Free;
  end;
end;

procedure TRgtFunctionMaintainMain.SbSysFormCtrlListEditingClick(
  Sender: TObject);
var
  FormCtrlSelect :TRgtSelectFormCtrlSelect;
begin
  FormCtrlSelect :=nil;
  Try
    FormCtrlSelect:=TRgtSelectFormCtrlSelect.create(self);
    FormCtrlSelect.ShowModal;
    P_FORMNAME :=FormCtrlSelect.P_FORMNAME;
    EdtFormCaptionEditing.Text :=FormCtrlSelect.P_QueryFORMNAME;
    P_CONTROLNAME :=FormCtrlSelect.P_CONTROLNAME;
    EdtControlCaptionEditing.Text :=FormCtrlSelect.P_QueryCONTROLNAME;
  Finally
    FormCtrlSelect.Free;
  end;
end;

procedure TRgtFunctionMaintainMain.EdtFuncSerialIdQueryFromKeyPress(
  Sender: TObject; var Key: Char);
begin
  If not (Key in ['0'..'9',#8,#13]) then
    Key:=#0;
end;

procedure TRgtFunctionMaintainMain.EdtFuncSerialIdQueryToKeyPress(
  Sender: TObject; var Key: Char);
begin
  If not (Key in ['0'..'9',#8,#13]) then
    Key:=#0;
end;

procedure TRgtFunctionMaintainMain.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action :=cafree;
end;

procedure TRgtFunctionMaintainMain.FormShow(Sender: TObject);
begin
  Query1.close;
  Query1.sql.text :=' select * from PRIVFUNCTION where FUNCSERIALID is null '; 
  query1.open;
  Query1.AfterScroll(nil);
  P_Insert :=false;
  P_edit :=false;
  BitBtnSave.Enabled :=false;
  CmbControlTypeEditing.ItemIndex :=0;
end;

procedure TRgtFunctionMaintainMain.Query1AfterScroll(DataSet: TDataSet);
var
  str,V_ControlType :string;
  i :integer;
begin
  if P_edit then exit;
  str :=Query1.FieldByName('FUNCID').AsString;
  i :=pos('.',str);
  P_FORMNAME :=copy(str,1,i-1);
  P_CONTROLNAME :=copy(str,i+1,length(str));
  //
  query2.close;
  query2.sql.text :='select FORMCAPTION,CONTROLCAPTION from SYSFORMCTRLLIST'
  +' where FORMNAME='+#39+P_FORMNAME+#39
  +' and CONTROLNAME='+#39+P_CONTROLNAME+#39;
  query2.open;
  EdtFormCaptionEditing.text :=Query2.FieldByName('FORMCAPTION').AsString;
  EdtControlCaptionEditing.Text :=Query2.FieldByName('CONTROLCAPTION').AsString;
  If Query1.FieldByName('CONTROLTYPE').AsString='INVISIBLE' then
    V_ControlType:='看不见';

  If Query1.FieldByName('CONTROLTYPE').AsString='VISIBLE' then
    V_ControlType:='看得见';

  If Query1.FieldByName('CONTROLTYPE').AsString='ENABLED' then
    V_ControlType:='可编辑';

  If Query1.FieldByName('CONTROLTYPE').AsString='DISABLED' then

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -