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

📄 unit1.pas

📁 基于delphi的门禁考勤系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image1: TImage;
    Image2: TImage;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    procedure TimePicker1Change(Sender: TObject);
    procedure TimePicker1Focused(Sender: TObject);
    procedure Check1click(Sender: TObject);
    procedure Check2click(Sender: TObject);
    function datetimesort(str: string; week: string): string;
    function removedo(str: string; dostr: string): string;
  end;

var
  Form1: TForm1;
  CheckBox1: array [1..6] of TCheckBox;
  CheckBox2: array [1..7] of TCheckBox;
  TimePicker1: array [1..7,1..6] of TDateTimePicker;
  TimePicker2: array [1..6] of TDateTimePicker;

implementation

uses Unit2,Unit4;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i,j: integer;
  Picker2,tmpdt,check1,check2: string;
  str1, str2, str3, str4, str5, str6, str7: string;
  day1, day2, day3, day4, day5, day6, day7: string;
  II, JJ: Integer;
begin
  for i := 1 to 6 do begin
    if TimePicker2[i].Enabled then begin
      if TimePicker2[i].time = strtodatetime('2007-04-21') then begin
        showmessage('对不起您此处设置的时间不能为空,请重设!');
        TimePicker2[i].SetFocus;
        exit;
      end;
    end;
    for j := 1 to 7 do begin
      with TimePicker1[i][j] do begin
        if Enabled then begin
          if time = strtodatetime(FormatDateTime('YYYY-MM-DD',now)) then begin
            showmessage('对不起您此处设置的时间不能为空,请重设!');
            SetFocus;
            exit;
          end;
//          if i <> 1 then
//          begin
//            if Time < TimePicker1[i][j-1].Time then
//            begin
//              showmessage('对不起!您此处设置的时候有误,排后的时候不能小于排前的时间!');
//              SetFocus;
//              exit;
//            end;
//          end;
        end;
      end;
    end;
  end;

//小姚改的代码,上面的代码已经注释掉了。没有用。。。气死我了。。。真是把老子气死了
  for II := 1 to 7 do
  begin
    for JJ := 1 to 6 do
    begin
      if (TimePicker1[II][JJ].Time < TimePicker1[II][JJ - 1].Time) and (JJ <> 1 )  and (TimePicker1[II][JJ].Enabled) then
      begin
        ShowMessage('对不起,您些处设置的时间有误,后排的时间不能小于前排的时间!');
        TimePicker1[II][JJ].SetFocus;
        Exit;
      end;
    end;
  end;

  for i := 1 to 6 do begin
    case i of
      1,3,5: begin
        if CheckBox1[i].Checked then begin
          for j := 1 to 7 do begin
            with TimePicker1[j][i] do begin
              case j of
                1:  begin
                    if Enabled then begin
                      day1 := day1 + FormatDateTime('HH:MM',Time) + ',';
                      str1 := str1 + FormatDateTime('HH:MM',Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                2:  begin
                    if Enabled then begin
                      day2 := day2 + FormatDateTime('HH:MM', Time) + ',';
                      str2 := str2 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                3:  begin
                    if Enabled then begin
                      day3 := day3 + FormatDateTime('HH:MM', Time) + ',';
                      str3 := str3 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                4:  begin
                    if Enabled then begin
                      day4 := day4 +  FormatDateTime('HH:MM', Time) + ',';
                      str4 := str4 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                5:  begin
                    if Enabled then begin
                      day5 := day5 +  FormatDateTime('HH:MM', Time) + ',';
                      str5 := str5 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                6:  begin
                    if Enabled then begin
                      day6 := day6 +  FormatDateTime('HH:MM', Time) + ',';
                      str6 := str6 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
                7:  begin
                    if Enabled then begin
                        day7 :=  day7 + FormatDateTime('HH:MM', Time) + ',';
                        str7 := str7 + FormatDateTime('HH:MM', Time - TimePicker2[i].Time) + ',';
                    end;
                end;
              end;
            end;
          end;
        end;
      end;
      2,4,6: begin
        if CheckBox1[i].Checked then begin
          for j := 1 to 7 do begin
            with TimePicker1[j][i] do begin
              case j of
                1: begin 
                    if Enabled then begin
                      day1 := day1 + FormatDateTime('HH:MM',Time) + ',';
                      str1 := str1 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                2: begin
                    if Enabled then begin
                      day2 := day2 + FormatDateTime('HH:MM',Time) + ',';
                      str2 := str2 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                3: begin
                    if Enabled then begin
                      day3 := day3 + FormatDateTime('HH:MM',Time) + ',';
                      str3 := str3 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                4: begin
                    if Enabled then begin
                      day4 := day4 + FormatDateTime('HH:MM',Time) + ',';
                      str4 := str4 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                5: begin
                    if Enabled then begin
                      day5 := day5 + FormatDateTime('HH:MM',Time) + ',';
                      str5 := str5 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                6: begin
                    if Enabled then begin
                      day6 := day6 + FormatDateTime('HH:MM',Time) + ',';
                      str6 := str6 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
                7: begin
                    if Enabled then begin
                      day7 := day7 + FormatDateTime('HH:MM',Time) + ',';
                      str7 := str7 + FormatDateTime('HH:MM',Time + TimePicker2[i].Time) + ',';
                    end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;

  if str1 <> '' then inifile.WriteString('one', 'value', datetimesort(str1 + day1, '一'));
  if str2 <> '' then inifile.WriteString('two', 'value', datetimesort(str2 + day2, '二'));
  if str3 <> '' then inifile.WriteString('three', 'value', datetimesort(str3 + day3, '三'));
  if str4 <> '' then inifile.WriteString('four', 'value', datetimesort(str4 + day4, '四'));
  if str5 <> '' then inifile.WriteString('five', 'value', datetimesort(str5 + day5, '五'));
  if str6 <> '' then inifile.WriteString('six', 'value', datetimesort(str6 + day6, '六'));
  if str7 <> '' then inifile.WriteString('seven', 'value', datetimesort(str7 + day7, '日'));

  day1 := '';
  day2 := '';
  day3 := '';
  day4 := '';
  day5 := '';
  day6 := '';
  day7 := '';

  for i := 1 to 6 do begin
    Picker2 := Picker2 + FormatDateTime('HH:MM:SS',TimePicker2[i].Time) + ',';
    if CheckBox1[i].Checked then
      check1 := check1 + IntToStr(i) + ',';
    for j := 1 to 7 do begin
      case j of
        1: day1 := day1 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        2: day2 := day2 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        3: day3 := day3 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        4: day4 := day4 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        5: day5 := day5 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        6: day6 := day6 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
        7: day7 := day7 + FormatDateTime('HH:MM:SS',TimePicker1[j][i].Time) + ',';
      end;
    end;
  end;

  for i := 1 to 7 do begin
    if CheckBox2[i].Checked then
      check2 := check2 + IntToStr(i) + ',';
  end;

  inifile.WriteString('day1', 'value', removedo(day1, ','));
  inifile.WriteString('day2', 'value', removedo(day2, ','));
  inifile.WriteString('day3', 'value', removedo(day3, ','));
  inifile.WriteString('day4', 'value', removedo(day4, ','));
  inifile.WriteString('day5', 'value', removedo(day5, ','));
  inifile.WriteString('day6', 'value', removedo(day6, ','));
  inifile.WriteString('day7', 'value', removedo(day7, ','));
  inifile.WriteString('check1', 'value', removedo(check1, ','));
  inifile.WriteString('check2', 'value', removedo(check2, ','));
  inifile.WriteString('Picker2', 'value', removedo(Picker2, ','));

  self.Close;
  Form2.Show;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  self.Close;  
  Form2.Show;
end;

procedure TForm1.Check1click(Sender: TObject);
var
  i,j,k: integer;
begin
  k := 0;
  for i := 1 to 6 do begin
    if CheckBox1[i] = Sender then
      k := i;
  end;
  if CheckBox1[k].Checked then begin
    if k < 7 then
      TimePicker2[k].Enabled := true;

⌨️ 快捷键说明

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