📄 tcourse1unit.pas
字号:
unit TCourse1Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls,ComObj, Buttons, ExtCtrls, DB, ADODB;
type
TTCourse1Form = class(TForm)
Panel1: TPanel;
BitBtn3: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
Panel2: TPanel;
tthname: TLabel;
levtname: TLabel;
edtthname: TEdit;
edttnamen: TEdit;
Panel3: TPanel;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
Label1: TLabel;
edttweekcount: TEdit;
Label2: TLabel;
edtadress: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
edttclassno: TEdit;
Label6: TLabel;
cbxtselect: TComboBox;
Label7: TLabel;
edttcredit: TEdit;
Label8: TLabel;
edttstarttoend: TEdit;
Label10: TLabel;
edttcname: TEdit;
Label11: TLabel;
Label12: TLabel;
edttgrade: TEdit;
DataSource1: TDataSource;
Label9: TLabel;
edttclno: TEdit;
ADOQuery2: TADOQuery;
cbxtscode: TComboBox;
ADOQuery3: TADOQuery;
edtthname2: TEdit;
Label13: TLabel;
edttnamen2: TEdit;
Label14: TLabel;
Label15: TLabel;
cbxtselect2: TComboBox;
cbxtlesson2: TComboBox;
Label16: TLabel;
Label17: TLabel;
edttgrade2: TEdit;
btnFind: TBitBtn;
btnReport: TButton;
Button1: TButton;
cbxtdepartment2: TComboBox;
Label18: TLabel;
edttlesson: TEdit;
edttcdepartment: TEdit;
Label19: TLabel;
cbxtcscode: TComboBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormShow(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure btnFindClick(Sender: TObject);
procedure btnReportClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure cbxtscodeChange(Sender: TObject);
procedure cbxtcscodeChange(Sender: TObject);
private
function GetUno: string;
procedure ControlTheEnablePro(isSaved: Boolean);//控制按钮面板的Enable属性
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure CopyDbDataToExcel(Args: array of const); // DbDataToExcel
{ Private declarations }
public
{ Public declarations }
end;
TControlAccess = class(TControl);
var
TCourse1Form: TTCourse1Form;
flag:integer;
temptcscode,temptclno:string;
implementation
uses DataModul, public_unit, TCourse1QRUnit, MainUnit;
{$R *.dfm}
{ TTCourse1Form }
function TTCourse1Form.GetUno: string;
var
UnoQry: TADOQuery;
id: string;
begin
UnoQry := TADOQuery.Create(self);
with Unoqry do
begin
Connection := dm.ADOConnection1;
sql.Text := 'select max(tclno) as id from TCoursel';
Open;
id := fieldbyName('id').AsString;
if id='' then
id:='1'
else
id:=inttostr(strtoint(id)+1);
end;
Result := id;
UnoQry.Free;
end;
procedure TTCourse1Form.FormCreate(Sender: TObject);
var
adoqry1:tadoquery;
begin
adoquery1.Open;
ControlTheEnablePro(true);
TControlAccess(DBGrid1).OnMouseWheel := GridMouseWheel;
adoqry1:=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;
end;
end;
procedure TTCourse1Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adoquery1.Close;
Action := caFree;
TCourse1Form := nil;
end;
procedure TTCourse1Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
with adoquery1 do
begin
edttcdepartment.Text:=fieldbyname('tcdepartment').asstring;
edttclno.Text := fieldByName('tclno').AsString;
edtthname.Text := fieldByName('thname').AsString;
edttnamen.Text := fieldByName('tname').AsString;
edttweekcount.Text := fieldByname('tweekcount').AsString;
edttcredit.Text := fieldByName('tcredit').AsString;
edttclassno.Text:=fieldbyname('tclassno').AsString;
edttstarttoend.Text:=fieldbyname('tstarttoend').AsString;
edttcname.Text:=fieldbyname('tcname').AsString;
temptcscode:= fieldbyname('tcscode').AsString;
cbxtscode.Text:=fieldbyname('tscode').AsString;
edttlesson.Text:=fieldbyname('tlesson').AsString;
temptclno:= fieldbyname('tclno').AsString;
edtadress.Text:=fieldbyname('tadress').AsString;
edttgrade.Text:=fieldbyname('tgrade').AsString;
cbxtselect.Text := fieldbyname('tselect').AsString;
cbxtcscode.Text:=fieldbyname('tcscode').AsString;
end;
end;
procedure TTCourse1Form.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 TTCourse1Form.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 TTCourse1Form.ControlTheEnablePro(isSaved: Boolean);
begin
if isSaved = true then
begin
panel3.Enabled:=true; Panel2.Enabled:=false;
BitBtn2.Enabled:=True; BitBtn3.Enabled:=true;
BitBtn4.Enabled:=true; BitBtn7.Enabled:=true;
BitBtn5.Enabled:=false; BitBtn6.Enabled:=false;
edtthname.Enabled:=false; edttnamen.Enabled:=false;
edttweekcount.Enabled:=false; edttcredit.Enabled:=false;
edttclno.Enabled:=false;
// edttnamen.Enabled:=false;
edttclassno.Enabled:=false; edttstarttoend.Enabled:=false;
edttcname.Enabled:=false;
edtadress.Enabled:=false; edttgrade.Enabled:=false;
cbxtselect.Enabled:=false;
cbxtcscode.Enabled:=false;
edttcdepartment.Enabled:=false;
edttlesson.Enabled:=false;
cbxtscode.Enabled:=false;
//********************************************************
end
else
begin
panel3.Enabled:=false; Panel2.Enabled:=true;
BitBtn2.Enabled:=false; BitBtn3.Enabled:=false;
BitBtn4.Enabled:=false; BitBtn7.Enabled:=false;
BitBtn5.Enabled:=true; BitBtn6.Enabled:=true;
edtthname.Enabled:=true; //edttnamen.Enabled:=true;
edttweekcount.Enabled:=true; edttcredit.Enabled:=true;
edttclno.Enabled:=true;
edttclassno.Enabled:=true; edttstarttoend.Enabled:=true;
edttcname.Enabled:=true;
edtadress.Enabled:=true; edttgrade.Enabled:=true;
cbxtcscode.Enabled:=true;
cbxtselect.Enabled:=true; //edttcdepartment.Enabled:=true;
cbxtscode.Enabled:=true;
//********************************************************
end;
end;
procedure TTCourse1Form.FormShow(Sender: TObject);
begin
adoquery1.Open;
// with adoquery1 do
// begin
// edttclno.Text := fieldByName('tclno').AsString;
// edtthname.Text := fieldByName('thname').AsString;
// edttnamen.Text := fieldByName('tnamen').AsString;
// edttweekcount.Text := fieldByname('tweekcount').AsString;
// edttcredit.Text := fieldByName('tcredit').AsString;
// edttclassno.Text:=fieldbyname('tclassno').AsString;
// edttstarttoend.Text:=fieldbyname('tstarttoend').AsString;
// edttcname.Text:=fieldbyname('tcname').AsString;
// edtadress.Text:=fieldbyname('tadress').AsString;
// edttgrade.Text:=fieldbyname('tgrade').AsString;
// edttlesson.Text := fieldByname('tlesson').AsString;
ControlTheEnablePro(true);
// end;
//自动获取编号 没显示出来, 添加的时候 要把tno的值也 添加到表里面
with adoquery2 do
begin
Open;
while not eof do
begin
// cbxtdepartment.Items.Add(fieldByname('dname').AsString);
cbxtdepartment2.Items.Add(fieldByname('dname').AsString);
next;
end;
end;
adoquery2.Close;
// cbxtdepartment.ItemIndex:=0;
cbxtdepartment2.ItemIndex:=0;
with adoquery3 do
begin
Open;
while not eof do
begin
cbxtscode.Items.Add(fieldByname('tscode').AsString);
cbxtlesson2.Items.Add(fieldByname('tlesson').AsString);
next;
end;
end;
adoquery3.Close;
cbxtscode.ItemIndex:=0;
cbxtlesson2.ItemIndex:=0;
end;
procedure TTCourse1Form.BitBtn2Click(Sender: TObject);
begin
clearText(self);
cbxtselect.ItemIndex := 0;
edttclno.Text:= GetUno;
ControlTheEnablePro(false);
edttclno.Enabled:=false;
edtthname.SetFocus;
cbxtscode.Text:='请选择';
flag:=1;
end;
procedure TTCourse1Form.BitBtn3Click(Sender: TObject);
var
sqlstr:string;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -