📄 clesson.pas
字号:
unit cLesson;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, DBCtrls, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;
type
TfrmLession = class(TForm)
Panel1: TPanel;
Label3: TLabel;
btnq1: TSpeedButton;
btnq2: TSpeedButton;
Label4: TLabel;
btnq3: TSpeedButton;
Edit1: TEdit;
Edit2: TEdit;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
btnadd: TSpeedButton;
btndel: TSpeedButton;
btnok: TSpeedButton;
btncancel: TSpeedButton;
btnprint: TSpeedButton;
btnclose: TSpeedButton;
dbid: TDBEdit;
dbcClass: TDBEdit;
GroupBox1: TGroupBox;
Label5: TLabel;
Label6: TLabel;
Edit3: TEdit;
Edit4: TEdit;
procedure FormCreate(Sender: TObject);
procedure btnq1Click(Sender: TObject);
procedure btnq2Click(Sender: TObject);
procedure btnq3Click(Sender: TObject);
procedure btnaddClick(Sender: TObject);
procedure btndelClick(Sender: TObject);
procedure btnokClick(Sender: TObject);
procedure btncancelClick(Sender: TObject);
procedure btncloseClick(Sender: TObject);
procedure dbcClassClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnprintClick(Sender: TObject);
private
{ Private declarations }
formmode :string;
procedure btnmode;
procedure insertmode;
procedure editmode;
procedure normalmode;
public
{ Public declarations }
end;
var
frmLession: TfrmLession;
implementation
uses MainD,UTIL,urep;
{$R *.dfm}
{ TfrmLession }
procedure TfrmLession.btnmode;
begin
dbid.Enabled := false;
btnadd.Enabled := false;
btndel.Enabled := false;
btnok.Enabled := false;
btncancel.Enabled:= false;
btnprint.Enabled := false;
btnq1.Enabled := false;
btnq2.Enabled := false;
btnq3.Enabled := false;
if formmode = 'normal' then
begin
dbid.Enabled := false;
btnadd.Enabled := true;
btndel.Enabled := true;
btnok.Enabled := false;
btncancel.Enabled:= false;
btnprint.Enabled := true;
btnq1.Enabled := true;
btnq2.Enabled := true;
btnq3.Enabled := true;
btnclose.Enabled := true;
DBGrid1.Enabled := true;
end else if (formmode = 'ins') or (formmode = 'edt') then
begin
if formmode = 'ins' then
dbid.Enabled := true;
btnadd.Enabled := false;
btndel.Enabled := false;
btnok.Enabled := true;
btncancel.Enabled:= true;
btnprint.Enabled := false;
btnq1.Enabled := false;
btnq2.Enabled := false;
btnq3.Enabled := false;
btnclose.Enabled := false;
DBGrid1.Enabled := false;
end;
end;
procedure TfrmLession.editmode;
begin
formmode := 'edt';
btnmode;
end;
procedure TfrmLession.insertmode;
begin
formmode := 'ins';
btnmode;
end;
procedure TfrmLession.normalmode;
begin
formmode := 'normal';
btnmode;
end;
procedure TfrmLession.FormCreate(Sender: TObject);
begin
normalmode;
With MainDFrm do
begin
qutil.SQL.Clear;
qutil.SQL.Add('Select * from Course');
Uqutil.InsertSQL.Clear;
Uqutil.InsertSQL.Add('insert into Course(cID,cName)');
Uqutil.InsertSQL.Add('values');
Uqutil.InsertSQL.Add('(:cID,:cName)');
Uqutil.ModifySQL.Clear;
Uqutil.ModifySQL.Add('Update Course set');
Uqutil.ModifySQL.Add('cName=:cName');
Uqutil.ModifySQL.Add('Where cID=:cID');
Uqutil.DeleteSQL.Clear;
Uqutil.DeleteSQL.Add('DELETE FROM Course ');
Uqutil.DeleteSQL.Add('WHERE cID =:cID');
qutil.Close;
qutil.Open;
DBGrid1.Columns.Items[0].FieldName := 'cID';
DBGrid1.Columns.Items[1].FieldName := 'cName';
dbid.DataField := 'cID';
dbcclass.DataField := 'cName';
end;
end;
procedure TfrmLession.btnq1Click(Sender: TObject);
begin
MaindFrm.qutil.SQL.Clear;
MainDFrm.qutil.SQL.Add('Select * from Course');
MainDFrm.qutil.Sql.Add('Where cID>='''+edit1.Text+'''');
MainDFrm.qutil.SQL.Add('And cID<='''+edit3.Text +'''');
MaindFrm.qutil.Close;
MainDFrm.qutil.Open;
end;
procedure TfrmLession.btnq2Click(Sender: TObject);
begin
MaindFrm.qutil.SQL.Clear;
MainDFrm.qutil.SQL.Add('Select * from Course');
MainDFrm.qutil.Sql.Add('Where cName='''+edit2.Text+'''');
MainDFrm.qutil.SQL.Add('And cName<='''+edit4.Text +'''');
MaindFrm.qutil.Close;
MainDFrm.qutil.Open;
end;
procedure TfrmLession.btnq3Click(Sender: TObject);
begin
MaindFrm.qutil.SQL.Clear;
MainDFrm.qutil.SQL.Add('Select * from Course');
MaindFrm.qutil.Close;
MainDFrm.qutil.Open;
end;
procedure TfrmLession.btnaddClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'lessadd')=False then exit;
insertmode;
MainDFrm.qutil.Append;
MaindFrm.qutil.FieldByName('cID').Value:='';
MaindFrm.qutil.FieldByName('cName').Value:='';
dbid.SetFocus;
end;
procedure TfrmLession.btndelClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'lessdel')=False then exit;
normalmode;
if messagebox(Application.Handle,'如果您点确定键此条记录将被删除','警告',
mb_ICONWarning+mb_yesno+mb_defbutton2)= mryes then
with MainDFrm do
begin
Uqutil.DeleteSQL.Clear;
Uqutil.DeleteSQL.Add('DELETE FROM Course ');
Uqutil.DeleteSQL.Add('WHERE cID ='''+dbid.Field.Value+'''');
try
qutil.Delete;
qutil.Database.StartTransaction;
qutil.ApplyUpdates;
qutil.CommitUpdates;
qutil.Database.Commit;
except
qutil.Database.Rollback;
qutil.CancelUpdates;
showmessage('存盘失败!');
end;
end;
end;
procedure TfrmLession.btnokClick(Sender: TObject);
begin
with MainDFrm do
try
qutil.Post;
qutil.Database.StartTransaction;
qutil.ApplyUpdates;
qutil.CommitUpdates;
qutil.Database.Commit;
except
qutil.Database.Rollback;
qutil.CancelUpdates;
showmessage('存盘失败!');
end;
normalmode;
end;
procedure TfrmLession.btncancelClick(Sender: TObject);
begin
if messagebox(0,'确定不新增本条数据?','提示',
mb_ICONInformation+mb_yesno+mb_defbutton2)= mryes then
begin
MainDFrm.qutil.Cancel;
normalmode;
end;
end;
procedure TfrmLession.btncloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmLession.dbcClassClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'lessdel')=False then exit;
editmode;
MainDFrm.qutil.Edit;
//MaindFrm.qutil.FieldByName('cID').Value:=dbid.Field.Value;
//MaindFrm.qutil.FieldByName('cName').Value:=dbid.Field.Value;
end;
procedure TfrmLession.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
canClose := True;
if (formmode = 'ins') or (formmode = 'edt') then
begin
MessageBox(application.Handle,'请先结束输入模式后再离开','警告',
mb_ICONWarning+mb_OK);
canClose := False;
end;
end;
procedure TfrmLession.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmLession.btnprintClick(Sender: TObject);
var
repfrm: Trepfrm;
begin
//if not Assigned(repfrm) then
repfrm := Trepfrm.Create(Application);
repfrm.QRLabel1.Caption := school+' 课程一览表';
repfrm.QRLabel2.Caption := '课程编号';
repfrm.QRLabel3.Caption := '课程名称';
repfrm.QRDBText1.DataSet := MainDFrm.qutil;
repfrm.QRDBText2.DataSet := MainDFrm.qutil;
repfrm.QRDBText1.DataField := 'cID';
repfrm.QRDBText2.DataField := 'cName';
try
repfrm.PreviewModal;
finally
repfrm.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -