📄 gradeunit.~pas
字号:
unit gradeunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons, DBCtrls, Mask,Qt,
ComCtrls;
type
Tgradequeryform = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Edit1: TMaskEdit;
ComboBox2: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label5: TLabel;
DBEdit1: TDBEdit;
Animate1: TAnimate;
BitBtn3: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
gradequeryform: Tgradequeryform;
implementation
uses datamoduleunit;
{$R *.dfm}
procedure Tgradequeryform.FormCreate(Sender: TObject);
var year,month,day:word;
n:integer;
thisyear:integer;
begin
DecodeDate(now, Year, Month, Day);
thisyear:=round(year);
for n:=1 to 20 do
begin
combobox1.Items.Add(inttostr(thisyear));
thisyear:=thisyear-1;
end;
combobox1.ItemIndex:=0;
with datamodule1.queryall do
begin
close;
SQL.Clear;
sql.Add('select distinct cname from grade ');
sql.Add('where year=:year');
datamodule1.queryall.Parameters.ParamByName('year').Value:=strtoint(combobox1.Text);
prepared;
open;
while not eof do
begin
combobox2.Items.Add( Fieldbyname('cname').AsString );
next;
end;
close;
combobox2.ItemIndex:=0;
end;
end;
procedure Tgradequeryform.BitBtn1Click(Sender: TObject);
var sno,cname:string;
begin
animate1.Active:=true;
if (trim(edit1.Text)='') or (combobox2.Text='') then
begin
messagebox (handle,'条件不能为空,请输入!','警告',mb_ok) ;
exit;
end;
sno:=edit1.Text;
cname:=combobox2.Text;
dbedit1.Font.Color:=clblack ;
with datamodule1.queryall do
begin
close;
SQL.Clear;
sql.Add('select* from grade where sno=:sno and cname=:cname ');
Parameters.ParamByName('sno').Value:=sno;
Parameters.ParamByName('cname').Value:=cname;
prepared;
open;
if RecordCount=0 then
messagebox (handle,pchar(format('%s 的%s 成绩没有找到,请检查!',[sno,cname])),'反馈信息',mb_ok)
else
begin
dbedit1.Text:= fieldbyname('grade').AsString;
if not datamodule1.passed(dbedit1.Text) then
dbedit1.Font.Color:=clred;
end;
end;
bitbtn2.Enabled:=true;
animate1.Active:=false;
end;
procedure Tgradequeryform.BitBtn2Click(Sender: TObject);
begin
edit1.Text:='';
combobox1.ItemIndex:=-1;
combobox2.Clear;
dbedit1.Text:='';
bitbtn2.Enabled:=false;
end;
procedure Tgradequeryform.ComboBox1Change(Sender: TObject);
begin
combobox2.Items.Clear;
with datamodule1.queryall do
begin
SQL.Clear;
sql.Add('select distinct cname from grade where year=:year');
Parameters.ParamByName('year').Value:=strtoint(combobox1.Text);
prepared;
open;
while not eof do
begin
combobox2.Items.Add( FieldByName('cname').AsString);
next;
end;
close;
end;
combobox2.ItemIndex:=0;
bitbtn2.Enabled:=false;
end;
procedure Tgradequeryform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
//if ((key<'0') or (key>'9')) and (key<>chr(Key_Backspace)) then
// key:=#0;
end;
procedure Tgradequeryform.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
datamodule1.tablegrade.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -