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

📄 reptitle.~pas

📁 中学考试管理系统 采用智能管理 具有统计分析的能力
💻 ~PAS
字号:
unit reptitle;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, Grids,  QRCtrls, ExtCtrls,
  DBGrids, DBCtrls, ComCtrls;

type
  TForm7 = class(TForm)
    GroupBox1: TGroupBox;
    Title: TEdit;
    Button1: TButton;
    Button2: TButton;
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    qry: TADOQuery;
    Button3: TButton;
    kindQry: TADOQuery;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    con: TComboBox;
    cName: TComboBox;
    grade: TComboBox;
    kindCB: TComboBox;
    Button4: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    DBNavigator1: TDBNavigator;
    DBNavigator2: TDBNavigator;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    optionQry: TADOQuery;
    teacherQry: TADOQuery;
    GroupBox4: TGroupBox;
    Label6: TLabel;
    conditionCB: TComboBox;
    Label1: TLabel;
    numEd: TEdit;
    Label2: TLabel;
    cNumCB: TComboBox;
    Label5: TLabel;
    tNumCB: TComboBox;
    Button5: TButton;
    Button6: TButton;
    DBGrid1: TDBGrid;
    DBGrid4: TDBGrid;
    DBNavigator3: TDBNavigator;
    DataSource4: TDataSource;
    DBNavigator4: TDBNavigator;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure gradeChange(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure conditionCBChange(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private declarations }
    procedure printview(t:String);
  public
    { Public declarations }
  end;

var
  Form7: TForm7;

implementation

uses rep, main, logout;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);
begin
  if (title.text)='' then
    if messagedlg('你不需要标题吗?',mtconfirmation,[mbYes,mbNo],0) = mrNo
    then exit;
  printview(title.Text);
end;

procedure TForm7.printview(t:String);
var
  dbTitle:TQRLabel;
  dbTxt:TQRDBText;
  l,i:integer;
  s : String;
  const interval=7;

begin
    i:=0;
    l:=0;
    Form8:=TForm8.Create(application);
    Form8.titlelab.Caption:=t;

    with Form8 do
    //如果生成的列标题名总长大于报表可容纳的长度,或可用字段名已经用完,则停止
    while(l<headBand1.Width) and (i<=DBGrid1.FieldCount-1) do
      begin
        dbTitle:=TQRLabel.Create(self);
        dbTitle.Parent:=headBand1;
        dbTitle.Font.Color:=clWhite;
        dbTitle.Transparent:=true;
        dbTitle.AutoSize:=true;
        dbTitle.Left:=l;
        dbTitle.Top:=10;
        s:=DBGrid1.Columns.Items[i].FieldName;
        dbTitle.Caption:=s;
        dbTxt:=TQRdbText.Create(self);
        dbTxt.Parent:=QRBand2;
        dbTxt.AutoSize:=true;
        dbTxt.Left:=l;
        dbTxt.Top:=10;
        dbTxt.DataSet:=qry;
        dbTxt.DataField:=s;
        if(i=0) then
          begin
            l:=l+dbTxt.Width+35;
            i:=i+1;
          end
        else if(i=1) then
          begin
            l:=l+dbTxt.Width+25;
            i:=i+1;
          end
        else
          begin
            l:=l+dbTxt.Width+interval;
            i:=i+1;
          end;
      end;
    Form8.QuickRep1.Preview;
end;

procedure TForm7.Button2Click(Sender: TObject);
begin
   Form7.Hide;
   Form14.show;
//  Application.Terminate;
end;

procedure TForm7.Button3Click(Sender: TObject);
begin
  Form7.Hide;
  Form2.show;
end;

procedure TForm7.Button4Click(Sender: TObject);
var
table_name,class_name : String;
begin
  table_name:='';
  class_name:='';
  if(grade.Text='初一') then table_name:='grade1_mark'
  else if(grade.Text='初二') then table_name:='grade2_mark'
  else if(grade.Text='初三') then table_name:='grade3_mark';
  if(con.Text='按年级生成') then
    begin
      if(table_name='') then showMessage('请先选择年级')
      else
        begin
          qry.Close;
          qry.SQL.Clear;
          qry.SQL.Add('select * from  '+table_name+'  where 考试类别= '''+kindCB.text+'''');
          qry.Open;
        end;
     end
   else if(con.Text='按班级生成') then
     begin
       class_name:='';
       if(cName.Text='一班') then class_name:='一班'
       else if (cName.Text='二班') then class_name:='二班';
       if(table_name='') then showMessage('请先选择年级')
       else if (class_name='') then showMessage('请先选择班级')
       else
         begin
           qry.Close;
           qry.SQL.Clear;
           qry.SQL.Add('select * from  '+table_name+' where 班级= '''+class_name+''' and 考试类别= '''+kindCB.Text+'''');
           qry.Open;
         end
      end;
end;


procedure TForm7.gradeChange(Sender: TObject);
var
  i:integer;
  table_name:String;
begin
  i:=1;
  if(grade.Text='初一') then table_name:='grade1_mark'
  else if(grade.Text='初二') then table_name:='grade2_mark'
  else if(grade.Text='初三') then table_name:='grade3_mark';
  kindQry.Close;
  kindQry.SQL.Clear;
  kindQry.SQL.Add('select distinct(考试类别) from  '+table_name+'');
  kindQry.Open;
  //showMessage(inttoStr(kindQry.RecordCount));
  kindCB.Clear;
  while(i<=kindQry.RecordCount) do
    begin
      kindCB.Items.Add(kindQry.Fields[0].asString) ;
      if(i=1) then kindCB.Text:=kindQry.Fields[0].asString;
      i:=i+1;
    end;

end;

procedure TForm7.TabSheet1Show(Sender: TObject);
var
  i:integer;
begin
  i:=1;
  kindQry.Close;
  kindQry.SQL.Clear;
  kindQry.SQL.Add('select distinct(考试类别) from grade1_mark');
  kindQry.Open;
  kindCB.Clear;
  kindCB.Text:='半期考';
  while(i<=kindQry.RecordCount) do
    begin
      kindCB.Items.Add(kindQry.Fields[0].asString) ;
      if(i=1) then kindCB.Text:=kindQry.Fields[0].asString;
      i:=i+1;
    end;

end;
procedure TForm7.TabSheet2Show(Sender: TObject);
var
cNum,tNum:String ;
i:integer;
begin
  i:=1 ;
  conditionCB.Text:='按学号生成';
  numEd.Clear;
  cNumCB.clear;
  tNumCB.Clear;
  kindQry.close;
  kindQry.SQL.Clear;
  kindQry.SQL.Add('select  distinct 课程号 from option_course');
  kindQry.Open;
  if not(kindQry.Eof) then
    begin
      while(i<=kindQry.RecordCount) do
        begin
          cNum:=kindQry.Fields[0].AsString;
          if(i=1 ) then cNumCB.Text:=cNum;
          cNumCB.Items.Add(cNum);
          kindQry.Next;
          i:=i+1;
        end;
    end ;

  i:=1;
  kindQry.close;
  kindQry.SQL.Clear;
  kindQry.SQL.Add('select 教师编号 from option_course');
  kindQry.Open;
  if not(kindQry.Eof) then
    begin
      while(i<=kindQry.RecordCount) do
        begin
          tNum:=kindQry.Fields[0].AsString;
          if(i=1 ) then tNumCB.Text:=tNum;
          tNumCB.Items.Add(tNum);
          kindQry.Next;
          i:=i+1;
        end;
    end ;
end;

procedure TForm7.conditionCBChange(Sender: TObject);
begin
  if(conditionCB.Text='按学号生成') then
    begin
      Label1.Enabled:=true;
      numEd.Enabled:=true;
      Label2.Enabled:=false;
      cNumCB.Enabled:=false;
      Label5.Enabled:=false;
      tNumCB.Enabled:=false;
    end
  else if(conditionCB.Text='按课程生成') then
    begin
      Label1.Enabled:=false;
      numEd.Enabled:=false;
      Label2.Enabled:=true;
      cNumCB.Enabled:=true;
      Label5.Enabled:=false;
      tNumCB.Enabled:=false;
    end
  else if(conditionCB.Text='按任课教师生成') then
    begin
      Label1.Enabled:=false;
      numEd.Enabled:=false;
      Label2.Enabled:=false;
      cNumCB.Enabled:=false;
      Label5.Enabled:=true;
      tNumCB.Enabled:=true;
    end ;

end;

procedure TForm7.Button5Click(Sender: TObject);
begin
  if(conditionCB.Text='按学号生成') then
    begin
      if(length(numEd.Text)>0) then
        begin
          qry.Close;
          qry.SQL.Clear;
          qry.SQL.Add('select * from optionMark where 学号='''+numEd.Text+'''');
          qry.Open;
        end
      else
        showMessage('请先输入学号');    
    end
  else if(conditionCB.Text='按课程生成') then
    begin
      qry.Close;
      qry.SQL.Clear;
      qry.SQL.Add('select * from optionMark where 课程号='''+cNumCB.Text+'''');
      qry.Open;
    end
  else if(conditionCB.Text='按任课教师生成') then
    begin
      qry.Close;
      qry.SQL.Clear;
      qry.SQL.Add('select * from optionMark where 教师编号='''+tNumCB.Text+'''');
      qry.Open;
    end ;

end;

procedure TForm7.Button6Click(Sender: TObject);
begin
  numEd.Clear;
end;

end.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -