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

📄 tlessonunit.pas

📁 DELPHI计算机科学系教务管理系统,带论文设计,不错的参考
💻 PAS
字号:
unit TLessonUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids;

type
  TTLessonForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Label1: TLabel;
    edttscode: TEdit;
    Label2: TLabel;
    edttlesson: TEdit;
    BitBtn1: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn5: TBitBtn;
    procedure ADOQuery1AfterScroll(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
    WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    { Private declarations }
  public
    { Public declarations }
  end;
    TControlAccess = class(TControl);
var
  TLessonForm: TTLessonForm;
   flag:integer;
implementation

uses DataModul, public_unit;

{$R *.dfm}

procedure TTLessonForm.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
  adoquery1.Open;
  with adoquery1 do
  begin
    edttscode.Text := fieldByName('tscode').AsString;
    edttlesson.Text := fieldByName('tlesson').AsString;
  end;
end;

procedure TTLessonForm.FormCreate(Sender: TObject);
begin
  adoquery1.Open;
  with adoquery1 do
  begin
    edttscode.Text := fieldByName('tscode').AsString;
    edttlesson.Text := fieldByName('tlesson').AsString;
  end;
  TControlAccess(DBGrid1).OnMouseWheel := GridMouseWheel;
end;

procedure TTLessonForm.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 TTLessonForm.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 TTLessonForm.BitBtn1Click(Sender: TObject);
begin
  close;
end;

procedure TTLessonForm.BitBtn3Click(Sender: TObject);
begin
  if messagebox(handle,'您确定要删除吗?','提示',MB_YESNO + MB_ICONQUESTION)=ID_yes  then
  begin
      adoquery1.Delete;
  end;
  BitBtn1.Enabled:=true;
  BitBtn2.Enabled:=true;
  BitBtn3.Enabled:=true;
  BitBtn4.Enabled:=true;
  BitBtn5.Enabled:=false;
  BitBtn6.Enabled:=false;
  edttlesson.Enabled:=false;
  DBGrid1.Enabled:=true;
end;

procedure TTLessonForm.FormShow(Sender: TObject);
begin
  BitBtn1.Enabled:=true;
  BitBtn2.Enabled:=true;
  BitBtn3.Enabled:=true;
  BitBtn4.Enabled:=true;
  BitBtn5.Enabled:=false;
  BitBtn6.Enabled:=false;
  edttscode.Enabled:=false;
  edttlesson.Enabled:=false;
  DBGrid1.Enabled:=true;
  adoquery1.Active:=true;
end;

procedure TTLessonForm.BitBtn4Click(Sender: TObject);
begin
  flag:=2;
  BitBtn1.Enabled:=false;
  BitBtn2.Enabled:=false;
  BitBtn3.Enabled:=false;
  BitBtn4.Enabled:=false;
  BitBtn5.Enabled:=true;
  BitBtn6.Enabled:=true;
  edttlesson.Enabled:=true;
  DBGrid1.Enabled:=false;
end;

procedure TTLessonForm.BitBtn2Click(Sender: TObject);
var
  adoqry:Tadoquery;
  str:string;
  i:integer;
begin
  flag:=1;
   adoqry:=Tadoquery.Create(self);
   with adoqry do
   begin
     connection:=dm.ADOConnection1;
     sql.Text:='select max(tscode) as sc from TLesson';
     open;
     if fieldbyname('sc').AsString ='' then
         edttscode.Text:='701900'
       else
       begin
         str:=fieldbyname('sc').AsString;
         i:=strtoint(str)+1;
         edttscode.Text:=inttostr(i);
       end;

   end;
     adoqry.Free;
  BitBtn1.Enabled:=false;
  BitBtn2.Enabled:=false;
  BitBtn3.Enabled:=false;
  BitBtn4.Enabled:=false;
  BitBtn5.Enabled:=true;
  BitBtn6.Enabled:=true;
  //edttscode.SetFocus;
  edttlesson.Enabled:=true;
  DBGrid1.Enabled:=false;
  edttlesson.Text:='';

end;

procedure TTLessonForm.BitBtn6Click(Sender: TObject);
var
  sqlstr:string;
begin
  if flag =1 then
  begin
      adoquery1.Close;
      sqlStr :=  'INSERT TLesson(tscode,tlesson)'
                  + 'Values('
                  + QuotedStr(edttscode.Text)+','
                  + QuotedStr(edttlesson.Text)
                  +')';
      ToExecSQL(sqlStr, DM.ADOConnection1);
      showmessage('添加成功!');
      adoquery1.Open;
  end;
  if flag=2 then
  begin 
  if messagebox(handle,'您确定要修改吗?','提示',MB_YESNO + MB_ICONQUESTION)=ID_yes  then
  begin
       adoquery1.Close;
       sqlStr := 'UPDATE TLesson SET tscode=' + QuotedStr(edttscode.Text) +','
                    + 'tlesson=' + QuotedStr(edttlesson.Text)
                    +' WHERE tscode=' + QuotedStr(edttscode.Text);//(adoquery1.fieldbyname('tscode').AsString);
      ToExecSQL(sqlStr, DM.ADOConnection1);
      showmessage('修改成功!');
  end;
  adoquery1.Open;
  end;
  BitBtn1.Enabled:=true;
  BitBtn2.Enabled:=true;
  BitBtn3.Enabled:=true;
  BitBtn4.Enabled:=true;
  BitBtn5.Enabled:=false;
  BitBtn6.Enabled:=false;
  edttlesson.Enabled:=false;
  DBGrid1.Enabled:=true;  
end;

procedure TTLessonForm.BitBtn5Click(Sender: TObject);
begin
  BitBtn1.Enabled:=true;
  BitBtn2.Enabled:=true;
  BitBtn3.Enabled:=true;
  BitBtn4.Enabled:=true;
  BitBtn5.Enabled:=false;
  BitBtn6.Enabled:=false;
  edttlesson.Enabled:=false;
  DBGrid1.Enabled:=true;
  adoquery1.Open;
  with adoquery1 do
  begin
    edttscode.Text := fieldByName('tscode').AsString;
    edttlesson.Text := fieldByName('tlesson').AsString;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -