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

📄 tcourseunit.pas

📁 DELPHI计算机科学系教务管理系统,带论文设计,不错的参考
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -