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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? frmdeptmngimpl.pas

?? 多媒體播放后臺管理系統(tǒng)適用于各種字幕播放軟件的后臺管理,包括播放內(nèi)容、時間、等級等的管理。
?? PAS
字號:
unit FrmDeptMngImpl;

interface

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

type
  TFrmDeptMng = class(TForm)
    sfrMain: TsuiForm;
    imgSt: TImage;
    imlAction: TImageList;
    dtsMain: TDataSource;
    cdsMain: TClientDataSet;
    cdsMainUNIT_ID: TWideStringField;
    cdsMainNAME: TWideStringField;
    cdsMainTEL: TWideStringField;
    cdsMainFAX_NO: TWideStringField;
    cdsMainREMARK: TWideStringField;
    pvdMain: TDataSetProvider;
    qryMain: TADOQuery;
    conMain: TADOConnection;
    lblUserID: TLabel;
    lblName: TLabel;
    lblTel: TLabel;
    lblFaxNo: TLabel;
    lblRemark: 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;
    grdMain: TDBGridEh;
    edtUnitID: TDBEdit;
    edtName: TDBEdit;
    edtTel: TDBEdit;
    edtFaxNo: TDBEdit;
    edtRemark: TDBMemo;
    atlAtions: TActionList;
    actNew: TAction;
    actSave: TAction;
    actCancel: TAction;
    actFirst: TAction;
    actPrior: TAction;
    actNext: TAction;
    actLast: TAction;
    actDelete: TAction;
    actClose: TAction;
    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);
  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
  FrmDeptMng: TFrmDeptMng;

implementation

{$R *.dfm}

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

procedure TFrmDeptMng.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 TFrmDeptMng.actFirstExecute(Sender: TObject);
begin
  cdsMain.First();
  ShowActionStatus();
end;

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

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

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

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

procedure TFrmDeptMng.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('更新數(shù)據(jù)失敗。');
      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 TFrmDeptMng.actCancelExecute(Sender: TObject);
begin
  (TClientDataSet(dtsMain.DataSet)).CancelUpdates();
  FStatus := STATUS_BROWSE;
  FModified := False;
  ShowActionStatus();
end;

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

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

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

function TFrmDeptMng.GetDeleteConfirmMessage: string;
begin
  result := '您確定要刪除當(dāng)前記錄嗎?';
end;

procedure TFrmDeptMng.cdsMainAfterOpen(DataSet: TDataSet);
begin
  FStatus := STATUS_BROWSE;
  FModified := False;
  dtsMain.AutoEdit := True;
  ShowActionStatus();
end;

procedure TFrmDeptMng.cdsMainAfterClose(DataSet: TDataSet);
begin
  FStatus := STATUS_INACTIVE;
  FModified := False;
  ShowActionStatus();
end;

procedure TFrmDeptMng.cdsMainAfterInsert(DataSet: TDataSet);
var
  strTemp: string;
begin
  if (GetNextNo(qryMain, 'T_SYS_UNIT', 'UNIT_ID', strTemp, 8)) then
    DataSet.FieldByName('UNIT_ID').AsString := strTemp
  else begin
    ShowMessage('取部門ID時出錯!');
    Abort;
  end;

  FStatus := STATUS_EDIT;
  FModified := True;
  ShowActionStatus();
end;

procedure TFrmDeptMng.cdsMainAfterScroll(DataSet: TDataSet);
begin
  ShowActionStatus();
end;

procedure TFrmDeptMng.cdsMainAfterDelete(DataSet: TDataSet);
begin
  FStatus := STATUS_BROWSE;
  FModified := False;
  ShowActionStatus();
end;

procedure TFrmDeptMng.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  if (FModified) then
  begin
    case (Application.MessageBox(PChar('是否保存對當(dāng)前記錄的修改?'),
      PChar(Caption), MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1)) of
      ID_YES:
      begin
        actSave.Execute();
        CanClose := True;
      end;
      ID_NO:
      begin
        CanClose := True
      end;
      else
      begin
        CanClose := False
      end;
    end;
  end
  else begin
    CanClose := True;
  end;
end;

procedure TFrmDeptMng.FormShow(Sender: TObject);
begin
  conMain.Open;
  cdsMain.Open;
  ShowActionStatus();
end;

procedure TFrmDeptMng.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  try
    conMain.Close;
  except
  end;

  Action := caFree;
end;

procedure TFrmDeptMng.cdsMainBeforePost(DataSet: TDataSet);
var
  objField: TField;
begin
  objField := DataSet.FieldByName('NAME');
  objField.AsString := Trim(objField.AsString);
  if (objField.AsString = '') then
  begin
    ShowMessage('請輸入“名稱”!');
    edtName.SetFocus;
    Abort;
  end;
end;

procedure TFrmDeptMng.FormDestroy(Sender: TObject);
begin
  if (self = FrmDeptMng) then
    FrmDeptMng := Nil;
end;

function TFrmDeptMng.GetDocCanCancel: Boolean;
begin
  Result := True;
  
  if ((dtsMain.DataSet = nil) or (dtsMain.DataSet.State = dsInactive) or
    (dtsMain.DataSet.RecordCount = 0)) then
    Result := False;
end;

function TFrmDeptMng.GetDocCanDelete: Boolean;
begin
  Result := True;

  if ((dtsMain.DataSet = nil) or (dtsMain.DataSet.State = dsInactive) or
    (dtsMain.DataSet.RecordCount = 0)) then
    Result := False;
end;

function TFrmDeptMng.GetDocCanModify: Boolean;
begin
  Result := True;

  if ((dtsMain.DataSet = nil) or (dtsMain.DataSet.State = dsInactive) or
    (dtsMain.DataSet.RecordCount = 0)) then
    Result := False;
end;

procedure TFrmDeptMng.dtsMainStateChange(Sender: TObject);
begin
  if ((dtsMain.DataSet.State = dsEdit) and (FStatus <> STATUS_EDIT)) then
  begin
    FStatus := STATUS_EDIT;
    FModified := True;
    ShowActionStatus;
  end;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色自拍一区| 91在线视频官网| 欧美日韩成人综合天天影院 | 久久久久久**毛片大全| 久久精品国产亚洲高清剧情介绍 | 国产精品1区2区| 中文欧美字幕免费| 99国产精品99久久久久久| 三级不卡在线观看| 精品久久久久久久一区二区蜜臀| 精久久久久久久久久久| 国产色91在线| 日本韩国视频一区二区| 日韩在线播放一区二区| 亚洲欧美在线视频观看| 欧美日韩精品系列| www.成人网.com| 日日摸夜夜添夜夜添精品视频 | 一本到三区不卡视频| 亚洲在线视频免费观看| 国产午夜亚洲精品午夜鲁丝片| 欧美电影一区二区| 国产一区二区三区精品视频| 国产精品传媒在线| 91精品国产91热久久久做人人 | 国产精品一区一区| 天天综合天天综合色| 精品国产一区a| 成人精品视频.| 性感美女久久精品| 国产无人区一区二区三区| 日韩精品一区二区三区视频在线观看 | 午夜久久久影院| 一区二区三区在线观看网站| 欧美一区二区三区系列电影| 欧美无砖砖区免费| 国产69精品久久久久777| 亚洲福利国产精品| 国产日本欧洲亚洲| 日韩一级片在线播放| 91免费看视频| 国产成人h网站| 婷婷国产在线综合| 五月婷婷激情综合| 日韩精品午夜视频| 免费成人美女在线观看.| 亚洲色图在线看| 精品欧美久久久| 久久影音资源网| 欧美精品v国产精品v日韩精品 | 久久se精品一区精品二区| 日本不卡一二三| 极品美女销魂一区二区三区 | 另类中文字幕网| 麻豆国产欧美一区二区三区| 亚洲精品免费一二三区| 国产亚洲成年网址在线观看| 午夜免费欧美电影| 日本欧美大码aⅴ在线播放| 亚洲色图在线播放| 亚洲午夜精品在线| 久热成人在线视频| 国产黄色精品网站| 91亚洲精品久久久蜜桃| 欧美色综合影院| 欧美不卡一区二区三区四区| 久久免费的精品国产v∧| 亚洲国产成人自拍| 久久人人爽人人爽| 一色屋精品亚洲香蕉网站| 亚洲乱码精品一二三四区日韩在线| 一区二区三区欧美视频| 日韩主播视频在线| 国产成人精品免费网站| 91丨porny丨在线| 91精品一区二区三区久久久久久 | av高清不卡在线| 欧美日韩国产美女| 久久九九久精品国产免费直播| 中文字幕在线不卡一区 | 亚洲欧美一区二区三区久本道91| 国产精品天天摸av网| 一区二区三区四区中文字幕| 日韩av一级电影| 成人av影院在线| 99久久免费视频.com| 在线播放/欧美激情| 国产亚洲精品久| 亚洲一区二区三区国产| 国内精品久久久久影院薰衣草 | 91 com成人网| 国产欧美日韩在线看| 亚洲国产va精品久久久不卡综合| 国产原创一区二区三区| 在线一区二区视频| 久久先锋资源网| 亚洲成人黄色影院| caoporm超碰国产精品| 欧美一区二区三区色| 综合久久久久久久| 国产在线不卡一区| 欧美日韩一二三区| 日韩精品一区二区三区在线| 久久成人综合网| 欧美性受xxxx黑人xyx| 国产蜜臀97一区二区三区| 日日夜夜免费精品| 在线观看亚洲专区| 日韩欧美中文字幕精品| 一区二区在线观看视频| 国产寡妇亲子伦一区二区| 91精品国产91久久久久久一区二区 | 国产亚洲欧洲一区高清在线观看| 亚洲无人区一区| 99久久精品国产麻豆演员表| 亚洲精品一线二线三线| 日韩精品欧美成人高清一区二区| 91麻豆国产自产在线观看| 国产婷婷色一区二区三区四区| 日本成人在线网站| 欧美午夜一区二区三区| 中文字幕日本不卡| 成人黄动漫网站免费app| 久久蜜桃av一区二区天堂| 免费在线一区观看| 欧美精品粉嫩高潮一区二区| 亚洲一区二区三区爽爽爽爽爽| 白白色 亚洲乱淫| 欧美激情一区在线| 国产成人夜色高潮福利影视| 欧美成人一区二区三区| 青青青爽久久午夜综合久久午夜| 欧美日韩国产影片| 亚洲影视资源网| 欧美无乱码久久久免费午夜一区| 亚洲伦理在线精品| 欧美在线免费观看亚洲| 亚洲激情第一区| 91官网在线观看| 一区二区三区四区乱视频| 99re视频这里只有精品| 亚洲人成网站影音先锋播放| av亚洲精华国产精华精华| 国产精品福利一区二区| 97久久精品人人澡人人爽| 亚洲欧美综合另类在线卡通| 91天堂素人约啪| 亚洲最大色网站| 欧美猛男男办公室激情| 欧美在线视频日韩| 亚洲成人免费视频| 337p亚洲精品色噜噜| 日韩精品国产精品| 精品三级av在线| 国产成人免费在线观看| 国产精品乱码人人做人人爱| 99久久精品国产一区二区三区| 一区二区三区免费| 欧美精品久久久久久久久老牛影院| 热久久国产精品| 久久久久久电影| 色婷婷久久综合| 日韩一区精品视频| 久久久久国产成人精品亚洲午夜| 处破女av一区二区| 一区二区日韩av| 日韩精品一区二区三区swag| 国产福利不卡视频| 一区二区三区精品| 日韩免费看网站| av成人免费在线观看| 亚洲一二三区在线观看| 精品国产91九色蝌蚪| 成人福利在线看| 日韩电影免费在线观看网站| 国产亚洲欧洲一区高清在线观看| 一本到三区不卡视频| 免费人成在线不卡| 亚洲欧美在线aaa| 8x8x8国产精品| 99国产精品国产精品久久| 日产国产欧美视频一区精品| 中日韩av电影| 制服视频三区第一页精品| 成人污污视频在线观看| 日韩和欧美的一区| 中文在线资源观看网站视频免费不卡| 欧美在线播放高清精品| 国产资源在线一区| 亚洲成人www| 国产精品美女久久久久高潮| 在线播放91灌醉迷j高跟美女| 国产福利91精品| 日韩av中文字幕一区二区三区| 国产精品毛片高清在线完整版| 91.com视频| 色av成人天堂桃色av| 国产精品一区二区在线播放| 亚洲成人综合网站| 中文字幕在线观看不卡视频|