⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 学籍管理系统00.txt

📁 学生学籍管理系统
💻 TXT
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------------
二.重要成绩输入与管理子模块
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "AppConsts.h"
#include "AppTypes.h"
#include "GlobalVar.h"
#include "DataU.h"
#include "StartTermU.h"
#include "GlobalVar.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmStartTerm *frmStartTerm;
//---------------------------------------------------------------------------
__fastcall TfrmStartTerm::TfrmStartTerm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnCancelClick(TObject *Sender)
{
 Close();        
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::FormCreate(TObject *Sender)
{
   TStringList *stlSchoolName=new TStringList;
   stlSchoolCode=new TStringList;
   stlClassCode = new TStringList;
   stlClassName = new TStringList;
   bFlagSaved=false;
 if(iEdition==Education)
    {
     if(frmData->ReadSchoolInfo(stlSchoolCode,stlSchoolName))
       cbxSchoolName->Items->Assign(stlSchoolName);
     else
       ShowMessage("没有学校,请注意填写!");
    }
   else
    {
      edClassNewName->ReadOnly=false;
      cbxSchoolName->Enabled=false;
      cbxSchoolName->Style = csDropDown;
      cbxSchoolName->Text=gbSysPara.stSchoolName;
      SchCode=gbSysPara.stSchoolCode;
      if(frmData->ReadClassInfo(SchCode,stlClassCode,stlClassName))
         {
            int iClassCount=stlClassCode->Count ;
            if(iClassCount!=0)
              {
                edClassCode->Text =stlClassCode->Strings [0];
                edClassName->Text =stlClassName->Strings [0];
                edClassCodeChange(edClassCode);
                iCurIndex= 1;
                btnPre->Enabled =false;
                btnNext->Enabled =true;
              }
stgChangeClassName->RowCount =iClassCount+1;
            for(int i=0;i<iClassCount;i++)
              {
               stgChangeClassName->Cells [0][i+1]=stlClassCode->Strings [i];
               stgChangeClassName->Cells [1][i+1]=stlClassName->Strings [i];
               stgChangeClassName->Cells [2][i+1]="";
              }
}
        else
          {
            ShowMessage("我校暂时没有班级,请插入后再填写!");
            Close();
          }
        delete stlClassName;
    }
     edClassCode->ReadOnly =true;
     edClassName->ReadOnly =true;
     cxbGratuated->Checked =false;
     btnSave->Enabled =false;
     btnReset->Enabled =false;
     btnPre->Enabled =false;
     btnNext->Enabled =false;
     btnConfirm->Enabled =false;
     stgChangeClassName->Cells [0][0]="班级代码";
     stgChangeClassName->Cells [1][0]="班级名称";
     stgChangeClassName->Cells [2][0]="班级新名称";
delete stlSchoolName;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::FormDestroy(TObject *Sender)
{
 delete  stlSchoolCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnResetClick(TObject *Sender)
{
  edClassNewName->Clear ();
  btnSave->Enabled =false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::cbxSchoolNameChange(TObject *Sender)
{
  if(cbxSchoolName->ItemIndex ==-1)
    {
      ShowMessage("请选择学校名称!");
      return;
    }
  SchCode=stlSchoolCode->Strings[cbxSchoolName->ItemIndex];
if(frmData->ReadClassInfo(SchCode,stlClassCode,stlClassName))
    {
      int iClassCount=stlClassCode->Count ;
      if(iClassCount!=0)
        {
          edClassCode->Text =stlClassCode->Strings [0];
          edClassName->Text =stlClassName->Strings [0];
          edClassCodeChange(edClassCode);
          iCurIndex= 1;
          btnPre->Enabled =false;
          btnNext->Enabled =true;
        }
stgChangeClassName->RowCount =iClassCount+1;
      for(int i=0;i<iClassCount;i++)
        {
         stgChangeClassName->Cells [0][i+1]=stlClassCode->Strings [i];
         stgChangeClassName->Cells [1][i+1]=stlClassName->Strings [i];
         stgChangeClassName->Cells [2][i+1]="";
        }
}
  else
    {
      ShowMessage("该学校没有班级,请插入后再填写!");
      Close();
    }
  delete stlClassName;
  edClassNewName->ReadOnly=false;
}
//---------------------------------------------------------------------------
String __fastcall TfrmStartTerm::ChangeClassName(String strClassCode)
{
    String strCnn = "";
    String strTmp = edClassCode->Text ;
    int iSubCode=StrToInt(strTmp.SubString(2,2))-1;
    String strNewCode = IntToStr((int)(iSubCode/10)) + IntToStr(iSubCode%10);
    strNewCode = strTmp.SubString(0,2) + strNewCode + strTmp.SubString(4,4);
    for(int i=0;i<stlClassCode->Count;i++)
      {
       if(strNewCode==stlClassCode->Strings[i])
         {
           strCnn = stlClassName->Strings[i];
           break;
         }
      }
    return strCnn;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::edClassCodeChange(TObject *Sender)
{
  edClassNewName->Text = ChangeClassName(edClassCode->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnPreClick(TObject *Sender)
{
  if(iCurIndex<=1) {btnPre->Enabled =false; return;}
  iCurIndex=iCurIndex-1;
  btnNext->Enabled=true;
  edClassCode->Text=stgChangeClassName->Cells[0][iCurIndex];
  edClassName->Text=stgChangeClassName->Cells[1][iCurIndex];
  if(!stgChangeClassName->Cells[2][iCurIndex].IsEmpty())
  edClassNewName->Text =stgChangeClassName->Cells [2][iCurIndex];
  bFlagSaved=false;
  cxbGratuated->Checked=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnNextClick(TObject *Sender)
{
  if(iCurIndex>=stlClassCode->Count)  {btnNext->Enabled =false;return;}
  iCurIndex=iCurIndex+1;
  btnPre->Enabled=true;
  edClassCode->Text=stgChangeClassName->Cells[0][iCurIndex];
  edClassName->Text=stgChangeClassName->Cells[1][iCurIndex];
  if(!stgChangeClassName->Cells[2][iCurIndex].IsEmpty())
  edClassNewName->Text =stgChangeClassName->Cells [2][iCurIndex];
  bFlagSaved=false;
  cxbGratuated->Checked=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnSaveClick(TObject *Sender)
{
  if(!cxbGratuated->Checked)
   {
      if(cbxSchoolName->Text==""||edClassCode->Text ==""||edClassNewName->Text=="")
      {
        ShowMessage("请将信息填写完整!");
        return;
      }
if(frmData->SaveNewClass(stlSchoolCode->Strings[cbxSchoolName->ItemIndex],edClassCode->Text,edClassNewName->Text))
      {
         ShowMessage("信息存储成功!");
         bFlagSaved=true;
       stgChangeClassName->Cells[2][iCurIndex]=edClassNewName->Text;
         btnNextClick(btnSave);
      }
      else
      {
        ShowMessage("信息存储失败!");
        return;
      }
    }
   else//选择该班级已经毕业,则改变该班级的所有毕业生状态
    {
      if(frmData->SetGraduate(SchCode,edClassCode->Text))
        {
         stgChangeClassName->Cells[2][iCurIndex]="已毕业";
         btnNextClick(btnSave);
         ShowMessage("已经将本班的全部学生设置为毕业生");
        }
      else
       ShowMessage("对不起,数据库修改出现错误,请重试!");
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::btnConfirmClick(TObject *Sender)
{
  if(bFlagSaved) Close();
  else
    {
frmData->SaveNewClass(stlSchoolCode->Strings[cbxSchoolName->ItemIndex],edClassCode->Text,edClassNewName->Text);
      Close();
     }
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::edClassNewNameChange(TObject *Sender)
{
  if(edClassNewName->Text!="")
   {
     btnSave->Enabled=true;
     btnReset->Enabled=true;
   }
  else
   {
     btnSave->Enabled=false;
     btnReset->Enabled=false;
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmStartTerm::cxbGratuatedClick(TObject *Sender)
{   if(cxbGratuated->Checked)
     {
       edClassNewName->Text="";
       edClassNewName->ReadOnly=true;
       btnSave->Enabled=true;
     }
   else
    {
     edClassNewName->ReadOnly=false;
     btnSave->Enabled=false;
    } 
}
//---------------------------------------------------------------------------
 第六章 参考文献
1.洪国胜 张建原 洪月里。C++ Builder 程序设计轻松上手。北京:清华大学出版社,2001
2.Reisdorph,k。Borland C++ Builder 实用培训教程。北京:宇航出版社,1998
3.萨师煊 王珊。数据库系统概论(第三版)。北京:高等教育出版社,2000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -