📄 tlessonunit.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 + -