你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
数据输入界面设计(十二)
 

编写TreeViewOnChange事件,在左边选择好班级和课程后,通过选择考试类型输入相关成绩,相关代码如下:

procedure TFormAchievement.TreeViewChange(Sender: TObject; Node: TTreeNode);

begin // 没有选中班级及课程,按钮和面板不可用

 SBtnSave.Enabled := False;

 ScrollBox.Enabled := False;

 SBtnPrintReportCard.Enabled := False;

 SBtnPrintMakeup.Enabled := False;

 if Node.Level<4 then Exit;

 SelectNode := Node;  // 保存当前选中的节点

 LabelClass.Caption := Node.Parent.Text;   // 班级名

 LabelCourse.Caption := Node.Text;        // 课程名

 StatusBar.Panels[1].Text := '请选择考试的类别,并通过“保存”按钮对数据存盘后,可以生成补考名单';

 ComboBoxAchievementType.Enabled := True;

 ComboBoxAchievementType.ItemIndex := 0;  // 选中第一种考试类型

 ComboBoxAchievementTypeChange( Nil );

 ComboBoxAchievementType.SetFocus;

end;

定义计算成绩占比之和为100CalculatePercent函数,为计算总评成绩打好基础,占比之和为100则函数返回True,否则返回False,相关代码如下:

Function TFormAchievement.CalculatePercent : Boolean;

var

  iPos, iPercent :     Integer;

begin

 Result := True; // PnlParameter对象上只有三个TEdit

 iPercent := 0;  // 故使用了对象遍历技术,以便统一处理

 for iPos:= 0 to PnlParameter.ControlCount-1 do begin

   if (PnlParameter.Controls[iPos] is TEdit) then begin

     if (PnlParameter.Controls[iPos] as TEdit).Text='' then

       (PnlParameter.Controls[iPos] as TEdit).Text:='0';

     iPercent := iPercent + StrToInt((PnlParameter.Controls[iPos] as TEdit).Text);

   end;

 end;

 if iPercent <> 100 then begin

   ShowMessage('成绩占比之和必须是100,请重输');

   Edit3.SetFocus;   Result := False;

 end;

end;

定义释放用于输入每位学生成绩时自动创建的TEdit组件所开辟的内容空间的过程FreeEditAchievement,相关代码如下:

procedure TFormAchievement.FreeEditAchievement();

var

  i, j :  Integer;

begin // AchievementCount为每个学生用于输入成绩时创建的相关TEdit的个数

  if iCount > 0 then begin  // iCount为学生个数

   for i := 0 to iCount-1 do

     for j := 0 to AchievementCount-1 do

      EditAchievement[i][j].Free; // 释放内存

   iCount := 0;

  end;

end;

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089