📄 tcourseunit.pas
字号:
unit TCourseUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons,ComObj, ExtCtrls,DateUtils, DB, ADODB, ComCtrls;
type
TTCourseForm = class(TForm)
Panel1: TPanel;
BitBtn3: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
btnFind: TBitBtn;
btnReport: TButton;
Button1: TButton;
Label1: TLabel;
edttcno: TEdit;
Label2: TLabel;
cbxtcscode: TComboBox;
Label3: TLabel;
edttcname: TEdit;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
edttcclass: TEdit;
Label7: TLabel;
Label8: TLabel;
edttclessoncount: TEdit;
Label9: TLabel;
edttccoefficient: TEdit;
Label10: TLabel;
cbxtcsc: TComboBox;
Label11: TLabel;
edttcclessons: TEdit;
Label12: TLabel;
edttcsum: TEdit;
Label13: TLabel;
edttcreduce: TEdit;
Label14: TLabel;
edttcworksum: TEdit;
Label15: TLabel;
edttcmemo: TEdit;
Label16: TLabel;
DTP: TDateTimePicker;
cbxtclessonname: TComboBox;
Label17: TLabel;
cbtcout: TCheckBox;
Label18: TLabel;
ComboBox1: TComboBox;
Label19: TLabel;
cbmonth: TComboBox;
Label20: TLabel;
edtyear: TEdit;
Label21: TLabel;
ComboBox2: TComboBox;
Label22: TLabel;
ComboBox3: TComboBox;
edttpost: TEdit;
edttcdepartment: TEdit;
edttclesson: TEdit;
Label23: TLabel;
procedure FormCreate(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure cbxtcscodeChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure btnFindClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure btnReportClick(Sender: TObject);
procedure cbxtclessonnameChange(Sender: TObject);
procedure edttcreduceKeyPress(Sender: TObject; var Key: Char);
procedure edttclessoncountKeyPress(Sender: TObject; var Key: Char);
procedure edttccoefficientKeyPress(Sender: TObject; var Key: Char);
procedure edttcsumKeyPress(Sender: TObject; var Key: Char);
procedure edttcworksumKeyPress(Sender: TObject; var Key: Char);
procedure edttcclessonsKeyPress(Sender: TObject; var Key: Char);
private
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure ControlTheEnablePro(isSaved: Boolean);//控制按钮面板的Enable属性
function GetUno: string;
//***********************************************************
procedure CopyDbDataToExcel(Args: array of const); // DbDataToExcel
{ Private declarations }
public
{ Public declarations }
end;
TControlAccess = class(TControl);
var
TCourseForm: TTCourseForm;
flag:integer;
implementation
uses DataModul, public_unit, FAFANGUnit,TCourseFormQRUnit;
{$R *.dfm}
procedure TTCourseForm.FormCreate(Sender: TObject);
var
adoqry1,adoqry2,adoqry3:Tadoquery;
begin
adoqry1:=Tadoquery.Create(self);
adoqry2:=Tadoquery.Create(self);
adoqry3:=Tadoquery.Create(self);
with adoqry1 do
begin
Connection:=dm.ADOConnection1;
sql.Text:='select * from TTeacher';
Open;
while not eof do
begin
cbxtcscode.Items.Add(fieldByname('tno').AsString);
next;
end;
edttcname.Text:=fieldByname('tname').AsString;
end;
adoqry1.Close;
cbxtcscode.ItemIndex:=0;
with adoqry2 do
begin
Connection:=dm.ADOConnection1;
sql.Text:='select * from TDataParam where DTypeId=002';
Open;
while not eof do
begin
combobox3.Items.Add(fieldByname('DName').AsString);
next;
end;
close;
end;
adoqry2.Close;
//cbxtcdepartment.ItemIndex:=0;
with adoqry3 do
begin
Connection:=dm.ADOConnection1;
sql.Text:='select * from TLesson ';
Open;
while not eof do
begin
cbxtclessonname.Items.Add(fieldByname('tscode').AsString);
next;
end;
close;
end;
TControlAccess(DBGrid1).OnMouseWheel := GridMouseWheel;
end;
procedure TTCourseForm.GridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
TDBGrid(Sender).DataSource.DataSet.MoveBy(-WheelDelta div WHEEL_DELTA);
Handled := True;
end;
procedure TTCourseForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then Exit; //隔行改变网格背景色:
if adoquery1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clinfobk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//定义网格线的颜色:
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do //画 cell 的边框
begin
Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
MoveTo(Rect.Left, Rect.Bottom); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
Pen.Color := clbtnface; //定义画笔颜色(兰色)
MoveTo(Rect.Right, Rect.Top); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画绿色
end;
end;
procedure TTCourseForm.ADOQuery1AfterScroll(DataSet: TDataSet);
var
adoqry:tadoquery;
begin
adoquery1.Open;
with adoquery1 do
begin
edttcno.Text := fieldByName('tcno').AsString;
edttcclass.Text := fieldByName('tcclass').AsString;
edttcname.Text := fieldByName('tname').AsString;
edttclessoncount.Text := fieldByName('tclessoncount').AsString;
edttcclessons.Text := fieldByName('tcclessons').AsString;
edttcsum.Text := fieldByName('tcsum').AsString;
edttcworksum.Text := fieldByName('tcworksum').AsString;
edttcmemo.Text := fieldByName('tcmemo').AsString;
edttccoefficient.Text:= fieldByName('tccoefficient').AsString;
edttcreduce.Text:=fieldByName('tcreduce').AsString;
if fieldByName('tctime').AsString = '' then
dtp.Date :=now
else
dtp.Date := strtodate(fieldByName('tctime').AsString);
if fieldByName('tbool').AsString = '是' then
cbtcout.Checked:=true
else
cbtcout.Checked:=false;
cbxtclessonname.Text:= fieldByName('tscode').AsString;
cbxtcscode.Text := fieldByName('tcscode').AsString;
edttcdepartment.Text := fieldByName('tcdepartment').AsString;
cbxtcsc.Text := fieldByName('tcsc').AsString;
edttclesson.Text:=fieldByname('tlesson').AsString;
adoqry:=Tadoquery.Create(self);
with adoqry do
begin
Connection:=dm.ADOConnection1;
sql.Text:='select tpost from TTeacher where tno = '+quotedstr(cbxtcscode.Text);
Open;
edttpost.Text:=fieldbyname('tpost').AsString;
end;
adoqry.Free;
end;
end;
procedure TTCourseForm.cbxtcscodeChange(Sender: TObject);
var
adoqry:Tadoquery;
begin
adoqry:=Tadoquery.Create(self);
with adoqry do
begin
Connection:=dm.ADOConnection1;
sql.Text:='select * from TTeacher where tno = '+quotedstr(cbxtcscode.Text);
Open;
edttcname.Text:=fieldByname('tname').AsString;
edttpost.Text:=fieldbyname('tpost').AsString;
edttcdepartment.Text := fieldByName('tcdepartment').AsString;
if fieldByName('tbool').AsString = '是' then
cbtcout.Checked:=true
else
cbtcout.Checked:=false;
end;
adoqry.Free;
end;
procedure TTCourseForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoquery1.Close;
Action := caFree;
TCourseForm := nil;
end;
procedure TTCourseForm.FormShow(Sender: TObject);
begin
adoquery1.Open;
ControlTheEnablePro(true);
end;
procedure TTCourseForm.ControlTheEnablePro(isSaved: Boolean);
begin
if isSaved = true then
begin
panel4.Enabled:=true; Panel2.Enabled:=false;
BitBtn2.Enabled:=True; BitBtn3.Enabled:=true;
BitBtn4.Enabled:=true; BitBtn7.Enabled:=true;
BitBtn5.Enabled:=false; BitBtn6.Enabled:=false;
edttcno.Enabled:=false; edttcclass.Enabled:=false;
edttcname.Enabled:=false; edttclessoncount.Enabled:=false;
edttccoefficient.Enabled:=false; edttcclessons.Enabled:=false;
edttcsum.Enabled:=false; edttcreduce.Enabled:=false;
edttcworksum.Enabled:=false; edttcmemo.Enabled:=false;
dtp.Enabled:=false;
cbtcout.Enabled:=false;
cbxtcscode.Enabled:=false; edttpost.Enabled:=false;
edttclesson.Enabled:=false;
edttcdepartment.Enabled:=false;
cbxtclessonname.Enabled:=false;
cbxtcsc.Enabled:=false;
//********************************************************
end
else
begin
panel4.Enabled:=false; Panel2.Enabled:=true;
BitBtn2.Enabled:=false; BitBtn3.Enabled:=false;
BitBtn4.Enabled:=false; BitBtn7.Enabled:=false;
BitBtn5.Enabled:=true; BitBtn6.Enabled:=true;
edttcno.Enabled:=true; edttcclass.Enabled:=true;
edttclessoncount.Enabled:=true;
edttccoefficient.Enabled:=true; edttcclessons.Enabled:=true;
edttcsum.Enabled:=true; edttcreduce.Enabled:=true;
edttcworksum.Enabled:=true; edttcmemo.Enabled:=true;
dtp.Enabled:=true;
cbxtcscode.Enabled:=true;
//cbxtcdepartment.Enabled:=true;
// edttcdepartment.Enabled:=true;
cbxtclessonname.Enabled:=true;
cbxtcsc.Enabled:=true;
//********************************************************
end;
end;
procedure TTCourseForm.BitBtn2Click(Sender: TObject);
begin
clearText(self);
cbxtcscode.Text := '请选择';
//cbxtcdepartment.Text :='请选择';
cbxtclessonname.Text := '请选择';
cbxtcsc.Text := '请选择';
edttcno.Text:= GetUno;
ControlTheEnablePro(false);
edttcno.Enabled:=false;
edttcname.Enabled:=false;
cbxtcscode.SetFocus;
flag:=1;
end;
function TTCourseForm.GetUno: string;
var
UnoQry: TADOQuery;
id: string;
begin
UnoQry := TADOQuery.Create(self);
with Unoqry do
begin
Connection := dm.ADOConnection1;
sql.Text := 'select max(tcno) as id from TCourse';
Open;
id := fieldbyName('id').AsString;
if id='' then
id:='1'
else
id:=inttostr(strtoint(id)+1);
end;
Result := id;
UnoQry.Free;
end;
procedure TTCourseForm.BitBtn3Click(Sender: TObject);
var
adoqry:tadoquery;
begin
if messagebox(handle,'您确定要删除吗?','提示',MB_YESNO + MB_ICONQUESTION)=ID_yes then
begin
adoqry:=tadoquery.Create(self);
with adoqry do
begin
connection:=dm.ADOConnection1;
sql.Text:='delete from TCourse where tcno='+quotedstr(edttcno.Text);
ExecSQL;
end;
adoqry.Free;
end;
adoquery1.Close;
adoquery1.Open;
ControlTheEnablePro(true);
end;
procedure TTCourseForm.BitBtn4Click(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -