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

📄 zrzxkzxt.pas

📁 这是一个有DELPHI编写的自动作息时间打铃控制程序,具有灵活的权限分配,能灵活编写作时间,并有手动打铃功能,能自已加入铃声.你自己看吧
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      Min2:=Min mod 10;
    end;
 if Sec<10 then
   begin
      Sec1:=0;
      Sec2:=Sec;
   end
 else
   begin
      Sec1:=Sec div 10;
      Sec2:=Sec mod 10;
   end;

ShowNum(image1,Hour1,0);
ShowNum(image1,Hour2,1);
ShowNum(image1,10,2);
ShowNum(image1,Min1,3);
ShowNum(image1,Min2,4);
ShowNum(image1,10,5);
ShowNum(image1,Sec1,6);
ShowNum(image1,Sec2,7);

 end;



 procedure TForm1.FormCreate(Sender: TObject);
var
szSQL:string;  //存放SQL值
k:string;//存放星期数;
Year, Month, Day, DOW: Word;
days: array[1..7] of string;

begin
  DecodeDateFully(Date, Year, Month, Day, DOW);
  days[1] := '星期日';
  days[2] := '星期一';
  days[3] := '星期二';
  days[4] := '星期三';
  days[5] := '星期四';
  days[6] := '星期五';
  days[7] := '星期六';
  label1.Caption:= days[DOW];
  label2.Caption:=inttostr(Year)+'年'+inttostr(Month)+'月';
  label3.Caption:=inttostr(Day);
form1.Height:=151;
form1.Width:=540;
timer3.Enabled:=false;
bitbtn2.Enabled:=false; //如果没有用户登录则“查看、编辑、升旗、特殊功能”都不能用
bitbtn3.Enabled:=false;
bitbtn4.Enabled:=false;
bitbtn5.Enabled:=false;
bitbtn6.Enabled:=false;
Database1.DatabaseName:='MyNewAlias';
Database1.DriverName:='STANDARD';
Database1.Params.Clear;
Database1.Params.Add('Path='+DBName);
query1.DatabaseName:='MyNewAlias';
query1.DatabaseName:=DBName;
k:=inttostr(dayofweek(Date)-1);
szSQL:='SELECT *  FROM datatimebiao'+k+'.DB';
query1.SQL.Add(szSQL);
query1.Open;
status:=true;
installicon;
changeicon(true);
showwindow(application.Handle,sw_hide);
setwindowlong(application.Handle,gwl_exstyle,ws_ex_toolwindow);
Loged := -1;
Init(Loged);

end;

procedure TForm1.BitBtn6Click(Sender: TObject);

begin
winexec('rundll32.exe shell32.dll,Control_RunDLL timedate.cpl',9);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Height:=151;
form1.Width:=540;
showwindow(application.Handle,sw_hide);//隐藏窗体
end;

procedure TForm1.N1Click(Sender: TObject);
begin
form1.Show;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
form1.Hide;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Loged = -1 then
  begin
    if long.ShowModal = mrok then    //调用登录窗  如果按了确定
       begin
         UserName := long.Edit1.Text;   //取登录窗用户输入的用户名与口今
         UserPwd := Long.Edit2.Text;
         Loged := CheckUser(UserName,UserPwd); //调用管理者数据表并进行查询
       end
    else     //如果按了取消
    begin
    MessageDlg('非法操作者!程序不能退出!',mtError,[mbok],0);
    Loged := -1;
    end;
    if Loged <> -1 then     //合法用户则退出
       begin
        uninstallicon;
         normalicon.Free;
         disabledicon.Free;

       end
     else Abort;

  end;
end;



procedure TForm1.Timer2Timer(Sender: TObject);
var
szSQL:string;  //存放SQL值
k:string;//存放星期数;
Hour, Min, Sec, MSec: Word;
s,f,m:integer;
begin
 DecodeTime(Time, Hour, Min, Sec, MSec);
 s:=hour;
 f:=min;
 m:=sec;
 Query1.Close;
 Query1.SQL.Clear;{清除SQL属性中的SQL命令语句}
 Query1.DatabaseName:=DBName;
 k:=inttostr(dayofweek(Date)-1);  //取得星期数
 szSQL:='Select * From  datatimebiao'+k+'.DB  where (Stime=:n1) and (Ftime=:n2) and (Mtime=:n3)'; //根据星期数加载相应的时间表
 Query1.SQL.Add(szSQL );
 //Query1.SQL.Add('Select * From  datatimebiao.DB  where (Stime=:n1) and (Ftime=:n2) and (Mtime=:n3)');//SQL命令语句
 Query1.ParamByName('n1').AsSmallInt:=s;
 Query1.ParamByName('n2').AsInteger:=f;
 Query1.ParamByName('n3').AsInteger:=m;
 Query1.Prepare;
 Query1.Open;//打开数据库,执行SQL查询
 Try
 if Query1.RecordCount = 1 then
 begin
medpath:= BellName+'\'+query1.FieldByName('pathname').AsString;
med(MediaPlayer1,medpath);

 end
 else
 exit;
finally
begin
Query1.Close;
Query1.SQL.Clear;
Query1.DatabaseName :=DBName;
//k:=inttostr(dayofweek(Date)-1);  //取得星期数
 szSQL:='Select * From  datatimebiao'+k+'.DB'; //根据星期数加载相应的时间表
 Query1.SQL.Add(szSQL);
//Query1.SQL.Add('Select * From  datatimebiao.DB');
Query1.Open;
End;
end;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
timer2.Enabled:=true;
mediaplayer1.Close;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
if Loged = -1 then
  begin
    if long.ShowModal = mrok then    //调用登录窗  如果按了确定
       begin
         UserName := long.Edit1.Text;   //取登录窗用户输入的用户名与口今
         UserPwd := Long.Edit2.Text;
         Loged := CheckUser(UserName,UserPwd); //调用管理者数据表并进行查询
       end
    else Loged := -1;     //如果按了取消
    if Loged <> -1 then
       begin
         Init(Loged);
       end;
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
 var
Hour, Min, Sec, MSec: Word;
begin
  repeat
     DecodeTime(Time,Hour, Min, Sec, MSec);
     timer2.Enabled:=true;
  until sec=0;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
  tsform.Show;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
var
szSQL:string;  //存放SQL值
//k:string;//存放星期数;
Hour, Min, Sec, MSec: Word;
s,f,m:integer;
begin
 DecodeTime(Time, Hour, Min, Sec, MSec);
 s:=hour;
 f:=min;
 m:=sec;
 Query1.Close;
 Query1.SQL.Clear;{清除SQL属性中的SQL命令语句}
 Query1.DatabaseName:=DBName;
 //k:=inttostr(dayofweek(Date)-1);  //取得星期数
 szSQL:='Select * From  tstime.DB  where (Stime=:n1) and (Ftime=:n2) and (Mtime=:n3)'; //根据星期数加载相应的时间表
 Query1.SQL.Add(szSQL );
 //Query1.SQL.Add('Select * From  datatimebiao.DB  where (Stime=:n1) and (Ftime=:n2) and (Mtime=:n3)');//SQL命令语句
 Query1.ParamByName('n1').AsSmallInt:=s;
 Query1.ParamByName('n2').AsInteger:=f;
 Query1.ParamByName('n3').AsInteger:=m;
 Query1.Prepare;
 Query1.Open;//打开数据库,执行SQL查询
 Try
 if Query1.RecordCount = 1 then
 begin
medpath:= BellName+'\'+query1.FieldByName('pathname').AsString;
med(MediaPlayer1,medpath);

 end
 else
 exit;
finally
begin
Query1.Close;
Query1.SQL.Clear;
Query1.DatabaseName :=DBName;
//k:=inttostr(dayofweek(Date)-1);  //取得星期数
 szSQL:='Select * From  tstime.DB'; //根据星期数加载相应的时间表
 Query1.SQL.Add(szSQL);
//Query1.SQL.Add('Select * From  datatimebiao.DB');
Query1.Open;
End;
end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
     timeedit.show;
     timeedit.DBNavigator1.Enabled:=true;
     timeedit.DBGrid1.Enabled:=true;
     timeedit.GroupBox7.Caption:='编辑时间表';
     timeedit.GroupBox4.Visible:=true;
     timeedit.dbnavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast,nbInsert,nbDelete,nbEdit,nbPost,nbCancel,nbRefresh];
     timeedit.dbgrid1.Options:=[dgEditing,dgAlwaysShowEditor,dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];
     timeedit.dbgrid1.ReadOnly:=false;
     timeedit.bitbtn1.Enabled:=false;
     form1.Timer2.Enabled:=false;
  if timeedit.edit1.text<>'' then
     timeedit.bitbtn2.Enabled:=true
  else timeedit.bitbtn2.Enabled:=false;
  timeedit.bitbtn4.Enabled:=true;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
N4Click(Sender);
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
     timeedit.show;
     timeedit.DBNavigator1.Enabled:=true;
     timeedit.DBGrid1.Enabled:=true;
     timeedit.GroupBox7.Caption:='浏览时间表';
     timeedit.GroupBox4.Visible:=false;
     timeedit.dbnavigator1.VisibleButtons:=[nbFirst,nbPrior,nbNext,nbLast];
     timeedit.dbgrid1.Options:=[dgTitles,dgIndicator,dgColumnResize,dgColLines,dgRowLines,dgTabs,dgCancelOnExit];
     timeedit.dbgrid1.ReadOnly:=true;
     //timeedit.bitbtn1.Enabled:=false;
    form1.Timer2.Enabled:=true;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
senguoqi.show;
end;

procedure TForm1.N5Click(Sender: TObject);
begin
form2.Show;
end;

end.

⌨️ 快捷键说明

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