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

编写“重新计算”按钮的OnClick事件,用于当用户修改了成绩占比后,所有总评成绩需要重新计算,相关代码如下:

procedure TFormAchievement.SBtnReCalcClick(Sender: TObject);

var

  i :   Integer;

begin

 if Not CalculatePercent then Exit;

 for i := 0 to ScrollBox.ControlCount-1 do

  if (ScrollBox.Controls[i] Is TEdit) then begin

   if (ScrollBox.Controls[i] as TEdit).Tag Mod 10=0 then

     EditAchievementChange( ScrollBox.Controls[i] as TEdit );

  end;

end;

编写“保存”按钮的OnClick事件,用于保存输入的所有学生成绩。若成绩表中不存在该学生的该课程成绩,则添加一个记录,否则修改原有记录,相关代码如下:

procedure TFormAchievement.SBtnSaveClick(Sender: TObject);

var

  i, j, iCol :   Integer;

  EditTemp :     TEdit;

begin

 i:=0;

 while i<ScrollBox.ControlCount do begin

  if (ScrollBox.Controls[i] Is TEdit) then begin

   EditTemp := ScrollBox.Controls[i] As TEdit;

   // 是学号,每个学生从学号开始

   if (EditTemp.Tag Mod 10=0) then begin

    with DMServerDB do begin

     // 查询成绩表中是否有该记录

     if ADODataSetAchievement.Locate('StudentID;AchievementTypeID'

              ,VarArrayOf([EditTemp.Text,AchievementTypeID]), []) then

      ADODataSetAchievement.Edit  // 存在,则修改原有记录

     else begin // 不存在,则添加

      ADODataSetAchievement.Append;

      ADODataSetAchievement.FieldValues['StudentID']:=EditTemp.Text;

      ADODataSetAchievement.FieldByName('AchievementTypeID').AsString:=AchievementTypeID;

      ADODataSetAchievement.FieldByName('PlanCourseOrder').AsString :=

TreeList[SelectNode.AbsoluteIndex];

     end;

     for j := i+2 to i+5 do begin // 处理4个成绩

      EditTemp := ScrollBox.Controls[j] As TEdit;

      iCol := EditTemp.Tag Mod 10;

      if iCol In [2..4] then  // 保存平时、期中和期末三个成绩

  推荐精品文章

·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