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

📄 main.pas

📁 这是用DELPHI制作的一个简单的闭路电视收费
💻 PAS
📖 第 1 页 / 共 5 页
字号:

procedure TFormMain.RadioButton1Click(Sender: TObject);
begin
  LookupT1.Enabled:=True;
  LookupT1.SetFocus;
  LookupT2.Enabled:=False;
  LookupT3.Enabled:=False;
  LookupT2.Text:='';
  LookupT3.Text:='';
end;

procedure TFormMain.RadioButton2Click(Sender: TObject);
begin
  LookupT1.Enabled:=False;
  LookupT1.Text:='';
  LookupT2.Enabled:=True;
  LookupT2.SetFocus;
  LookupT3.Enabled:=False;
  LookupT3.Text:='';
end;

procedure TFormMain.RadioButton3Click(Sender: TObject);
begin
  LookupT1.Enabled:=False;
  LookupT1.Text:='';
  LookupT2.Enabled:=False;
  LookupT2.Text:='';
  LookupT3.Enabled:=True;
  LookupT3.SetFocus;
end;

procedure TFormMain.ComboID1KeyPress(Sender: TObject; var Key: Char);
var
  Current:TComboBox;
begin
  Current:= Sender as TComboBox;
  if Key = Chr(13) then
  begin
    with Current do
      if Text = '' then
      begin
        MessageDlg('请输入用户名',mtConfirmation,[mbOK],0);
        Current.Setfocus;
      end;
    Key:=#0;
    Perform(CM_DialogKey,VK_TAB,0);
  end;
end;

procedure TFormMain.EdtPwd1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key =Chr(13) then
  begin
    Key:=#0;
    Perform(CM_DialogKey,VK_TAB,0);
  end;
end;

procedure TFormMain.ComboID1Exit(Sender: TObject);
begin
  if (Sender as TComboBox).Text = '' then
    (Sender as TComboBox).Setfocus;
end;

procedure TFormMain.BtnLogCancelClick(Sender: TObject);
begin
  ComboID1.Text:='';
  EdtPwd1.Text:='';
  ComboID1.SetFocus;
end;

procedure TFormMain.LoadOprator(Obj:TComboBox);
begin
  try try
    DataM.TableLog.Open;
    DataM.TableLog.First;
    while not DataM.TableLog.Eof do
    begin
      if DataM.TableLog.FieldByName('UserName').AsString <>'SuperUser' then
        Obj.Items.Add(DataM.TableLog.FieldByName('UserName').AsString);
    DataM.TableLog.Next;
    end;
  except on EDatabaseError do
    ShowMessage('发生意外错误,请关闭重运行。');
  end;
  finally
    DataM.TableLog.Close;
  end;
end;

procedure TFormMain.AddOprator(User, Pwd: String; Purview: Integer);
begin
  with DataM.TableLog do
  begin
  try
    Open;
    Append;
    FieldByName('UserName').AsString:=User;
    FieldByName('Password').AsString:=Pwd;
    FieldByName('Purview').AsInteger:=Purview;
    Post;
    StatusBar.Panels[3].Text:='成功增加操作员';
  finally
    close;
  end;
  end;
end;

procedure TFormMain.DeleteOprator(User: String);
begin
  with DataM.TableLog do
  begin
  try
    Open;
    FindKey([User]);
    Delete;
    StatusBar.Panels[3].Text:='成功删除该操作员';
  finally
    Close;
  end;
  end;
end;

procedure TFormMain.ModifyOprator(User, Pwd: String);
begin
  with DataM.TableLog do
  begin
  try
    Open;
    FindKey([User]);
    Edit;
    FieldByName('Password').AsString:=Pwd;
    Post;
    StatusBar.Panels[3].Text:='修改完成';
  finally
    Close;
  end;
  end;
end;

procedure TFormMain.ModifyOprator(User: String; Purview: Integer);
begin
  with DataM.TableLog do
  begin
  try
    Open;
    FindKey([User]);
    Edit;
    FieldByName('Purview').AsInteger:=Purview;
    Post;
    StatusBar.Panels[3].Text:='修改完成';
  finally
    Close;
  end;
  end;
end;

procedure TFormMain.CheckPurview(s: String);
begin
  with DataM.TableLog do
  begin
    Open;
    first;
    FindKey([s]);
    CurrentPurview:=FieldByName('Purview').AsInteger;
    Close;
  end;
  ExecPurview(CurrentPurview);
end;

procedure TFormMain.ExecPurview(p: Integer);
begin
  case p of
    2: //查询用户
    begin
      //OutlookBtn2.Enabled:=True;
      //OutlookList2.Enabled:=True;
      //OutlookList2.Items[0].OnClick:=nil;
      //OutlookBtn1.Enabled:=False;
      OutlookBtn3.Enabled:=False;
      //OutlookList1.Enabled:=False;
      //OutlookList3.Enabled:=False;
    end;
    0,1: //高级用户,普通用户
    begin
      OutlookBtn3.Enabled:=True;
      //OutlookBtn1.Enabled:=False;
      //OutlookList1.Enabled:=False;
      //
    end;
  end;
end;

procedure TFormMain.ComboID2Change(Sender: TObject);
begin
  if OutlookList1.Items[2].Selected then
  begin
    if ComboID2.Text <> '' then
      if ComboID2.Text <> CurrentUser then
      begin
        Label4.Enabled:=False;
        Label5.Enabled:=False;
        EdtPwd2.Enabled:=False;
        EdtPwd3.Enabled:=False;
        Label6.Enabled:=True;
        ComboRight.Enabled:=True;
      end
      else
      begin
        Label4.Enabled:=True;
        Label5.Enabled:=True;
        EdtPwd2.Enabled:=True;
        EdtPwd3.Enabled:=True;
        Label6.Enabled:=False;
        ComboRight.Enabled:=False;
      end
    else
      MessageDlg('请选择用户!',mtWarning,[mbOK],0);
  end;
end;

procedure TFormMain.TabSheet2Show(Sender: TObject);
begin
  ComboID2.Text:='';
  ComboRight.Text:='';
  EdtPwd2.Text:='';
  EdtPwd3.Text:='';
end;

procedure TFormMain.BtnSysOKClick(Sender: TObject);
var
  s:String;
begin
  if OutlookList1.Items[0].Selected then //增加操作员
  begin
    if not(ComboID2.Text <> '') then
      MessageDlg('用户名不能为空!',mtWarning,[mbOK],0)
    else if ComboID2.Items.IndexOf(ComboID2.Text) >= 0 then
        MessageDlg('己有此用户,请选择其他用户名',mtWarning,[mbOK],0)
    else if not(EdtPwd2.Text <>'') then
      MessageDlg('密码不能为空!',mtWarning,[mbOK],0)
    else if not(EdtPwd3.Text <>'') then
      MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
    else if EdtPwd2.Text <> EdtPwd3.Text then
      MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
    else if not(ComboRight.Text <>'') then
      MessageDlg('请选择权限!',mtWarning,[mbOK],0)
    else
    begin
      ComboID2.Items.Add(ComboID2.Text);
      AddOprator(ComboID2.Text,EdtPwd2.Text,ComboRight.ItemIndex);
      ComboID2.Text:='';
      EdtPwd2.Text:='';
      EdtPwd3.Text:='';
      ComboRight.Text:='';
    end;
  end;
  if OutlookList1.Items[1].Selected then  //删除操作员
  begin
    if not(ComboID2.Text <> '') then
      MessageDlg('请选择用户!',mtWarning,[mbOK],0)
    else if MessageDlg('真的要删除?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
    begin
      s:=ComboID2.Text;
      DeleteOprator(ComboID2.Text);
      ComboID2.Text:='';
      ComboID2.Items.Delete(ComboID2.ItemIndex);
      ComboID1.Items.Delete(ComboID1.Items.IndexOf(s));
      ComboID2.ItemIndex:=-1;
    end;
  end;
  if OutlookList1.Items[2].Selected then  //修改操作员
  begin
    if not(ComboID2.Text <> '') then
      MessageDlg('请选择用户!',mtWarning,[mbOK],0)
    else
    begin
      if ComboID2.Text <> CurrentUser then
      begin
        if not(ComboRight.Text <> '') then
          MessageDlg('请选择权限!',mtWarning,[mbOK],0)
        else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
        begin
          ModifyOprator(ComboID2.Text,ComboRight.ItemIndex);
          ComboID2.Text :='';
          ComboRight.Text:='';
        end
      end
      else
      begin
        if not(EdtPwd2.Text <>'') then
          MessageDlg('密码不能为空!',mtWarning,[mbOK],0)
        else if not(EdtPwd3.Text <>'') then
          MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
        else if EdtPwd2.Text <> EdtPwd3.Text then
          MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
        else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
        begin
          ModifyOprator(ComboID2.Text,EdtPwd2.Text);
          ComboID2.Text :='';
          ComboRight.Text:='';
        end
      end;
    end;
  end;
end;

procedure TFormMain.BtnSysCancelClick(Sender: TObject);
begin
  ComboID2.Text:='';
  EdtPwd2.Text:='';
  EdtPwd3.Text:='';
  ComboRight.Text:='';
end;

procedure TFormMain.BtnSysOK1Click(Sender: TObject);
begin
  if not(EdtOldPwd.Text <>'') then
    MessageDlg('请输入原有密码!',mtWarning,[mbOK],0)
  else if not(EdtNewPwd.Text <>'') then
    MessageDlg('请输入新密码!',mtWarning,[mbOK],0)
  else if not(EdtNewPwdOnce.Text <>'') then
    MessageDlg('请输入确认密码!',mtWarning,[mbOK],0)
  else if EdtNewPwd.Text <> EdtNewPwdOnce.Text then
    MessageDlg('密码不一致,请确认密码!',mtWarning,[mbOK],0)
  else if MessageDlg('确定修改?',mtConfirmation,[mbOK,mbCancel],0)= mrOK then
  begin
    ModifyOprator(EdtID.Text,EdtNewPwd.Text);
    EdtOldPwd.Text:='';
    EdtNewPwd.Text:='';
    EdtNewPwdOnce.Text:='';
  end;
end;

procedure TFormMain.TabSheet6Show(Sender: TObject);
begin
  EdtOldPwd.Text:='';
  EdtNewPwd.Text:='';
  EdtNewPwdOnce.Text:='';
  //EdtOldPwd.SetFocus;
end;

procedure TFormMain.BtnSysCancel1Click(Sender: TObject);
begin
  EdtOldPwd.Text:='';
  EdtNewPwd.Text:='';
  EdtNewPwdOnce.Text:='';
end;

procedure TFormMain.OutlookList3Items0Click(
  OutlookList: TfcCustomOutlookList; Item: TfcOutlookListItem);
begin
  if Item.Index <> OldSelectedIndex then
  begin
    ActivedOutlookList:=OutlookList;
    OldSelectedIndex:=Item.Index;
    MaintainEnable(True);
    Label27.Enabled:=False;
    EdtRecover.Enabled:=False;
    EdtRecover.Text:='';
    EdtBackup.Text:=ExtractFilePath(ParamStr(0))+'Backup';
    ProgressBar1.Position:=0;
    StatusBar.Panels[3].Text:='';
  end;
end;

procedure TFormMain.OutlookList3Items1Click(
  OutlookList: TfcCustomOutlookList; Item: TfcOutlookListItem);
begin
  if Item.Index <> OldSelectedIndex then
  begin
    ActivedOutlookList:=OutlookList;
    OldSelectedIndex:=Item.Index;
    MaintainEnable(True);
    Label26.Enabled:=False;
    EdtBackup.Enabled:=False;
    EdtBackup.Text:='';
    EdtRecover.Text:=ExtractFilePath(ParamStr(0))+'Backup';
    ProgressBar1.Position:=0;
    StatusBar.Panels[3].Text:='';
  end;
end;

//新增页面处理
procedure TFormMain.CheckNew1Click(Sender: TObject);
var
  i,t,f:Integer;
begin
  for i:=1 to 3 do
    (FindComponent('LabelNew'+IntToStr((Sender as TCheckBox).Tag)+IntToStr(i)) as TLabel).Enabled:=
        (Sender as TCheckBox).Checked;
  for i:=1 to 2 do
    (FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+IntToStr(i)) as TwwDBDateTimePicker).Enabled:=
        (Sender as TCheckBox).Checked;
  (FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Enabled:=
      (Sender as TCheckBox).Checked;
  if not((Sender as TCheckBox).Checked) then
  begin
    (FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'1') as TwwDBDateTimePicker).Date:=Date();
    (FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'2') as TwwDBDateTimePicker).Date:=Date();
    t:=StrToInt(EdtNew8.Text);
    f:=StrToInt((FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Text);
    t:=t-f;
    EdtNew8.Text:=IntToStr(t);
    (FindComponent('EdtFee'+IntToStr((Sender as TCheckBox).Tag)) as TEdit).Text:='0';
  end
  else
    (FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'2') as TwwDBDateTimePicker).Date:=
        (FindComponent('DateNew'+IntToStr((Sender as TCheckBox).Tag)+'1') as TwwDBDateTimePicker).Date;
  for i:=1 to 4 do
    if (FindComponent('CheckNew'+IntToStr(i)) as TCheckBox).Checked then
    begin
      BtnNew1.Enabled:=True;
      BtnNew2.Enabled:=True;
      Break;
    end
    else
    begin
      BtnNew1.Enabled:=False;
      BtnNew2.Enabled:=False;
    end;
end;

procedure TFormMain.TabSheet3Show(Sender: TObject);
var
  i,j:Integer;
  Temp:TCheckBox;
begin
  for j:=1 to 4 do
  begin
    Temp:=FindComponent('CheckNew'+IntToStr(j)) as TCheckBox;
    (FindComponent('DateNew'+IntToStr(j)+'1') as TwwDBDateTimePicker).Date:=Date();
    (FindComponent('DateNew'+IntToStr(j)+'2') as TwwDBDateTimePicker).Date:=Date();
    for i:=1 to 3 do
      (FindComponent('LabelNew'+IntToStr(Temp.Tag)+IntToStr(i)) as TLabel).Enabled:=
          Temp.Checked;
    for i:=1 to 2 do
      (FindComponent('DateNew'+IntToStr(Temp.Tag)+IntToStr(i)) as TwwDBDateTimePicker).Enabled:=
          Temp.Checked;
    (FindComponent('EdtFee'+IntToStr(Temp.Tag)) as TEdit).Enabled:=Temp.Checked;
  end;
  BtnNew1.Enabled:=False;
  BtnNew2.Enabled:=False;
  BtnNew3.Enabled:=False;
  //EdtNew1.SetFocus;
end;

procedure TFormMain.DateNew12Exit(Sender: TObject);
var
  StartYear,StartMonth,StartDay:Word;
  EndYear,EndMonth,EndDay:Word;
  Fee:Word;
begin
  DecodeDate(DateNew11.Date,StartYear,StartMonth,StartDay);
  DecodeDate(DateNew12.Date,EndYear,EndMonth,EndDay);

⌨️ 快捷键说明

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