?? 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; //隔行改變網(wǎng)格背景色:
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); //定義背景顏色
//定義網(wǎng)格線的顏色:
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -