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

📄 tcourse1unit.pas

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