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

📄 stu_use.pas

📁 这个程序是用Delphi编写的
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  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 + -