📄 stu_use.pas
字号:
end;
4:
begin
m47.Lines.Add(cname);
m47.Lines.Add(copy(arrange,6,5));
m47.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m67.Lines.Add(cname);
m67.Lines.Add(copy(arrange,6,5));
m67.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week = '周1' then
begin
case strtoint(lesson) of
1:
begin
m11.Lines.Add(cname);
m11.Lines.Add(copy(arrange,6,5));
m11.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m21.Lines.Add(cname);
m21.Lines.Add(copy(arrange,6,5));
m21.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m31.Lines.Add(cname);
m31.Lines.Add(copy(arrange,6,5));
m31.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m41.Lines.Add(cname);
m41.Lines.Add(copy(arrange,6,5));
m41.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m61.Lines.Add(cname);
m61.Lines.Add(copy(arrange,6,5));
m61.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week = '周2' then
begin
case strtoint(lesson) of
1:
begin
m12.Lines.Add(cname);
m12.Lines.Add(copy(arrange,6,5));
m12.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m22.Lines.Add(cname);
m22.Lines.Add(copy(arrange,6,5));
m22.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m32.Lines.Add(cname);
m32.Lines.Add(copy(arrange,6,5));
m32.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m42.Lines.Add(cname);
m42.Lines.Add(copy(arrange,6,5));
m42.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m62.Lines.Add(cname);
m62.Lines.Add(copy(arrange,6,5));
m62.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week = '周3' then
begin
case strtoint(lesson) of
1:
begin
m13.Lines.Add(cname);
m13.Lines.Add(copy(arrange,6,5));
m13.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m23.Lines.Add(cname);
m23.Lines.Add(copy(arrange,6,5));
m23.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m33.Lines.Add(cname);
m33.Lines.Add(copy(arrange,6,5));
m33.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m43.Lines.Add(cname);
m43.Lines.Add(copy(arrange,6,5));
m43.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m63.Lines.Add(cname);
m63.Lines.Add(copy(arrange,6,5));
m63.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week = '周4' then
begin
case strtoint(lesson) of
1:
begin
m14.Lines.Add(cname);
m14.Lines.Add(copy(arrange,6,5));
m14.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m24.Lines.Add(cname);
m24.Lines.Add(copy(arrange,6,5));
m24.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m34.Lines.Add(cname);
m34.Lines.Add(copy(arrange,6,5));
m34.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m44.Lines.Add(cname);
m44.Lines.Add(copy(arrange,6,5));
m44.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m64.Lines.Add(cname);
m64.Lines.Add(copy(arrange,6,5));
m64.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week = '周5' then
begin
case strtoint(lesson) of
1:
begin
m15.Lines.Add(cname);
m15.Lines.Add(copy(arrange,6,5));
m15.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m25.Lines.Add(cname);
m25.Lines.Add(copy(arrange,6,5));
m25.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m35.Lines.Add(cname);
m35.Lines.Add(copy(arrange,6,5));
m35.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m45.Lines.Add(cname);
m45.Lines.Add(copy(arrange,6,5));
m45.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m65.Lines.Add(cname);
m65.Lines.Add(copy(arrange,6,5));
m65.Lines.Add(copy(arrange,11,6));
end;
end;
end
else if week ='周6' then
begin
case strtoint(lesson) of
1:
begin
m16.Lines.Add(cname);
m16.Lines.Add(copy(arrange,6,5));
m16.Lines.Add(copy(arrange,11,6));
end;
2:
begin
m26.Lines.Add(cname);
m26.Lines.Add(copy(arrange,6,5));
m26.Lines.Add(copy(arrange,11,6));
end;
3:
begin
m36.Lines.Add(cname);
m36.Lines.Add(copy(arrange,6,5));
m36.Lines.Add(copy(arrange,11,6));
end;
4:
begin
m46.Lines.Add(cname);
m46.Lines.Add(copy(arrange,6,5));
m46.Lines.Add(copy(arrange,11,6));
end;
6:
begin
m66.Lines.Add(cname);
m66.Lines.Add(copy(arrange,6,5));
m66.Lines.Add(copy(arrange,11,6));
end;
end;
end
else
begin
end;
break;
end;
end;
ADOQuery2.Next ;
end;
QuickRep1.Preview ;
end;
procedure TForm4.Button14Click(Sender: TObject);
begin
QuickRep1.Print ;
end;
procedure TForm4.ComboBox6Change(Sender: TObject);//专业添加
begin
ComboBox7.Items.Clear ;
ComboBox7.Items.Add('');
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('SELECT DISTINCT department_pro FROM dep_pro');
ADOQuery1.SQL.Add('WHERE institute_dep='''+ComboBox6.Text+'''');
ADOQuery1.Open ;
while not ADOQuery1.Eof do
begin
ComboBox7.Items.Add(ADOQuery1.FieldByName('department_pro').AsString);
ADOQuery1.Next;
end;
end;
procedure TForm4.Button16Click(Sender: TObject); //选课查询
begin
button20.Show ;
DBGrid2.Show ;
SelectCourse
end;
procedure TForm4.Button20Click(Sender: TObject);////////提交选课
var
a,c_id,term,start_time,Dmin,Dmax,Smin,Smax:string;
j:integer;
str1,str2,str:string;
i:integer;
label Endroon ;
begin
if ADOQuery2.Eof then
begin
ShowMessage('没有课程可选');
Exit;
end;
term:=copy(ADOQuery2.fieldbyname('学期').AsString,1,1) ;//把学期转为时间
if term <> ' 'then
begin
if (strtoint(term) mod 2 = 0) then
start_time:=inttostr((enroll_time + (strtoint(term)-2) div 2)*10 + 2)
else
start_time:=inttostr((enroll_time + (strtoint(term)-1) div 2)*10 + 1);
end
else
start_time:=' ';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT arrange FROM course WHERE c_id');
ADOQuery1.SQL.Add('in( SELECT c_id FROM select_info WHERE');
ADOQuery1.SQL.Add('stu_no='''+user_no+''' and start_time='''+start_time+''')');
ADOQuery1.Open ;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
a:= ADOQuery1.fieldbyname('arrange').AsString ;
while((strlen(pchar(a)) div 13) > 0) do
begin
j:=pos(';',a);
str2:=copy(a,1,3);
str:=copy(a,5,1);
if pos('-',a) = 0 then
begin
ShowMessage('课程的时间地点格式错误');
exit;
end;
if copy(a,(pos( '-',a)-2),1) = ' ' then //获得周
Smin := copy(a,(pos('-',a)-1),1)
else
Smin := copy(a,(pos('-',a)-2),2);
if ((copy(a,(pos('-',a)+2),1)=' ') or (copy(a,(pos('-',a)+2),1)=';')) then
Smax := copy(a,(pos('-',a)+1),1)
else
Smax := copy(a,(pos('-',a)+1),2);
if j > 0 then
begin
str1:=ADOQuery2.fieldbyname('时间和地点').AsString ;
while((strlen(pchar(str1)) div 13) > 0) do
begin
i:=pos(';',str1);
if pos('-',str1) = 0 then
begin
ShowMessage('课程的时间地点格式错误');
exit;
end;
if copy(str1,(pos('-',str1)-2),1) = ' ' then
Dmin := copy(str1,(pos('-',str1)-1),1)
else
Dmin := copy(str1,(pos('-',str1)-2),2);
if ((copy(str1,(pos('-',str1)+2),1)=' ') or (copy(str1,(pos('-',str1)+2),1)=';')) then
Dmax := copy(str1,(pos('-',str1)+1),1)
else
Dmax := copy(str1,(pos('-',str1)+1),2);
if i > 0 then
begin
if strtoint(Smax) < strtoint(Dmin) then
else if strtoint(Smin) > strtoint(Dmax) then
else
begin
if str2 = copy(str1,1,3) then //判断星期
begin
if str = copy(str1,5,1) then //判断节数
goto Endroon
end
end;
str1:=copy(str1,(i+1),strlen(pchar(str1)));
end
else///////////////
begin
if strtoint(Smax) < strtoint(Dmin) then
break
else if strtoint(Smin) > strtoint(Dmax) then
break
else
begin
if str2 = copy(str1,1,3) then //判断星期
begin
if str = copy(str1,5,1) then //判断节数
goto Endroon
else
begin
break;
end;
end
else
begin
break;
end;
end;
break;
end;
end;
a:=copy(a,(j+1),strlen(pchar(a)));
end
else //////////////////////////////////////////////////
begin
str1:=ADOQuery2.fieldbyname('时间和地点').AsString ;
while((strlen(pchar(str1)) div 13) > 0) do
begin
i:=pos(';',str1);
if pos('-',str1) = 0 then
begin
ShowMessage('课程的时间地点格式错误');
exit;
end;
if copy(str1,(pos('-',str1)-2),1) = ' ' then
Dmin := copy(str1,(pos('-',str1)-1),1)
else
Dmin := copy(str1,(pos('-',str1)-2),2);
if ((copy(str1,(pos('-',str1)+2),1)=' ') or (copy(str1,(pos('-',str1)+2),1)=';')) then
Dmax := copy(str1,(pos('-',str1)+1),1)
else
Dmax := copy(str1,(pos('-',str1)+1),2);
if i > 0 then
begin
if strtoint(Smax) < strtoint(Dmin) then
else if strtoint(Smin) > strtoint(Dmax) then
else
begin
if str2 = copy(str1,1,3) then //判断星期
begin
if str = copy(str1,5,1) then //判断节数
goto Endroon
end
end;
str1:=copy(str1,(i+1),strlen(pchar(str1)));
end
else //////////////
begin
if strtoint(Smax) < strtoint(Dmin) then
break
else if strtoint(Smin) > strtoint(Dmax) then
break
else
begin
if str2 = copy(str1,1,3) then //判断星期
begin
if str = copy(str1,5,1) then //判断节数
goto Endroon
else
begin
break;
end;
end
else
begin
break;
end;
end;
break;
end;
end;
break;
end;
end;
ADOQuery1.Next ;
end;
c_id := ADOQuery2.FieldByName('课程号').AsString ;
ADOQuery1.Edit ;
ADOQuery1.Close ;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('INSERT INTO select_info(stu_no,c_id,start_time,achieve_time)');
ADOQuery1.SQL.Add('VALUES('''+user_no+''','''+c_id+''','''+start_time+''',0)');
ADOQuery1.ExecSQL;
ShowMessage('已成功选入');
SelectCourse;
exit;
Endroon:
ShowMessage('和已有的课程冲突,选课失败');
end;
procedure TForm4.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then
DbGrid2.Canvas.Brush.color:=clRed;//当前行以红色显示,其它行使用背景的浅绿色
DbGrid2.Canvas.pen.mode:=pmmask;
DbGrid2.DefaultDrawColumnCell (Rect,DataCol,Column,State);
end;
procedure TForm4.Button21Click(Sender: TObject);
begin
Panel3.Hide ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -