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

📄 frmmainimpl.pas

📁 多媒体播放后台管理系统适用于各种字幕播放软件的后台管理,包括播放内容、时间、等级等的管理。
💻 PAS
字号:
unit FrmMainImpl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ToolWin, ComCtrls, Menus, SUIMainMenu, ImgList, ActnList, DB,
  ADODB, SUIButton, ExtCtrls, SUIForm, SUIPopupMenu, DBTables, MSNPopUp;

type
  TFrmMain = class(TForm)
    atlList: TActionList;
    imlAction: TImageList;
    actDeptMng: TAction;
    actUserMng: TAction;
    actNotice: TAction;
    actExit: TAction;
    actQryNotice: TAction;
    actModPswd: TAction;
    conMain: TADOConnection;
    qryPublic: TADOQuery;
    mnuMain: TsuiMainMenu;
    F1: TMenuItem;
    mu_System_Cxdl: TMenuItem;
    N16: TMenuItem;
    N18: TMenuItem;
    N17: TMenuItem;
    mu_Quit: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    N15: TMenuItem;
    LOGO1: TMenuItem;
    sfrMain: TsuiForm;
    imgSt: TImage;
    ToolBar1: TToolBar;
    suiImageButton1: TsuiImageButton;
    btnNotice: TsuiImageButton;
    btnQryNotice: TsuiImageButton;
    btnIdle: TsuiImageButton;
    suiImageButton2: TsuiImageButton;
    suiImageButton4: TsuiImageButton;
    btnModifyNotice: TsuiImageButton;
    actModifyNotice: TAction;
    mitModifyNotice: TMenuItem;
    btnAudit: TsuiImageButton;
    N1: TMenuItem;
    suiImageButton3: TsuiImageButton;
    suiImageButton5: TsuiImageButton;
    actAudit: TAction;
    N2: TMenuItem;
    actChgUser: TAction;
    mitChgUser: TMenuItem;
    tmrAudit: TTimer;
    mspAudit: TMSNPopUp;
    qryAudit: TQuery;
    procedure actDeptMngExecute(Sender: TObject);
    procedure actUserMngExecute(Sender: TObject);
    procedure actNoticeExecute(Sender: TObject);
    procedure actExitExecute(Sender: TObject);
    procedure actQryNoticeExecute(Sender: TObject);
    procedure actModPswdExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure actModifyNoticeExecute(Sender: TObject);
    procedure actAuditExecute(Sender: TObject);
    procedure actChgUserExecute(Sender: TObject);
    procedure tmrAuditTimer(Sender: TObject);
  private
    procedure WMSize(var Message: TWMSize); message WM_SIZE;
  public
    { Public declarations }
  end;

{
function lock(Key: string; Password: string): string; stdcall;
  far; external 'winprocd.dll' name 'lock';

function unlock(Key: string; Password: string): string; stdcall;
  far; external 'winprocd.dll' name 'unlock';}

const
  STATUS_INACTIVE = 0;
  STATUS_BROWSE = 1;
  STATUS_EDIT = 2;

var
  UserID, UserName, DeptID: string;
  IsAdmin: Boolean;
  FrmMain: TFrmMain;

implementation

uses FrmDeptMngImpl, FrmUserMngImpl, FrmNoticeImpl, FrmQryNoticeImpl, FrmModPswdImpl;
{$R *.dfm}

{ TFrmMain }

procedure TFrmMain.WMSize(var Message: TWMSize);
begin
{  if (Message.SizeType = SIZEFULLSCREEN) then
  begin
    ClientHeight := clbMain.Top + clbMain.Height;
  end;

  inherited;}
end;

procedure TFrmMain.actDeptMngExecute(Sender: TObject);
var
  objForm: TFrmDeptMng;
begin
  objForm := TFrmDeptMng.Create(Application);
  objForm.ShowModal;
  FreeAndNil(objForm);
end;

procedure TFrmMain.actUserMngExecute(Sender: TObject);
var
  objForm: TFrmUserMng;
begin
  objForm := TFrmUserMng.Create(Application);
  objForm.ShowModal;
  FreeAndNil(objForm);
end;

procedure TFrmMain.actNoticeExecute(Sender: TObject);
var
  objForm: TFrmNotice;
begin
  objForm := TFrmNotice.Create(Application);
  objForm.strCurOper := 'ADD';
  objForm.ShowModal;
  FreeAndNil(objForm);
end;

procedure TFrmMain.actExitExecute(Sender: TObject);
begin
  Close;
end;

procedure TFrmMain.actQryNoticeExecute(Sender: TObject);
var
  objForm: TFrmQryNotice;
begin
  objForm := TFrmQryNotice.Create(Application);
  objForm.ShowModal;
  FreeAndNil(objForm);
end;

procedure TFrmMain.actModPswdExecute(Sender: TObject);
var
  objForm: TFrmModPswd;
begin
  objForm := TFrmModPswd.Create(Application);
  objForm.ShowModal;
  FreeAndNil(objForm);
end;

procedure TFrmMain.FormShow(Sender: TObject);
begin
  if (not conMain.Connected) then
    conMain.Open;

  qryPublic.Close;
  qryPublic.SQL.Clear;
  qryPublic.SQL.Add('select if_admin,if_bcn,if_mdn,if_qrn from t_sys_user where user_id=' + QuotedStr(UserID));
  qryPublic.Open;
  if (UpperCase(qryPublic.FieldByName('if_admin').AsString) = 'T') or (UserID = 'SA') then
  begin
    IsAdmin := True;

    actDeptMng.Enabled := True;
    actUserMng.Enabled := True;
    actAudit.Enabled := True;
    tmrAudit.Enabled := True;
  end
  else begin
    IsAdmin := False;

    actDeptMng.Enabled := False;
    actUserMng.Enabled := False;
    actAudit.Enabled := False;
    tmrAudit.Enabled := False;
  end;

  if (UserID = 'SA') then
    actModPswd.Enabled := False
  else
    actModPswd.Enabled := True;

  if (UpperCase(qryPublic.FieldByName('if_bcn').AsString) = 'T') or (UserID = 'SA') then
    actNotice.Enabled := True
  else
    actNotice.Enabled := False;

  if (UpperCase(qryPublic.FieldByName('if_mdn').AsString) = 'T') or (UserID = 'SA') then
    actModifyNotice.Enabled := True
  else
    actModifyNotice.Enabled := False;

  if (UpperCase(qryPublic.FieldByName('if_qrn').AsString) = 'T') or (UserID = 'SA') then
    actQryNotice.Enabled := True
  else
    actQryNotice.Enabled := False;
end;

procedure TFrmMain.actModifyNoticeExecute(Sender: TObject);
var
  objForm: TFrmNotice;
begin
  qryPublic.Close;
  qryPublic.SQL.Clear;
  qryPublic.SQL.Add('SELECT * FROM T_NOTICE WHERE (STATUS=''P'' or STATUS=''A'')');
  qryPublic.Open;
  if (qryPublic.RecordCount > 0) then
  begin
    objForm := TFrmNotice.Create(Application);
    objForm.strCurOper := 'MOD';
    objForm.ShowModal;
    FreeAndNil(objForm);
  end
  else begin
    ShowMessage('没有要修改的通知!');
  end;
end;

procedure TFrmMain.actAuditExecute(Sender: TObject);
var
  objForm: TFrmNotice;
begin
  qryPublic.Close;
  qryPublic.SQL.Clear;
  qryPublic.SQL.Add('SELECT * FROM T_NOTICE WHERE STATUS=''P'' and grade=''紧急通知'' and UNIT_ID=' + QuotedStr(DeptID));
  qryPublic.Open;
  if (qryPublic.RecordCount > 0) then
  begin
    objForm := TFrmNotice.Create(Application);
    objForm.strCurOper := 'AUD';
    objForm.ShowModal;
    FreeAndNil(objForm);
  end
  else begin
    ShowMessage('没有要审批的通知!');
  end;
end;

procedure TFrmMain.actChgUserExecute(Sender: TObject);
begin
  Close;
  WinExec(PChar(Application.ExeName), SW_NORMAL);
end;

procedure TFrmMain.tmrAuditTimer(Sender: TObject);
begin
  (Sender as TTimer).Enabled := False;
  with qryAudit do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT count(*) RecordsNum FROM T_NOTICE WHERE STATUS=''P'' and grade=''紧急通知'' and UNIT_ID=' + QuotedStr(DeptID));
    Open;
    if (FieldByName('RecordsNum').AsInteger  > 0) then
    begin
      mspAudit.Text := '有"' + IntToStr(FieldByName('RecordsNum').AsInteger) + '"条紧急通知,请审批!';
      Beep;
      mspAudit.ShowPopup;
    end;
    Close;
  end;
  (Sender as TTimer).Enabled := True;
end;

end.

⌨️ 快捷键说明

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