亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? frmusermngimpl.pas

?? 多媒體播放后臺管理系統適用于各種字幕播放軟件的后臺管理,包括播放內容、時間、等級等的管理。
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit FrmUserMngImpl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh, ComCtrls, ToolWin, DB, ADODB, Provider,
  DBClient, ImgList, ActnList, StdCtrls, Mask, DBCtrls, FrmMainImpl, Temp,
  DBCtrlsEh, ExtCtrls, SUIForm;

type
  TFrmUserMng = class(TForm)
    sfrMain: TsuiForm;
    imgSt: TImage;
    atlAtions: TActionList;
    actNew: TAction;
    actSave: TAction;
    actCancel: TAction;
    actFirst: TAction;
    actPrior: TAction;
    actNext: TAction;
    actLast: TAction;
    actDelete: TAction;
    actClose: TAction;
    imlAction: TImageList;
    dtsMain: TDataSource;
    cdsMain: TClientDataSet;
    cdsMainUSER_ID: TWideStringField;
    cdsMainUSER_NAME: TWideStringField;
    cdsMainUSER_PSWD: TWideStringField;
    cdsMainUNIT_ID: TWideStringField;
    pvdMain: TDataSetProvider;
    qryMain: TADOQuery;
    conMain: TADOConnection;
    qryPublic: TADOQuery;
    lblUserName: TLabel;
    lblUnitID: TLabel;
    clbMain: TCoolBar;
    tlbStandard: TToolBar;
    btnNew: TToolButton;
    btnSep1: TToolButton;
    btnSave: TToolButton;
    btnCancel: TToolButton;
    btnSep2: TToolButton;
    btnFirst: TToolButton;
    btnPrior: TToolButton;
    btnNext: TToolButton;
    btnLast: TToolButton;
    btnSep4: TToolButton;
    btnDelete: TToolButton;
    btnSep6: TToolButton;
    btnClose: TToolButton;
    edtUserName: TDBEdit;
    cmbUnitID: TDBComboBoxEh;
    cdsMainENSURE_PSWD: TWideStringField;
    lblUserPswd: TLabel;
    edtUserPswd: TDBEdit;
    lblEnsurePswd: TLabel;
    edtEnsurePswd: TDBEdit;
    grdMain: TDBGridEh;
    grpMain: TGroupBox;
    chkSA: TDBCheckBox;
    chkBCN: TDBCheckBox;
    chkMDN: TDBCheckBox;
    chkQRN: TDBCheckBox;
    cmdPublic: TADOCommand;
    cdsMainIF_ADMIN: TBooleanField;
    cdsMainIF_BCN: TBooleanField;
    cdsMainIF_MDN: TBooleanField;
    cdsMainIF_QRN: TBooleanField;
    procedure FormCreate(Sender: TObject);
    procedure actFirstExecute(Sender: TObject);
    procedure actPriorExecute(Sender: TObject);
    procedure actNextExecute(Sender: TObject);
    procedure actLastExecute(Sender: TObject);
    procedure actNewExecute(Sender: TObject);
    procedure actSaveExecute(Sender: TObject);
    procedure actCancelExecute(Sender: TObject);
    procedure actDeleteExecute(Sender: TObject);
    procedure actCloseExecute(Sender: TObject);
    procedure cdsMainBeforeDelete(DataSet: TDataSet);
    procedure cdsMainAfterOpen(DataSet: TDataSet);
    procedure cdsMainAfterClose(DataSet: TDataSet);
    procedure cdsMainAfterInsert(DataSet: TDataSet);
    procedure cdsMainAfterScroll(DataSet: TDataSet);
    procedure cdsMainAfterDelete(DataSet: TDataSet);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cdsMainBeforePost(DataSet: TDataSet);
    procedure FormDestroy(Sender: TObject);
    procedure dtsMainStateChange(Sender: TObject);
    procedure pvdMainBeforeUpdateRecord(Sender: TObject;
      SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
      UpdateKind: TUpdateKind; var Applied: Boolean);
  private
    { Private declarations }
  protected
    FStatus: Integer;
    FModified: Boolean;
    procedure ShowActionStatus; virtual;
    function GetDeleteConfirmMessage(): string; virtual;

    function GetDocCanModify(): Boolean; virtual;
    function GetDocCanDelete(): Boolean; virtual;
    function GetDocCanCancel(): Boolean; virtual;
  public
    property DocCanModify: Boolean read GetDocCanModify;
    property DocCanDelete: Boolean read GetDocCanDelete;
    property DocCanCancel: Boolean read GetDocCanCancel;
  end;

var
  FrmUserMng: TFrmUserMng;

implementation

{$R *.dfm}

procedure TFrmUserMng.FormCreate(Sender: TObject);
begin
  FStatus := STATUS_INACTIVE;
end;

procedure TFrmUserMng.ShowActionStatus;
begin
  if (FStatus = STATUS_BROWSE) and ((cdsMain.State = dsInsert) or (cdsMain.State = dsEdit)) then
    FStatus := STATUS_EDIT;

  case FStatus of
    STATUS_INACTIVE:
    begin
      actNew.Enabled := False;
      actSave.Enabled := False;
      actCancel.Enabled := False;
      actFirst.Enabled := False;
      actPrior.Enabled := False;
      actNext.Enabled := False;
      actLast.Enabled := False;
      actDelete.Enabled := False;
    end;

    STATUS_BROWSE:
    begin
      actNew.Enabled := True;
      actSave.Enabled := False;
      actCancel.Enabled := False;
      actFirst.Enabled := dtsMain.DataSet.RecNo > 1;
      actPrior.Enabled := actFirst.Enabled;
      actNext.Enabled := (dtsMain.DataSet.RecordCount > 0)
        and (dtsMain.DataSet.RecNo < dtsMain.DataSet.RecordCount);
      actLast.Enabled := actNext.Enabled;
      actDelete.Enabled := DocCanDelete;
      (TClientDataSet(dtsMain.DataSet)).ReadOnly := False or (not DocCanModify) or
        (dtsMain.DataSet.RecordCount = 0);
    end;

    STATUS_EDIT:
    begin
      actNew.Enabled := False;
      actSave.Enabled := True;
      actCancel.Enabled := True;
      actFirst.Enabled := False;
      actPrior.Enabled := False;
      actNext.Enabled := False;
      actLast.Enabled := False;
      actDelete.Enabled := dtsMain.DataSet.RecNo > 0;
    end;
  end;
end;

procedure TFrmUserMng.actFirstExecute(Sender: TObject);
begin
  cdsMain.First();
  ShowActionStatus();
end;

procedure TFrmUserMng.actPriorExecute(Sender: TObject);
begin
  cdsMain.Prior();
  ShowActionStatus();
end;

procedure TFrmUserMng.actNextExecute(Sender: TObject);
begin
  cdsMain.Next();
  ShowActionStatus();
end;

procedure TFrmUserMng.actLastExecute(Sender: TObject);
begin
  cdsMain.Last();
  ShowActionStatus();
end;

procedure TFrmUserMng.actNewExecute(Sender: TObject);
begin
  (TClientDataSet(dtsMain.DataSet)).ReadOnly := False;
  dtsMain.DataSet.Append;
  FStatus := STATUS_EDIT;
  FModified := True;
  if (Visible) then
    ShowActionStatus();
end;

procedure TFrmUserMng.actSaveExecute(Sender: TObject);
begin
  if (cdsMain.State = dsEdit) or (cdsMain.State = dsInsert) then
    cdsMain.Post();

  try
    Screen.Cursor := crHourGlass;

    if (cdsMain.ApplyUpdates(0) > 0) then
    begin
      ShowMessage('更新數據失敗。');
      Abort;
    end;

    cdsMain.MergeChangeLog;
    cdsMain.CancelUpdates;

    FStatus := STATUS_BROWSE;
    FModified := False;
    ShowActionStatus();

    Screen.Cursor := crDefault;
  except
    on E: Exception do
    begin
      Screen.Cursor := crDefault;
      ShowMessage(E.Message);
    end;
  end;
end;

procedure TFrmUserMng.actCancelExecute(Sender: TObject);
begin
  (TClientDataSet(dtsMain.DataSet)).CancelUpdates();
  FStatus := STATUS_BROWSE;
  FModified := False;
  ShowActionStatus();
end;

procedure TFrmUserMng.actDeleteExecute(Sender: TObject);
var
  boolReadOnly: Boolean;
begin
  dtsMain.DataSet.Delete;
  (TClientDataSet(dtsMain.DataSet)).ApplyUpdates(0);
  FStatus := STATUS_BROWSE;
  FModified := False;
  ShowActionStatus();
end;

procedure TFrmUserMng.actCloseExecute(Sender: TObject);
begin
  Close();
end;

procedure TFrmUserMng.cdsMainBeforeDelete(DataSet: TDataSet);
begin
  if (Application.MessageBox(PChar(GetDeleteConfirmMessage()),
    PChar(Caption), MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2) = ID_NO) then
    Abort;
end;

function TFrmUserMng.GetDeleteConfirmMessage: string;
begin
  result := '您確定要刪除當前記錄嗎?';
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清一区二区| 国产伦精品一区二区三区免费| 精品国产一区二区三区四区四 | 日韩精品电影在线观看| 欧美国产精品v| 久久精品免视看| 日韩精品一区二区三区在线观看| 欧美视频在线观看一区二区| 色国产综合视频| 99国产精品久久久久久久久久| 国产精品1区二区.| 成人综合日日夜夜| av一二三不卡影片| 色噜噜狠狠成人网p站| 色天使色偷偷av一区二区| 色偷偷成人一区二区三区91| 色系网站成人免费| 欧美日韩电影在线| 51久久夜色精品国产麻豆| 欧美二区在线观看| 26uuu欧美日本| 国产欧美一区二区三区在线看蜜臀| 久久亚洲一区二区三区明星换脸| 国产午夜精品一区二区三区视频 | 老司机午夜精品| 韩国av一区二区三区四区| 国产在线精品免费| 99麻豆久久久国产精品免费| 在线欧美一区二区| 日韩午夜电影在线观看| 国产欧美精品在线观看| 亚洲色图视频免费播放| 一级特黄大欧美久久久| 久久精品99久久久| 成人国产亚洲欧美成人综合网 | 亚洲欧美激情视频在线观看一区二区三区 | 国产精品午夜春色av| 亚洲另类在线制服丝袜| 免费看黄色91| 9久草视频在线视频精品| 欧美日韩一区在线| 久久综合av免费| 亚洲蜜臀av乱码久久精品蜜桃| 五月激情综合网| 粉嫩高潮美女一区二区三区| 在线精品观看国产| 久久九九99视频| 午夜精品久久久久久久久久久| 国产伦精品一区二区三区免费| 色综合天天综合网国产成人综合天| 久久综合九色综合97婷婷女人 | 中文字幕一区二区三区在线观看| 亚洲成人免费电影| 国产精品99久久久久| 777色狠狠一区二区三区| 国产精品国产三级国产普通话蜜臀 | 日本免费在线视频不卡一不卡二| 国产精品白丝av| 欧美色爱综合网| 久久久777精品电影网影网| 亚洲18色成人| 色哟哟精品一区| 久久久五月婷婷| 日精品一区二区| 色噜噜狠狠成人网p站| 国产日韩欧美综合一区| 青娱乐精品在线视频| 一本高清dvd不卡在线观看| 欧美国产综合一区二区| 美女高潮久久久| 欧美日韩一区二区欧美激情| 亚洲私人黄色宅男| 成人精品鲁一区一区二区| 日韩精品最新网址| 日本在线播放一区二区三区| 中文字幕电影一区| 精品一区二区在线免费观看| 在线不卡一区二区| 五月综合激情日本mⅴ| 欧美视频完全免费看| 亚洲综合偷拍欧美一区色| 色婷婷综合久久久中文字幕| 中文字幕人成不卡一区| 成人国产视频在线观看| 中文字幕乱码一区二区免费| 国产成人精品一区二区三区四区 | 麻豆国产欧美一区二区三区| 在线成人小视频| 日韩福利电影在线| 91精品欧美福利在线观看| 日韩电影一区二区三区| 日韩精品在线一区二区| 国产一区二区网址| 中文字幕精品三区| 99这里都是精品| ㊣最新国产の精品bt伙计久久| 成人不卡免费av| 最新国产の精品合集bt伙计| 一本色道久久综合亚洲精品按摩| 亚洲视频在线一区观看| 91国在线观看| 视频一区视频二区中文字幕| 日韩欧美高清一区| 国产99久久久久| 亚洲美女屁股眼交| 欧美久久高跟鞋激| 国产一区视频网站| 日韩理论在线观看| 亚洲人成电影网站色mp4| 日本高清不卡视频| 蜜桃91丨九色丨蝌蚪91桃色| 日本一区二区三区四区| 欧美伊人精品成人久久综合97| 日韩不卡一区二区三区| 国产无一区二区| 欧美在线免费观看视频| 久久99久久精品欧美| 亚洲欧美综合另类在线卡通| 欧美顶级少妇做爰| 成人免费视频app| 午夜在线电影亚洲一区| 久久精品这里都是精品| 欧美在线综合视频| 国内精品伊人久久久久av影院 | 99精品视频一区二区三区| 日韩激情视频网站| 中文字幕一区二区三区不卡在线| 欧美精品一卡二卡| 99精品国产99久久久久久白柏| 日韩精品成人一区二区在线| 国产精品视频一二三区| 日韩午夜在线观看视频| 在线视频国内自拍亚洲视频| 国产91丝袜在线播放九色| 日韩国产欧美在线视频| 亚洲欧美日韩中文字幕一区二区三区| 日韩免费观看2025年上映的电影| 日本福利一区二区| 成人免费高清视频| 久久99国产乱子伦精品免费| 亚洲福利视频一区二区| 一区在线播放视频| 国产欧美一区二区精品忘忧草 | 日本一道高清亚洲日美韩| 国产精品麻豆久久久| 久久这里都是精品| 欧美一区二区三区人| 欧美体内she精高潮| 91丝袜国产在线播放| 高清av一区二区| 国产高清久久久| 国产精品99久久久久久久女警| 奇米精品一区二区三区在线观看| 亚洲444eee在线观看| 亚洲自拍偷拍欧美| 亚洲国产综合视频在线观看| 亚洲精品日韩专区silk| 亚洲毛片av在线| 一区二区三区日韩欧美| 亚洲精品国产精品乱码不99| 亚洲码国产岛国毛片在线| 亚洲免费观看高清| 亚洲午夜成aⅴ人片| 亚洲高清三级视频| 亚洲超丰满肉感bbw| 日日摸夜夜添夜夜添国产精品| 午夜欧美视频在线观看| 水野朝阳av一区二区三区| 图片区小说区国产精品视频| 偷窥国产亚洲免费视频| 日本va欧美va瓶| 国产一区二区免费看| 国产91在线观看丝袜| 色综合天天综合色综合av| 欧洲精品一区二区| 欧美一区二区在线不卡| 精品国产一二三| 国产精品久久久久久亚洲伦| **欧美大码日韩| 日韩经典一区二区| 国产乱人伦偷精品视频免下载 | 亚洲伦在线观看| 日韩黄色免费网站| 国产精品一区久久久久| 成人激情开心网| 欧美日韩精品欧美日韩精品| 91精品国产综合久久小美女| 久久久久国产一区二区三区四区| 国产精品久久久久婷婷二区次| 一区二区视频免费在线观看| 日本成人中文字幕在线视频| 国产精品99久久久| 欧美性色黄大片| 亚洲精品在线免费播放| 亚洲天堂网中文字| 蜜臀91精品一区二区三区 | 91在线国产福利| 777色狠狠一区二区三区| 国产精品欧美综合在线| 五月天精品一区二区三区|