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

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

?? invuserprivilege.~pas

?? 文件包含程序源原文件
?? ~PAS
字號:
unit InvUserPrivilege;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, invDef, Ex2nmedt;

type
  TfrmUser = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    ListviewUser: TListView;
    Panel4: TPanel;
    Panel5: TPanel;
    edtPassWord: TLabeledEdit;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    chkbom: TCheckBox;
    chkstk: TCheckBox;
    chkmatin: TCheckBox;
    chkmatout: TCheckBox;
    chkothin: TCheckBox;
    chkothout: TCheckBox;
    chkiohis: TCheckBox;
    chkrpt: TCheckBox;
    chkInvoice: TCheckBox;
    chkUndelivery: TCheckBox;
    chkincheck: TCheckBox;
    chkparams: TCheckBox;
    chkiotype: TCheckBox;
    chkpaperno: TCheckBox;
    chkinvguage: TCheckBox;
    chkdataexp: TCheckBox;
    chkexprpt: TCheckBox;
    SpeedButton1: TSpeedButton;
    btnUpdate: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    chkrtnmana: TCheckBox;
    chkuserprivi: TCheckBox;
    cbxUser: TComboBox;
    edtUserName: TEdit;
    edtUserID: TEx2NumEdit;
    Label2: TLabel;
    stsBarCnt: TStatusBar;
    Panel6: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure btnUpdateClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure ListviewUserChange(Sender: TObject; Item: TListItem; Change: TItemChange);
    procedure cbxUserDropDown(Sender: TObject);
    procedure cbxUserChange(Sender: TObject);
  private
    { Private declarations }
    Procedure Read_UserPriviListView(sListView: TListView);

    function  SetListColumn(listView: TListView): Integer;
    function  SetListView(lstView: TListView): Integer;
    procedure ClearListView(lstView: TListView);

    procedure MakeItemCaption(Item: TListItem);
    procedure Set_currItem(Item: TListItem);
    procedure SetNull;

  public
    { Public declarations }
    Procedure NewUserPrivilege(ListView: TListView);
    Procedure Update_UserPrivilege(ListView: TListView);
    procedure Delete_UserPrivilege(ListView: TListView);

    Function  GetIntValueofBool(ibool: Boolean): integer;
    Function  GetBoolofInteger(iValue: Integer): Boolean;
  end;

var
  frmUser: TfrmUser;

  FUserPrivilegeList: TList;
  FSelectedItem: TListItem;
  FOnMakeItemCaption,
  FListViewClear,
  FOnCloseForm: Boolean;
  FColCnt: integer;

implementation

uses InvDM, Main;

{$R *.dfm}

procedure TfrmUser.FormCreate(Sender: TObject);
begin
  Top  := 0;
  Left := frmMain.Width;
  Height := Height;
  Width := Width;

  FUserPrivilegeList := TList.Create;
  FUserPrivilegeList.Clear;
  
end;

procedure TfrmUser.FormShow(Sender: TObject);
begin
  FOnCloseForm := false;
  Read_UserPriviListView(ListviewUser);


end;

procedure TfrmUser.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FOnCloseForm := true;
  dm_inventory.ListFreeMemory(FUserPrivilegeList);
end;

Procedure TfrmUser.Read_UserPriviListView(sListView: TListView);
var SaveCursor: TCursor;
begin
  dm_inventory.ListFreeMemory(FUserPrivilegeList);
  
  SaveCursor := Screen.Cursor;
  Screen.Cursor := crSqlWait;

  try
    dm_inventory.Read_UserPrivilegeList(FUserPrivilegeList);

    FListViewClear:=True;

    FColCnt := SetListColumn(sListView); //--

    sListView.Selected := nil;

    if SetListView(sListView) > 0 then
    begin
      sListView.TopItem.Selected := True;
      sListView.TopItem.Focused := True;
      sListView.SetFocus;
      FSelectedItem := sListView.TopItem;
      Set_currItem(FSelectedItem);
    end;

    FListViewClear := False;

  finally
    Screen.Cursor := SaveCursor;
  end;
end;

function  TfrmUser.SetListColumn(listView: TListView): Integer;
var
  Column: TListColumn;
  Count: Integer;
begin
  ListView.Columns.Clear;
  ListView.Items.BeginUpdate;               //--
  ListView.RowSelect := False;
  Count := 0;
  try
    Column := ListView.Columns.Add;
      Column.Caption := '員工工號';
      Column.Width   := ListView.Font.Size * 12;
      Inc(Count);

      Column := ListView.Columns.Add;
      Column.Caption := '用戶名稱';
      Column.Width   := ListView.Font.Size * 16;
      Inc(Count);

      Column := ListView.Columns.Add;
      Column.Caption := '用戶密碼';
      Column.Width   := ListView.Font.Size * 14;
      Column.Alignment := taLeftJustify;
      Inc(Count);
  finally
    ListView.RowSelect := True;
    ListView.Items.EndUpdate;               //--
  end;
  Result := Count;
end;

function  TfrmUser.SetListView(lstView: TListView): Integer;
var
  i, j, ItemCount: Integer;
  lcP: PUserPrivilege;
  Item: TListItem;
begin
  ItemCount := 0;
  FListViewClear := True;

  ClearListView(lstView);

  FListViewClear := False;
  LockWindowUpdate(lstView.Handle);
  try
    for i := 0 to FUserPrivilegeList.Count - 1 do begin
      lcP := FUserPrivilegeList[i];

      Item := lstView.Items.Add;
      for j := 0 to FColCnt - 2 do
        Item.Subitems.Add('');

      lcP^.item := Item;
      Item.Data := lcP;

      MakeItemCaption(Item);
      Inc(ItemCount);
   end;
  finally
    LockWindowUpdate(0);
    stsBarCnt.Panels[0].Text := '符合條件的記錄有:'+ IntToStr(lstView.Items.Count)+' 條';
  end;
  Result := ItemCount;
end;

procedure TfrmUser.ClearListView(lstView: TListView);
begin
  lstView.Items.BeginUpdate;
  try
    lstView.Items.Clear;
  finally
    lstView.Items.EndUpdate;
  end;
end;

procedure TfrmUser.MakeItemCaption(Item: TListItem);
var
  lcP: PUserPrivilege;
begin
  if Item = nil then Exit;

  lcP := Item.Data;
  if lcP = nil then Exit;

  FOnMakeItemCaption := True; //--

  Item.Caption     := IntToStr(lcP^.user_id);
  Item.SubItems[0] := dm_inventory.Get_EmpName(inttostr(lcp^.user_id));
  Item.SubItems[1] := lcp^.password;

  FOnMakeItemCaption := False;
end;

procedure TfrmUser.Set_currItem(Item: TListItem);
var
  lcp: PUserPrivilege;
begin 
  if (Item = nil) or ((item = nil) and (Item.Data <> nil)) then
  begin
    SetNull;
    exit;
  end
  else begin
    FSelectedItem := nil;
    FSelectedItem := Item;
    lcp := Item.Data;

    edtUserID.Value   := lcp^.user_id;
    edtUserName.Text  := dm_inventory.Get_EmpName(inttostr(lcp^.user_id));
    edtPassWord.Text  := lcp^.password;

    chkbom.Checked  := (lcp^.bom_func=1);
  chkstk.Checked    := (lcp^.stk_func=1);
  chkmatin.Checked  := (lcp^.matin_func=1);
  chkmatout.Checked := (lcp^.matout_func=1);
  chkothin.Checked  := (lcp^.othin_func=1);
  chkothout.Checked := (lcp^.othout_func=1);
  chkiohis.Checked  := (lcp^.iohis_func=1);
  chkrpt.Checked    := (lcp^.rpt_func=1);
  chkInvoice.Checked := (lcp^.invoice_func=1);
  chkUndelivery.Checked := (lcp^.undelivery_func=1);
  chkincheck.Checked    := (lcp^.incheck_func=1);
  chkrtnmana.Checked    := (lcp^.rtnmana_func=1);
  chkparams.Checked     := (lcp^.params_func=1);
  chkiotype.Checked     := (lcp^.iotype_func=1);
  chkpaperno.Checked    := (lcp^.paperno_func=1);
  chkinvguage.Checked   := (lcp^.invguage_func=1);
  chkdataexp.Checked    := (lcp^.dataexport_func=1);
  chkexprpt.Checked     := (lcp^.expdatarpt_func=1);
  chkuserprivi.Checked  := (lcp^.userprivilege_func=1);
  end;
end;

procedure TfrmUser.SetNull;
begin
  FSelectedItem := nil;
  edtUserID.Value   := 0;
  edtUserName.Text  := '';
  cbxUser.Text      := '';
  edtPassWord.Text  := '';
  chkbom.Checked    := false;
  chkstk.Checked    := false;
  chkmatin.Checked  := false;
  chkmatout.Checked := false;
  chkothin.Checked  := false;
  chkothout.Checked := false;
  chkiohis.Checked  := false;
  chkrpt.Checked    := false;
  chkInvoice.Checked := false;
  chkUndelivery.Checked := false;
  chkincheck.Checked    := false;
  chkrtnmana.Checked    := false;
  chkparams.Checked     := false;
  chkiotype.Checked     := false;
  chkpaperno.Checked    := false;
  chkinvguage.Checked   := false;
  chkdataexp.Checked    := false;
  chkexprpt.Checked     := false;
  chkuserprivi.Checked  := false;  
end;

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
Procedure TfrmUser.NewUserPrivilege(ListView: TListView);
var
  lcpNew: PUserPrivilege;
  j: integer;
  Item: TListItem;
begin
  New(lcpNew);
  ZeroMemory(lcpNew, sizeof(TUserPrivilege));
  SetNull;

  lcpNew^.paperno   := dm_inventory.Get_AutoPaperNo('User Privilege Information');
  lcpNew^.user_id   := 0;
  lcpNew^.user_name := '';
  lcpNew^.password  := '';
  lcpNew^.rec_date  := Now;

  if not dm_inventory.isExists_UserID(lcpNew) then
  begin
    dm_inventory.Insert_UserPrivilege(lcpNew);

    with listView do
    begin
      Item := ListView.Items.Add;
      for j := 0 to FColCnt - 2 do
        Item.Subitems.Add('');
        lcPNew^.item := Item;
        Item.Data := lcPNew;
    end;
    MakeItemCaption(Item);
    Set_currItem(Item);
    Item.Selected := true;
  end
  else begin
    MessageDlg('this User is Repeat!',mtError,[mbOK],0);
    Item := ListView.TopItem;
    FSelectedItem := Item;
    Set_currItem(Item);
    Item.Selected := true;    
    Exit;
  end;
end;

Procedure TfrmUser.Update_UserPrivilege(ListView: TListView);
var
  lcpUpd: PUserPrivilege;
  Item: TListItem;
begin
  if FSelectedItem = nil then exit;
  if FSelectedItem.Selected then lcpUpd := FSelectedItem.Data;

  lcpUpd^.user_id      := trunc(edtUserID.Value);
  lcpUpd^.password     := trim(edtPassWord.Text);
  lcpUpd^.bom_func     := GetIntValueofBool(chkbom.Checked);
  lcpUpd^.stk_func           := GetIntValueofBool(chkstk.Checked);
  lcpUpd^.matin_func         := GetIntValueofBool(chkmatin.Checked);
  lcpUpd^.matout_func        := GetIntValueofBool(chkmatout.Checked);
  lcpUpd^.othin_func         := GetIntValueofBool(chkothin.Checked);
  lcpUpd^.othout_func        := GetIntValueofBool(chkothout.Checked);
  lcpUpd^.iohis_func         := GetIntValueofBool(chkiohis.Checked);
  lcpUpd^.rpt_func           := GetIntValueofBool(chkrpt.Checked);
  lcpUpd^.invoice_func       := GetIntValueofBool(chkInvoice.Checked);
  lcpUpd^.undelivery_func    := GetIntValueofBool(chkUndelivery.Checked);
  lcpUpd^.incheck_func       := GetIntValueofBool(chkincheck.Checked);
  lcpUpd^.rtnmana_func       := GetIntValueofBool(chkrtnmana.Checked);
  lcpUpd^.params_func        := GetIntValueofBool(chkparams.Checked);
  lcpUpd^.iotype_func        := GetIntValueofBool(chkiotype.Checked);
  lcpUpd^.paperno_func       := GetIntValueofBool(chkpaperno.Checked);
  lcpUpd^.invguage_func      := GetIntValueofBool(chkinvguage.Checked);
  lcpUpd^.dataexport_func    := GetIntValueofBool(chkdataexp.Checked);
  lcpUpd^.expdatarpt_func    := GetIntValueofBool(chkexprpt.Checked);
  lcpUpd^.userprivilege_func := GetIntValueofBool(chkuserprivi.Checked);

  dm_inventory.Update_UserPrivilege(lcpUpd);

  with listView do
  begin
    listView.Selected.Data := lcpUpd;
    Item := listView.Selected;
    MakeItemCaption(Item);
    Set_currItem(Item);
    Item.Selected := true;
  end;
end;

procedure TfrmUser.Delete_UserPrivilege(ListView: TListView);
var
  lcpDel: PUserPrivilege;
  Item: TListItem;
begin
  if FSelectedItem = nil then exit;
  if FSelectedItem.Selected then lcpDel := FSelectedItem.Data;

  dm_inventory.Delete_UserPrivilege(lcpDel);
  with listView do
  begin
    listView.Selected.Delete;
    IF ListView.Items.Count >0 then
    Item := listView.TopItem
    else Item := Nil;
    if Item = Nil then exit;
    Item.Selected := true;
    MakeItemCaption(Item);
    Set_currItem(Item);
  end;
end;

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////

procedure TfrmUser.SpeedButton1Click(Sender: TObject);
begin
  NewUserPrivilege(ListviewUser);
end;

procedure TfrmUser.btnUpdateClick(Sender: TObject);
begin
  Update_UserPrivilege(ListviewUser);//
end;

procedure TfrmUser.SpeedButton3Click(Sender: TObject);
begin
  Delete_UserPrivilege(ListviewUser);
end;

procedure TfrmUser.SpeedButton4Click(Sender: TObject);
begin
  close;
end;

procedure TfrmUser.ListviewUserChange(Sender: TObject; Item: TListItem; Change: TItemChange);
begin
  if FOnCloseForm then exit;
  if Item.Data = nil then
  begin
    setNull;
    exit;
  end
  else Set_currItem(ListviewUser.Selected);
end;

////////////////////////////////////////////////////////////////////////////
Function  TfrmUser.GetIntValueofBool(ibool: Boolean): integer;
begin
  result := 0;
  if iBool then result := 1 else result := 0;
end;

Function  TfrmUser.GetBoolofInteger(iValue: Integer): Boolean;
begin
  result := false;
  if iValue=1 then result := true else result := false; 
end;



procedure TfrmUser.cbxUserDropDown(Sender: TObject);
begin
  dm_inventory.Read_EmpInfoToCbx(cbxUser);
end;

procedure TfrmUser.cbxUserChange(Sender: TObject);
begin
  edtUserID.Value    := StrToIntDef(Get_PosBeforeStr(cbxUser.Text,'_'),0);
  edtUserName.Text   := Get_PosAfterStr(cbxUser.Text,'_');
  edtUserID.SetFocus;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美电影| 精品在线亚洲视频| 欧美视频第二页| 精品欧美乱码久久久久久| 中文字幕视频一区| 欧美96一区二区免费视频| 91久久精品网| 国产精品久久久久影院亚瑟 | 51精品国自产在线| 国产精品毛片a∨一区二区三区| 日韩经典中文字幕一区| 日本久久电影网| 国产精品久久久久影院亚瑟| 国产精品一二三四| 日韩一级免费观看| 五月天网站亚洲| 91黄色免费版| 亚洲人成在线播放网站岛国| 国产成人av福利| 26uuu久久天堂性欧美| 蜜桃视频一区二区三区在线观看| 日本精品一区二区三区高清| 亚洲人吸女人奶水| 99精品久久免费看蜜臀剧情介绍| 久久久99久久| 国产成人在线色| 久久久久国产精品人| 国产一区二区三区四| 日韩亚洲欧美高清| 日本大胆欧美人术艺术动态| 欧美高清视频www夜色资源网| 亚洲一二三区在线观看| 欧美影视一区二区三区| 亚洲一二三区视频在线观看| 欧美亚洲一区二区三区四区| 亚洲午夜免费电影| 欧美日韩一区视频| 奇米一区二区三区av| 精品国产伦一区二区三区观看体验| 天天影视色香欲综合网老头| 91精品欧美久久久久久动漫| 日本伊人精品一区二区三区观看方式| 欧美日韩精品电影| 日韩经典一区二区| 久久日一线二线三线suv| 国产一区二区三区电影在线观看| 久久夜色精品国产欧美乱极品| 国产一区美女在线| 国产精品久久久久永久免费观看| caoporen国产精品视频| 亚洲综合久久av| 日韩欧美区一区二| 风间由美一区二区av101| 亚洲视频一二三区| 欧美日韩成人综合| 狠狠色伊人亚洲综合成人| 欧美高清一级片在线观看| 色94色欧美sute亚洲线路二| 亚洲国产一区二区视频| 精品美女被调教视频大全网站| 国产寡妇亲子伦一区二区| 亚洲乱码中文字幕| 日韩精品一区二区在线| 不卡一区二区在线| 亚洲v日本v欧美v久久精品| 精品国产免费一区二区三区四区| 成人动漫中文字幕| 午夜不卡在线视频| 国产精品乱人伦一区二区| 欧美日韩一区不卡| 国产成人午夜精品影院观看视频 | 麻豆国产一区二区| 国产精品久久久久婷婷 | 色综合久久久网| 日本在线播放一区二区三区| 国产精品你懂的在线欣赏| 欧美人与禽zozo性伦| 成人午夜精品一区二区三区| 亚洲欧美另类小说视频| 久久综合九色综合97_久久久| 在线免费观看一区| 国产福利不卡视频| 麻豆精品国产传媒mv男同| 一二三区精品视频| 国产色91在线| 日韩欧美国产1| 欧美丝袜第三区| 96av麻豆蜜桃一区二区| 国产麻豆视频一区| 日韩av电影天堂| 一区二区三区精品| 国产精品国产馆在线真实露脸| 日韩免费观看2025年上映的电影| 日本韩国欧美在线| 波多野结衣中文字幕一区二区三区| 麻豆精品一区二区综合av| 亚洲大片精品永久免费| 亚洲女人小视频在线观看| 日本一区二区综合亚洲| 久久久噜噜噜久噜久久综合| 日韩亚洲欧美在线| 日韩一区二区三区免费观看| 欧美视频精品在线| 欧美在线观看视频一区二区三区| 国产成人在线免费观看| 国产精品一二三四| 国产乱码精品1区2区3区| 国内精品第一页| 国产一区二区三区最好精华液| 麻豆极品一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲国产精品一区二区久久| 一区二区三区在线视频免费| 亚洲日本va午夜在线电影| 中文字幕综合网| 一区二区三区中文在线观看| 亚洲一二三四区| 午夜日韩在线观看| 日韩av午夜在线观看| 久久91精品久久久久久秒播| 国产在线精品一区在线观看麻豆| 久久99久国产精品黄毛片色诱| 极品少妇一区二区三区精品视频| 精品一区二区在线看| 国产麻豆视频一区| 99精品视频一区| 在线视频你懂得一区| 91精品国产一区二区三区蜜臀| 日韩欧美另类在线| 久久久精品国产免费观看同学| 中文字幕国产一区| 一区二区三区小说| 日韩精品午夜视频| 久久aⅴ国产欧美74aaa| 粉嫩绯色av一区二区在线观看 | 久久99精品国产.久久久久久| 精东粉嫩av免费一区二区三区| 国产精品一区一区三区| 91天堂素人约啪| 欧美顶级少妇做爰| 国产拍欧美日韩视频二区| 亚洲精品日韩专区silk | 亚洲午夜久久久久久久久久久| 香蕉成人伊视频在线观看| 国产原创一区二区三区| 99热99精品| 欧美一区二区在线不卡| 国产女人18水真多18精品一级做| 一区二区在线免费| 久久精品国产成人一区二区三区| 国产91精品久久久久久久网曝门| 91久久免费观看| 欧美mv日韩mv国产网站| 亚洲九九爱视频| 久色婷婷小香蕉久久| 白白色 亚洲乱淫| 日韩女同互慰一区二区| 亚洲日本一区二区三区| 精品一区二区三区久久| 色88888久久久久久影院按摩 | 综合久久一区二区三区| 美女视频网站久久| 91福利小视频| 中文字幕第一页久久| 日本女人一区二区三区| 91麻豆免费看| 欧美经典一区二区| 久久99最新地址| 精品视频一区 二区 三区| 国产精品久久久久aaaa樱花| 热久久一区二区| 欧美在线免费播放| 136国产福利精品导航| 国产永久精品大片wwwapp| 91精选在线观看| 亚洲精品少妇30p| 成人福利视频在线| 欧美激情一区二区三区全黄| 美国毛片一区二区| 欧美日本在线观看| 亚洲伊人色欲综合网| 色婷婷久久久亚洲一区二区三区| 国产欧美精品一区aⅴ影院| 久久爱另类一区二区小说| 欧美理论片在线| 一区二区三区在线视频免费观看| 成人精品免费网站| 国产亚洲欧美在线| 国产九色精品成人porny| 欧美www视频| 看片网站欧美日韩| 日韩欧美国产不卡| 久久疯狂做爰流白浆xx| 日韩午夜激情视频| 另类综合日韩欧美亚洲| 欧美大片顶级少妇| 九一九一国产精品| 久久这里只有精品首页| 狠狠色丁香久久婷婷综合_中| 欧美精品一区二区三区四区|