📄 unit1.pas
字号:
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 + -