📄 uscore.pas
字号:
unit uscore;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, DBTables, Grids, DBGrids, ExtCtrls,
ComCtrls, Mask, DBCtrls;
type
TFrmscore = class(TForm)
SpeedButton1: TSpeedButton;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
BtnNew: TSpeedButton;
BtnEdit: TSpeedButton;
BtnDel: TSpeedButton;
BtnYes: TSpeedButton;
BtnCancel: TSpeedButton;
BtnClose: TSpeedButton;
btnw1: TSpeedButton;
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
ListBox1: TListBox;
GroupBox2: TGroupBox;
ListBox2: TListBox;
Label1: TLabel;
BoxTerm: TComboBox;
Label2: TLabel;
BoxStyle: TComboBox;
GroupBox3: TGroupBox;
ListBox3: TListBox;
Panel4: TPanel;
Panel6: TPanel;
dbmark: TDBEdit;
Label3: TLabel;
spbtn1: TSpeedButton;
spbtn2: TSpeedButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
dbbName: TDBEdit;
dbcClass: TDBEdit;
dbcName: TDBEdit;
dbTerm: TDBEdit;
dbcStyle: TDBEdit;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
btnquery: TSpeedButton;
dbbID: TDBEdit;
dbcID: TDBEdit;
dbccID: TDBEdit;
GroupBox4: TGroupBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
SpeedButton2: TSpeedButton;
Edit9: TEdit;
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BtnNewClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnDelClick(Sender: TObject);
procedure BtnYesClick(Sender: TObject);
procedure BtnCancelClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure btnw1Click(Sender: TObject);
procedure dbmarkKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
procedure btnqueryClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BtnSetClick(Sender: TObject);
procedure BtnPreviewClick(Sender: TObject);
procedure BtnPrintClick(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
private
{ Private declarations }
formmode:string;
procedure BtnMode;
procedure InsertMode;
Procedure UpdateMode;
Procedure NormalMode;
Function checkboxnull:boolean;
public
{ Public declarations }
end;
var
Frmscore: TFrmscore;
implementation
uses MainD,UTIL,UMarkrep;
{$R *.dfm}
procedure TFrmscore.SpeedButton1Click(Sender: TObject);
begin
with MainDFrm do
begin
Qgrant.SQL.clear;
Qgrant.SQL.Add('create view subject as');
Qgrant.SQL.Add('select a.bID,b.bName,c.cClass,d.cName,a.mark');
Qgrant.SQL.Add('from Coursemark a,Arcinfo b,Classinfo c,Course d');
Qgrant.SQL.Add('where a.bID=b.bID and a.cID=c.cID');
Qgrant.SQL.Add('and a.ccID=d.cID and b.cID=c.cID');
Qgrant.Close;
QGrant.ExecSQL;
showmessage('alter view subjectinfo success!');
end;
end;
procedure TFrmscore.FormCreate(Sender: TObject);
var
tmpstr:string;
i:integer;
begin
boxTerm.Clear;
for i := 0 to 10 do
begin
boxTerm.Items.Add(inttoStr(2002+i)+'春');
boxTerm.Items.Add(inttoStr(2002+i)+'秋');
end;
with MainDFrm do
begin
Qutil.SQL.Clear;
Qutil.SQL.Add('select * from subject');
UQutil.InsertSQL.Clear;
UQutil.InsertSQL.Add('insert into CourseMark');
UQutil.InsertSQL.Add('(bID,cID,ccID,mark,cStyle,Term)');
UQutil.InsertSQL.Add('values');
UQutil.InsertSQL.Add('(:bID,:cID,:ccID,:mark,:cStyle,:Term)');
UQutil.ModifySQL.Clear;
UQutil.ModifySQL.Add('Update CourseMark set');
UQutil.ModifySQL.Add('mark=:mark');
UQutil.ModifySQL.Add('where bID=:bID and cID=:cID and ccID=:ccID and cStyle=:cStyle and Term=:Term');
UQutil.DeleteSQL.Clear;
UQutil.DeleteSQL.Add('delete from CourseMark');
UQutil.DeleteSQL.Add('where bID=:bID');
UQutil.DeleteSQL.Add('and cID=:cID');
UQutil.DeleteSQL.Add('and ccID=:cID');
UQutil.DeleteSQL.Add('and Mark=:mark');
UQutil.DeleteSQL.add('and Term=:Term');
UQutil.DeleteSQL.Add('and cStyle=:cStyle');
Qutil.Close;
Qutil.Open;
dbMark.DataField := 'mark';
dbbID.DataField := 'bID';
dbbName.DataField:= 'bName';
dbcClass.DataField:= 'cClass';
dbcName.DataField := 'cName';
dbTerm.DataField := 'Term';
dbcStyle.DataField:= 'cStyle';
dbccID.DataField := 'ccID';
dbcID.DataField :='cID';
Qgrant.SQL.Clear;
Qgrant.SQL.Add('select * from Classinfo');
Qgrant.SQL.Add('order by cID');
Qgrant.Close;
Qgrant.Open;
Qgrant.First;
listbox1.Items.Clear;
while not Qgrant.Eof do
begin
tmpstr:= Qgrant.fields.Fields[0].asstring+'| '
+ Qgrant.fields.fields[1].asstring;
listbox1.Items.Add(tmpstr);
Qgrant.next;
end;
Qgrant.SQL.Clear;
Qgrant.SQL.Add('select * from Course');
Qgrant.SQL.Add('order by cID');
Qgrant.Close;
Qgrant.Open;
Qgrant.First;
listbox2.Items.Clear;
while not Qgrant.Eof do
begin
tmpstr:= Qgrant.fields.fields[0].asstring+'| '
+ Qgrant.fields.fields[1].asstring;
listbox2.Items.Add(tmpstr);
Qgrant.next;
end;
end;
normalmode;
end;
procedure TFrmscore.BtnMode;
begin
BtnNew.Enabled := False;
BtnEdit.Enabled := False;
BtnDel.Enabled := False;
BtnYes.Enabled := False;
BtnCancel.Enabled := False;
BtnClose.Enabled := False;
spbtn1.Enabled := false;
spbtn2.Enabled := false;
btnquery.Enabled := False;
DBGrid1.Enabled := False;
panel4.Enabled := False;
pagecontrol1.Pages[1].Enabled := False;
if formmode = 'nor' then
begin
panel4.Enabled := true;
pagecontrol1.Pages[1].Enabled := true;
spbtn1.Enabled := true;
spbtn2.Enabled := false;
BtnNew.Enabled := True;
BtnEdit.Enabled := True;
BtnDel.Enabled := True;
BtnYes.Enabled := False;
BtnCancel.Enabled := False;
BtnClose.Enabled := True;
btnquery.Enabled := True;
DBGrid1.Enabled := True;
btnw1.Enabled := True;
end else if (formmode='ins') or (formmode='edt') then begin
// if formmode = 'ins' then
// dbbID.Enabled := True;
panel4.Enabled := False;
pagecontrol1.Pages[1].Enabled := False;
spbtn1.Enabled := false;
spbtn2.Enabled := true;
BtnNew.Enabled := False;
BtnEdit.Enabled := False;
BtnDel.Enabled := False;
BtnYes.Enabled := True;
BtnCancel.Enabled := True;
BtnClose.Enabled := False;
btnquery.Enabled := False;
DBGrid1.Enabled := False;
btnw1.Enabled := False;
end;
end;
procedure TFrmscore.InsertMode;
begin
formmode := 'ins';
BtnMode;
end;
procedure TFrmscore.NormalMode;
begin
formmode :='nor';
BtnMode;
end;
procedure TFrmscore.UpdateMode;
begin
formmode := 'edt';
BtnMode;
end;
procedure TFrmscore.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 TFrmscore.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TFrmscore.BtnNewClick(Sender: TObject);
var
tmpID:string;
i:integer;
begin
if checkboxnull = False then exit;
if listbox3.ItemIndex<0 then
begin
showmessage('请选择学生姓名!');
exit;
end;
if MaindFrm.CheckPermission(UserID,'mark002')=False then exit;
pagecontrol1.ActivePageIndex:=0;
InsertMode;
with MainDFrm do
begin
qutil.Append;
tmpID := listbox3.Items[listbox3.itemindex];
i := pos('|',tmpID);
tmpID := copy(tmpID,1,i-1);
qutil.FieldByName('bID').AsString := tmpID;
tmpID := listbox1.Items[listbox1.itemindex];
i := pos('|',tmpID);
tmpID := copy(tmpID,1,i-1);
qutil.FieldByName('cID').AsString := tmpID;
tmpID := listbox2.Items[listbox2.itemindex];
i := pos('|',tmpID);
tmpID := copy(tmpID,1,i-1);
qutil.FieldByName('ccID').AsString := tmpID;
qutil.FieldByName('cStyle').AsString := boxStyle.Text;
qutil.FieldByName('Term').AsString := boxTerm.Text;
qutil.FieldByName('Mark').AsFloat :=0;
end;
dbMark.SelectAll;
dbMark.SetFocus;
end;
procedure TFrmscore.BtnEditClick(Sender: TObject);
begin
if MaindFrm.CheckPermission(UserID,'mark003')=False then exit;
MainDFrm.qutil.Edit;
// qutil.FieldByName('bID').AsString := tmpID;
// qutil.FieldByName('ccID').AsString := tmpID;
// qutil.FieldByName('cStyle').AsString := boxStyle.Text;
// qutil.FieldByName('Term').AsString := boxTerm.Text;
// qutil.FieldByName('Mark').AsFloat :=0;
UpdateMode;
//pagecontrol1.ActivePageIndex:=0;
dbMark.SelectAll;
dbMark.SetFocus;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -