📄 reptitle.~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 + -