⑵ 定义CalculateItemID()过程,用于计算7个TComboBox对象的项目ID,相关代码如下:
procedure TFormSearchAchievement.CalculateItemID;
var
iPos, iLoop : Integer;
ComboBox_Temp : TComboBox;
begin // 遍历所有TComboBox对象
for iLoop := 0 to PnlParameter.ControlCount-1 do begin
if PnlParameter.Controls[iLoop] is TComboBox then begin
ComboBox_Temp := (PnlParameter.Controls[iLoop] As TComboBox);
ItemID[ComboBox_Temp.Tag] := ComboBox_Temp.Text;
if ItemID[ComboBox_Temp.Tag]=strEmptySelect then
ItemID[ComboBox_Temp.Tag] := '' // 没有选择
else begin // 项目ID与项目名间使用空格分隔,取空格位置
iPos := pos(' ', ItemID[ComboBox_Temp.Tag]);
if iPos>0 then // 存在空格
ItemID[ComboBox_Temp.Tag]:=Copy(ItemID[ComboBox_Temp.Tag], 1, iPos-1)
end;
end;
end;
end;
⑶ 编写通用查询界面FormSearchAchievement的OnShow()事件。在界面显示前,需要初始化界面对象的属性,在调用CreateItems()公用函数填充考试类型列表框和学院列表框后,自动调用学院列表框的OnChange()事件选择第一个学院,并通过该事件为专业和班级列表框填充该学院的所有专业和班级,相关代码如下:
procedure TFormSearchAchievement.FormShow(Sender: TObject);
var
iLoop : Integer;
begin
ComboBoxDepartment.Enabled := True;
ComboBoxSpeciality.Enabled := True;
ComboBoxClass.Enabled := True;
|