📄 unit11.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 + -