?? 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('請輸入周數(shù)','',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
//限制數(shù)據(jù)輸入,只能為0-9數(shù)字
//********************************
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 + -