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

📄 unit11.pas

📁 机房管理系统源代码2006-7-8制作的非常实用
💻 PAS
字号:
unit Unit11;

interface

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

type
  Tfrmpjc = class(TForm)
    RadioGroup1: TRadioGroup;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit3: TEdit;
    Label6: TLabel;
    Edit4: TEdit;
    Label7: TLabel;
    Edit5: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Edit6: TEdit;
    BitBtn1: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    Label10: TLabel;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    DateTimePicker5: TDateTimePicker;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject); 
    procedure RadioGroup1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    tys:integer;
  public
    { Public declarations }
    property ty:integer read tys write tys;
  end;

var
  frmpjc: Tfrmpjc;

implementation

uses Unit3, Unit4;

{$R *.dfm}

procedure Tfrmpjc.FormShow(Sender: TObject);
var qu:tadoquery;
begin
 edit1.Enabled:=tys=1;
 if tys<>1 then //读取
 begin
  qu:=tadoquery.Create(nil);
  qu.Connection:=dm1.ADOCon1;
  qu.SQL.Text:='select * from projects where pno='+trim(edit1.Text);
  qu.Open;
  if qu.fieldbyname('isclasses').AsBoolean then
   RadioGroup1.ItemIndex:=0
  else
   RadioGroup1.ItemIndex:=1;
  DateTimePicker1.DateTime:=qu.fieldbyname('bespeak_date').AsDateTime;
  DateTimePicker2.DateTime:=qu.fieldbyname('bdates').AsDateTime;
  DateTimePicker3.dateTime:=qu.fieldbyname('btimes').AsDateTime;
  DateTimePicker4.dateTime:=qu.fieldbyname('etimes').AsDateTime;
  DateTimePicker5.DateTime:=qu.fieldbyname('edates').AsDateTime; 
  edit3.text:=qu.fieldbyname('pjname').AsString;
  edit4.text:=qu.fieldbyname('teacher').AsString;
  edit5.text:=qu.fieldbyname('ma_id').AsString;
  edit6.text:=qu.fieldbyname('st_id').AsString;
  qu.close;
  qu.free;
 end;
end;

procedure Tfrmpjc.BitBtn1Click(Sender: TObject);
var s:string;
    qu:tadoquery;
    bsd,bd,ed,bt,et:string;
begin
//***************************************
//2004-05-12 qhb
//检查机器是否损坏
//***************************************
   qu:=tadoquery.Create(nil);
   qu.Connection:=dm1.ADOCon1;
   qu.SQL.Text:='select  * from equipments where id='''
    +trim(edit5.Text)+''' and status=''损坏''';
   qu.Open;
   if not qu.eof  then
   begin
   application.MessageBox('注意,此机器损坏','',64);
   modalresult:=mrnone;
   exit;
   end;
   qu.close;
   qu.free;

//***************************************
 if trim(edit1.Text)='' then
 begin
  edit1.SetFocus;
  application.MessageBox('请输入预约号','',64);
  modalresult:=mrnone;
  exit;
 end;
 if RadioGroup1.ItemIndex=0 then
 begin
  {if trim(edit2.Text)='' then
  begin
   edit2.SetFocus;
   application.MessageBox('请输入周数','',64);
   modalresult:=mrnone;
   exit;
  end; }
  if trim(edit3.Text)='' then
  begin
   edit3.SetFocus;
   application.MessageBox('请输入课程名称','',64);
   modalresult:=mrnone;
   exit;
  end;
  if trim(edit4.Text)='' then
  begin
   edit3.SetFocus;
   application.MessageBox('请输入指导老师','',64);
   modalresult:=mrnone;
   exit;
  end;
 end 
 else
 begin
  if trim(edit6.Text)='' then
  begin
   edit3.SetFocus;
   application.MessageBox('请输入学号','',64);
   modalresult:=mrnone;
   exit;
  end;
 end;
 if trim(edit5.Text)='' then
 begin
  edit3.SetFocus;
  application.MessageBox('请输入机器号','',64);
  modalresult:=mrnone;
  exit;
 end;
 bsd:=formatdatetime('yyyy-mm-dd',DateTimePicker1.DateTime);
 bd:=formatdatetime('yyyy-mm-dd',DateTimePicker2.DateTime);
 ed:=formatdatetime('yyyy-mm-dd',DateTimePicker5.DateTime);
 bt:=formatdatetime('tt',DateTimePicker3.DateTime);
 et:=formatdatetime('tt',DateTimePicker4.DateTime);
//****************************************
//2004-05-13 qhb
//1、修改增加安排,修正错误
//2、修改修改安排,修正错误 (第二次要求)
//****************************************
 if ty=1 then //新
 begin
   if radiogroup1.ItemIndex=1 then
   begin
      qu:=tadoquery.Create(nil);
      qu.Connection:=dm1.ADOCon1;
      qu.Close;
      qu.SQL.Clear;

      s:='select * from projects where isclasses=true and (bdates<=:txt1'#13#10
       +'and edates>=:txt2) and (btimes<=:txt3 and etimes>=:txt4)';
      qu.SQL.Add(s);
      qu.Parameters.ParamByName('txt1').Value:=strtodatetime(formatdatetime('yyyy-mm-dd',DateTimePicker2.datetime));
      qu.Parameters.ParamByName('txt2').Value:=strtodatetime(formatdatetime('yyyy-mm-dd',DateTimePicker2.datetime));
      qu.Parameters.ParamByName('txt3').Value:=strtodatetime(formatdatetime('tt',DateTimePicker3.datetime));
      qu.Parameters.ParamByName('txt4').Value:=strtodatetime(formatdatetime('tt',DateTimePicker3.datetime));
      qu.Open;
      if qu.RecordCount<>0  then
      begin
        application.MessageBox('此时正是上机时间','',64);
        modalresult:=mrnone;
        exit;
      end;
      qu.close;
      qu.free;
   {  s:='select * from projects where isclasses=true'
      +' and bdates<=#'+datetimetostr(DateTimePicker2.date)
      +'# and edates>=#'+datetimetostr(DateTimePicker2.date)
      +'# and ((btimes<=#'+datetimetostr(DateTimePicker3.date)
      +'# and etimes>=#'+datetimetostr(DateTimePicker3.date)+'#))';
     if not dm1.ADOCon1.Execute(s).EOF then
     begin
       application.MessageBox('此时正是上机时间','',64);
       modalresult:=mrnone;
       exit;
     end;   }

   end;
 //判断是否有空机  ???
 s:='select pno from projects where pno='+trim(edit1.Text)
  +' and bdates=#'+datetimetostr(DateTimePicker2.date)
  +'# and ((btimes<=#'+formatdatetime('tt',DateTimePicker3.datetime)
  +'# or etimes>=#'+formatdatetime('tt',DateTimePicker4.datetime)+'#))';
 werror(s);
 if not dm1.ADOCon1.Execute(s).EOF then
 begin
   application.MessageBox('已有此预约时间','',64);
   modalresult:=mrnone;
   exit;
 end;

  if not dm1.ADOCon1.Execute('select pno from projects where pno='
   +trim(edit1.Text)).EOF then
  begin
   edit1.SetFocus;
   application.MessageBox('已有此预约号','',64);
   modalresult:=mrnone;
   exit;
  end;
  s:='insert into projects (pno,bespeak_date,isclasses,edates,bdates,'
   +'btimes,etimes,pjname,teacher,ma_id,st_id) values ('
   +trim(edit1.Text)+',#'+bsd+'#,'+booltostr(RadioGroup1.ItemIndex=0)+',#'
   +ed+'#,#'+bd+'#,#'+bt+'#,#'
   +et+'#,'''+trim(edit3.Text)+''','''+trim(edit4.Text)+''','''
   +trim(edit5.Text)+''','''+trim(edit6.Text)+''')';
  dm1.ADOCon1.Execute(s);
 end
 else
 begin
  s:='update projects  set bespeak_date=#'
   +bsd+'#,'
   +'isclasses='+booltostr(RadioGroup1.ItemIndex=0)+',edates=#'
   +ed+'#,bdates=#'+bd
   +'#,btimes=#'+bt+'#,etimes=#'
   +et+'#,pjname='''
   +trim(edit3.Text)+''',teacher='''
   +trim(edit4.Text)+''',ma_id='''
   +trim(edit5.Text)+''',st_id='''
   +trim(edit6.Text)+''' where pno='+trim(edit1.Text);
   dm1.ADOCon1.Execute(s);
end;
end;
//********************************
//2004-05-12 qhb       readme
//限制数据输入,只能为0-9数字
//********************************
procedure Tfrmpjc.RadioGroup1Click(Sender: TObject);
begin
 if RadioGroup1.ItemIndex=0 then
 begin
  edit6.Text:='';
  edit6.Enabled:=false;
  edit3.Enabled:=true;
  edit4.Enabled:=true;
 end
 else
 begin
  edit3.Text:='';
  edit3.Enabled:=false;
  edit4.Text:='';
  edit4.Enabled:=false;
  edit6.Enabled:=true;
  

 end;
end;

procedure Tfrmpjc.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (key in ['0'..'9']) then
  key:=#0;
end;

end.

⌨️ 快捷键说明

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