📄 main.pas
字号:
ready_pk:=ready_pk-2;
break;
end;
end;
end;
end;
end;//end-41 // 排完本课程在本周的按排;
//修改ready标志;
t_edit.close;
t_edit.Filtered :=false;
t_edit.Filter :='lsh='+lsh;
t_edit.Filtered :=true;
t_edit.Open;
t_edit.Edit ;
t_edit['ready']:=ready_pk;
t_edit.Post ;
t_edit.Close; //修改完毕;
query1.Next ; //开始排下一个课程在本周的安排;
end; //end-34;
kc[1]:=a1[1];
kc[2]:=a1[2];
kc[3]:=a6[1];
kc[4]:=a7[1];
kc[5]:=a2[1];
kc[6]:=a2[2];
kc[7]:=a6[2];
kc[8]:=a7[2];
kc[9]:=a3[1];
kc[10]:=a3[2];
kc[11]:=a6[3];
kc[12]:=a7[3];
kc[13]:=a4[1];
kc[14]:=a4[2];
kc[15]:=a6[4];
kc[16]:=a7[4];
kc[17]:=a5[1];
kc[18]:=a5[2];
kc[19]:=a6[5];
kc[20]:=a7[5];
//进行一周内地点老师的查找;
for j:=1 to 20 do
begin
if (kc[j]<>0) and (kc[j]<>99) then
begin
t_edit.close;
t_edit.Filtered :=false;
t_edit.Filter :='code='+inttostr(kc[j])+' and class='+class_name;
t_edit.Filtered :=true;
t_edit.Open;
adr[j]:=t_edit['room_code'];
tec[j]:=t_edit['tech_code'];
end else begin adr[j]:=0; tec[j]:=0;end;
end;
// temp.TableName :=classname;
//排完一周,将本周的排课数据入库;
temp.close;
temp.Open;
temp.Last;
temp.Append;
temp['kind']:='课程';
temp['1']:=a1[1];
temp['2']:=a1[2];
temp['3']:=a6[1];
temp['4']:=a7[1];
temp['5']:=a2[1];
temp['6']:=a2[2];
temp['7']:=a6[2];
temp['8']:=a7[2];
temp['9']:=a3[1];
temp['10']:=a3[2];
temp['11']:=a6[3];
temp['12']:=a7[3];
temp['13']:=a4[1];
temp['14']:=a4[2];
temp['15']:=a6[4];
temp['16']:=a7[4];
temp['17']:=a5[1];
temp['18']:=a5[2];
temp['19']:=a6[5];
temp['20']:=a7[5];
temp.Post ;
temp.Close;
//进行一周地点的输入
temp.Open;
temp.Last ;
temp.Append;
temp['kind']:='地点';
temp['1']:=adr[1];
temp['2']:=adr[2];
temp['3']:=adr[3];
temp['4']:=adr[4];
temp['5']:=adr[5];
temp['6']:=adr[6];
temp['7']:=adr[7];
temp['8']:=adr[8];
temp['9']:=adr[9];
temp['10']:=adr[10];
temp['11']:=adr[11];
temp['12']:=adr[12];
temp['13']:=adr[13];
temp['14']:=adr[14];
temp['15']:=adr[15];
temp['16']:=adr[16];
temp['17']:=adr[17];
temp['18']:=adr[18];
temp['19']:=adr[19];
temp['20']:=adr[20];
temp.Post ;
temp.Close;
//输入老师信息;
temp.Open;
temp.Last ;
temp.Append;
temp['kind']:='老师';
temp['1']:=tec[1];
temp['2']:=tec[2];
temp['3']:=tec[3];
temp['4']:=tec[4];
temp['5']:=tec[5];
temp['6']:=tec[6];
temp['7']:=tec[7];
temp['8']:=tec[8];
temp['9']:=tec[9];
temp['10']:=tec[10];
temp['11']:=tec[11];
temp['12']:=tec[12];
temp['13']:=tec[13];
temp['14']:=tec[14];
temp['15']:=tec[15];
temp['16']:=tec[16];
temp['17']:=tec[17];
temp['18']:=tec[18];
temp['19']:=tec[19];
temp['20']:=tec[20];
temp.Post ;
temp.Close;
t_date.Next ;//跳到下一周的放假信息
t_date.Next ;
pb.StepIt ;
end; //end-2
//将已经排课的班级入库-->already_class.db
have_pk.close;
have_pk.Open ;
have_pk.Last ;
have_pk.Append;
have_pk['code']:=strtoint(classcode);
have_pk.Post ;
have_pk.Close;
//开始排下一个班级;
tb_class.Next;
t_edit.Close;
end;
sb.Panels[0].Text :='排课完毕';
f_main.Refresh ;
//开始把数据存入:pkXX.db表里;
tb_class.close;
tb_class.Open;
tb_class.First ;
pb.Max :=tb_class.RecordCount ;
pb.Step :=1;
pb.Show;
while not tb_class.Eof do
begin //1-开始进行班级排课;
pb.StepIt ;
class_name:=tb_class['name'];
sb.Panels[0].Text :='正在存储'+class_name+'的课表';
f_main.Refresh ;
classcode:=inttostr(tb_class['code']);
temp2.Close;
temp.Close;
temp2.TableName:='';
temp2.TableName :='pk'+classcode+'.db';
temp.TableName :='';
temp.TableName :='kc'+classcode+'.db';
temp.Open;
temp.First ;
temp2.Close;
temp2.EmptyTable ;
temp2.Filter :='';
temp2.Filtered:=false;
temp2.Open;
while not temp.Eof do
begin
//找课程;
temp2.Append ;
for i:=1 to 20 do
begin
ii:=inttostr(i);
if temp[ii]=0 then
begin
temp2[ii]:=null;
continue;
end ;
if temp[ii]=99 then
begin
temp2[ii]:='放假';
continue;
end;
//如果不是空节0也不是放假99
query1.Close;
query1.SQL.Clear ;
query1.SQL.Add('select * from kc_base where code=:code');
query1.ParamByName('code').AsInteger :=temp[ii];
query1.Open;
temp2[ii]:=query1.FieldValues['name'];
end;
temp2['kind']:='课程';
temp2.Post ;
//找地点;
temp2.Close;
temp2.Open;
temp2.Last ;
temp2.Last ;
temp.Next ;
temp2.Append ;
for i:=1 to 20 do
begin
ii:=inttostr(i);
if temp[ii]=0 then
begin
temp2[ii]:=null;
continue;
end ;
query1.Close;
query1.SQL.Clear ;
query1.SQL.Add('select * from room_base where code=:code');
query1.ParamByName('code').AsInteger :=temp[ii];
query1.Open;
temp2[ii]:=query1.FieldValues['name'];
end;
temp2['kind']:='地点';
temp2.Post ;
temp2.Close;
//找老师;
temp2.Open;
temp2.Last ;
temp.Next ;
temp2.Append ;
for i:=1 to 20 do
begin
ii:=inttostr(i);
if temp[ii]=0 then
begin
temp2[ii]:=null;
continue;
end;
query1.Close;
query1.SQL.Clear ;
query1.SQL.Add('select * from tech_base where code=:code');
query1.ParamByName('code').AsInteger :=temp[ii];
query1.Open;
temp2[ii]:=query1.FieldValues['name'];
end;
temp2['kind']:='老师';
temp2.Post ;
temp.Next ;
end ; //排完一个班;
//将日期导入课程表里;
temp2.Close;
temp2.Filter :='';
temp2.Filtered:=false;
temp2.Open;
temp2.First ;
t_date.Open;
t_date.First ;
while not t_date.Eof do
begin
temp2.Edit ;
temp2['week']:=inttostr(t_date['week']);
temp2['m']:=inttostr(t_date['m']);
temp2['d1']:=inttostr(t_date['d1']);
temp2['d2']:=inttostr(t_date['d2']);
temp2['d3']:=inttostr(t_date['d3']);
temp2['d4']:=inttostr(t_date['d4']);
temp2['d5']:=inttostr(t_date['d5']);
temp2.Post ;
temp2.Next ; //课程表下移;
temp2.Edit ;
temp2['m']:='地';
temp2['d1']:='点';
temp2.Post ;
temp2.Next ;
temp2.Next ;
t_date.Next ;
t_date.Next ;
end;
tb_class.Next ;
pb.StepIt ;
end;
showmessage('排课完毕!');
sb.Panels[0].Text :='所有班级排课完毕';
f_main.Refresh ;
end;
end;
procedure Tf_main.SpeedButton1Click(Sender: TObject);
begin
f_look.show;
end;
procedure Tf_main.N3Click(Sender: TObject);
begin
f_edit_pass.show;
end;
procedure Tf_main.N13Click(Sender: TObject);
begin
f_dlll.Show ;
end;
procedure Tf_main.N19Click(Sender: TObject);
begin
shellexecute(handle,nil,pchar('mailto:nwn31@163.net'),nil,nil,SW_SHOWNORMAL);
end;
procedure Tf_main.N2Click(Sender: TObject);
begin
PrintDialog1.Execute ;
end;
procedure Tf_main.N11Click(Sender: TObject);
begin
f_look.show;
end;
procedure Tf_main.N15Click(Sender: TObject);
begin
f_base.show;
end;
procedure Tf_main.N17Click(Sender: TObject);
begin
f_apply.show;
end;
procedure Tf_main.N4Click(Sender: TObject);
begin
f_set_tj.show;
end;
procedure Tf_main.ToolButton3Click(Sender: TObject);
begin
opd1.Execute ;
end;
procedure Tf_main.opd1CanClose(Sender: TObject;
var CanClose: Boolean);
begin
d.Picture.LoadFromFile(opd1.FileName );
end;
procedure Tf_main.N20Click(Sender: TObject);
begin
f_wrong.show;
end;
procedure Tf_main.SpeedButton5Click(Sender: TObject);
begin
f_base.show;
end;
procedure Tf_main.N14Click(Sender: TObject);
begin
f_add_user.show;
end;
procedure Tf_main.N12Click(Sender: TObject);
begin
abort.show;
end;
procedure Tf_main.N9Click(Sender: TObject);
//begin
//ShellExecute(application.handle,'open','e:\paike\help.chm','','',sw_show);
//;
//end;
var path:string;
begin
try
path:=extractfilepath(application.ExeName)+'\help.chm';
ShellExecute(Handle, 'open', pchar(path), nil, nil, SW_SHOW);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -