📄 selinputscore.pas
字号:
unit SelInputScore;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, DBCtrls, ExtCtrls;
type
TfrmSelInputScore = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
DataSource1: TDataSource;
DataSource2: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
Bevel1: TBevel;
cmbClass: TComboBox;
cmbKCDM: TComboBox;
cmbKCMC: TComboBox;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure cmbKCDMChange(Sender: TObject);
procedure cmbKCMCChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmSelInputScore: TfrmSelInputScore;
implementation
uses main;
{$R *.dfm}
procedure TfrmSelInputScore.Button2Click(Sender: TObject);
begin
self.ModalResult:=mrCancel;
end;
procedure TfrmSelInputScore.Button1Click(Sender: TObject);
begin
if not (checkBox1.Checked or checkBox2.Checked) then
begin
showmessage('请选择班级或课程');
exit;
end;
if checkbox1.Checked and (cmbClass.ItemIndex=-1) then
begin
showmessage('请选择班级');
exit;
end;
if checkbox1.Checked and (cmbClass.ItemIndex=-1) then
begin
showmessage('请选择班级');
exit;
end;
if checkbox2.Checked and (cmbKCMC.ItemIndex=-1)and(cmbKCDM.ItemIndex=-1) then
begin
showmessage('请选择课程');
exit;
end;
if not checkbox1.Checked then
cmbClass.ItemIndex:=-1;
if not checkbox2.Checked then
begin
cmbKCDM.ItemIndex:=-1;
cmbKCMC.ItemIndex:=-1;
end;
self.ModalResult:=mrOk;
end;
procedure TfrmSelInputScore.FormShow(Sender: TObject);
begin
adoquery1.Active:=false;
adoquery1.SQL.Text:='select distinct 班级名称 from 学生名单';
adoquery1.Active:=true;
adoquery2.Active:=false;
adoquery2.SQL.Text:='select 课程代码, 课程名称 from 课程目录';
adoquery2.Active:=true;
if adoquery1.IsEmpty then
begin
showmessage('没有可选班级,请先输入学生名单再输入成绩');
Button1.Enabled:=false;
end;
if adoquery2.IsEmpty then
begin
showmessage('没有可选课程,请先输入课程目录再输入成绩');
Button1.Enabled:=false;
end;
cmbClass.Items.Clear;
cmbKCDM.Items.Clear;
cmbKCMC.Items.Clear;
cmbClass.Text:='';
cmbKCDM.Text:='';
cmbKCMC.Text:='';
adoquery1.First;
while not adoquery1.Eof do
begin
cmbClass.Items.Add(adoquery1.FieldByName('班级名称').AsString);
adoquery1.Next;
end;
adoquery2.First;
while not adoquery2.Eof do
begin
cmbKCDM.Items.Add(adoquery2.FieldByName('课程代码').AsString);
adoquery2.Next;
end;
adoquery2.First;
while not adoquery2.Eof do
begin
cmbKCMC.Items.Add(adoquery2.FieldByName('课程名称').AsString);
adoquery2.Next;
end;
adoQuery1.Active:=false;
adoQuery2.Active:=false;
cmbClass.ItemIndex:=0;
cmbKCMC.ItemIndex:=0;
cmbKCDM.ItemIndex:=0;
end;
procedure TfrmSelInputScore.CheckBox1Click(Sender: TObject);
begin
checkbox1.Checked:=true;
cmbClass.Enabled:=checkbox1.Checked;
end;
procedure TfrmSelInputScore.CheckBox2Click(Sender: TObject);
begin
cmbKCDM.Enabled:=checkbox2.Checked;
cmbKCMC.Enabled:=checkbox2.Checked;
end;
procedure TfrmSelInputScore.cmbKCDMChange(Sender: TObject);
begin
cmbKCMC.ItemIndex:=cmbKCDM.ItemIndex;
end;
procedure TfrmSelInputScore.cmbKCMCChange(Sender: TObject);
begin
cmbKCDM.ItemIndex:=cmbKCMC.ItemIndex;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -