📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include<iostream>
#include<string>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TTreeNode *view_select,*view_insert;
String str1,picture1,str10;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1Click(TObject *Sender)
{
//定义及初始化
String str,str1,a,b,english4,english6,computer2,computer3;
int i=0,j,k=0,count1;
float t=0,s=0; //t为总学分,s为通过的学分
CheckBox1->Checked=false;
CheckBox2->Checked=false;
CheckBox3->Checked=false;
CheckBox4->Checked=false;
view_select=TreeView1->Selected;
str10=view_select->Text;
//学生基本信息
str="select * from 学生基本信息表 where 学号='"+view_select->Text+"'";
Query1->Active=false;
Query1->SQL->Text=str;
Query1->Active=true;
//照片
str=Query1->FieldByName("照片")->AsString;
if(str!="")
{
Image1->Show();
Image1->Picture->LoadFromFile(str);
Button25->Enabled=true;
}
else
{
Image1->Hide();
Button25->Enabled=false;
}
//学习概况
str="select * from 学习情况表 where 学号='"+view_select->Text+"'";
Query2->Active=false;
Query2->SQL->Text=str;
Query2->Active=true;
str=Query2->FieldByName("学号")->AsString;
if(str!="")
{
count1=Query2->Fields->Count;
for(j=2;j<=count1;j++)
{
a=Query2->Fields->FieldByNumber(j)->AsString;//获得课程是否通过
if(j==2) english4=a;
if(j==3) english6=a;
if(j==4) computer2=a;
if(j==5) computer3=a;
if(j>=6)
{
if(a=="是") i++; //i为通过门数
if(a=="否") k++; //k为未通过门数
b=Query2->Fields->Fields[j-1]->FieldName; //获取列名
str1="select * from 课程表 where 课程名='"+b+"'";
Query4->Active=false;
Query4->SQL->Text=str1;
Query4->Active=true;
if(Query2->Fields->FieldByNumber(j)->AsString!="")//求总的所修学分数
t=t+StrToFloat(Query4->Fields->FieldByName("学分")->AsString);
if(Query2->Fields->FieldByNumber(j)->AsString=="是")//求总的通过的学分数
s=s+StrToFloat(Query4->Fields->FieldByName("学分")->AsString);
}
}
if(english4=="是") CheckBox1->Checked=true;
if(english6=="是") CheckBox2->Checked=true;
if(computer2=="是") CheckBox3->Checked=true;
if(computer3=="是") CheckBox4->Checked=true;
Edit2->Text=IntToStr(i+k);
Edit3->Text=FloatToStr(t);
Edit4->Text=IntToStr(i);
Edit5->Text=FloatToStr(s);
Edit6->Text=IntToStr(k);
}
//在校信息
str="select * from 在校信息表 where 学号='"+view_select->Text+"'";
Query3->Active=false;
Query3->SQL->Text=str;
Query3->Active=true;
if(DBEdit1->Text!="")
{
Button5->Enabled=true;
Button3->Enabled=true;
Button23->Enabled=true;
}
if(DBEdit1->Text=="")
{
Button5->Enabled=false;
Button3->Enabled=false;
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int i;
String str;
mainview->Visible=true;
studentview->Visible=false;
learnview->Visible=false;
workview->Visible=false;
basechange->Visible=false;
studentchange->Visible=false;
learnchange->Visible=false;
workchange->Visible=false;
lessonchange->Visible=false;
main->Enabled=false;
details->Enabled=true;
learn->Enabled=true;
work->Enabled=true;
N11->Enabled=true;
N12->Enabled=true;
N13->Enabled=true;
N14->Enabled=true;
N15->Enabled=true;
Button10->Enabled=false;
Button13->Enabled=false;
Button9->Enabled=false;
Button12->Enabled=false;
Button23->Enabled=false;
Query2->Active=false;
Button25->Enabled=false;
str="select * from 学习情况表";
Query2->Active=true;
for(i=2;i<Query2->Fields->Count;i++)
{
ComboBox1->Items->Add(Query2->Fields->Fields[i]->FieldName);
ComboBox3->Items->Add(Query2->Fields->Fields[i]->FieldName);
}
Query2->Active=false;
int j=0,s,p=1,q=1,m=0,l=0,t=0,r=0,n=1,k=0,h=0,y=0,z=0,u=0,v=0,w=0;
String grade1,class1,numb1,str1;
str1="select 学号 from 学生基本信息表 order by 学号 asc";
Query5->Active=false;
Query5->SQL->Text=str1;
Query5->Active=true;
s=Query5->RecordCount;
for(i=0;i<s;i++)
{
Query5->First();
Query5->MoveBy(i);
if(i==0)
{
grade1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2);
class1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6);
}
if(grade1!=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2))
{
p++; //年级数
grade1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2);
}
if(class1!=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6))
{
q++; //班级数
class1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6);
}
}
Query5->First();
Query5->MoveBy(0);
grade1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2);
TTreeNode *Node1,*Node2,*Node3;//Node1指向年级,Node2指向班级,Node3指向成员
TreeView1->Items->Clear();
TreeView1->Items->Add(NULL, grade1);
Node1=TreeView1->Items->Item[0];
for(i=0;i<p;i++)
{
Node2=TreeView1->Items->Item[m];
l=0;
if(i==0)
{
for(j=t;j<q;j++)
{
Query5->First();
Query5->MoveBy(r);//指向第h个学号
if(grade1==DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2))
class1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6); //如果为该年级,则将班级放入该年级子目录中
else break;
TreeView1->Items->AddChild(Node2,class1);
Node3=TreeView1->Items->Item[n];
for(k=r;k<s;k++)
{
Query5->First();
Query5->MoveBy(k);
if(class1==DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6))
{
TreeView1->Items->AddChild(Node3,DBGrid9->Columns->Items[0]->Field->AsString);//如果为该班级,则将对应学号放入该班级子目录中
l++;
h++;
}
else break;
}
r=k;
n=n+l+1;
l=0;
t=j;
}
}
else
{
n++;
for(j=t;j<q;j++)
{
Query5->First();
Query5->MoveBy(r);//指向第h个学号
if(grade1==DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2))
class1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6); //如果为该年级,则将班级放入该年级子目录中
else break;
TreeView1->Items->AddChild(Node2,class1);
Node3=TreeView1->Items->Item[n];
for(k=r;k<s;k++)
{
Query5->First();
Query5->MoveBy(k);
if(class1==DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,6))
{
TreeView1->Items->AddChild(Node3,DBGrid9->Columns->Items[0]->Field->AsString);//如果为该班级,则将对应学号放入该班级子目录中
l++;
h++;//向下指数据表中一个学号
}
else break;
}
r=k;
n=n+l+1;
l=0;
t=j;
}
}
m=n;
for(y=j;y<s;y++)
{
Query5->First();
Query5->MoveBy(y);
if(grade1!=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2))
{
grade1=DBGrid9->Columns->Items[0]->Field->AsString.SubString(1,2);
break;
}
}
TreeView1->Items->Add(Node1,grade1);
}
for(i=0;i<p;i++)
TreeView1->Items->Item[m-i]->Delete();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::mainClick(TObject *Sender)
{
mainview->Visible=true;
studentview->Visible=false;
learnview->Visible=false;
workview->Visible=false;
basechange->Visible=false;
studentchange->Visible=false;
learnchange->Visible=false;
workchange->Visible=false;
lessonchange->Visible=false;
main->Enabled=false;
details->Enabled=true;
learn->Enabled=true;
work->Enabled=true;
N11->Enabled=true;
N12->Enabled=true;
N13->Enabled=true;
N14->Enabled=true;
N15->Enabled=true;
Image1->Hide();
DBEdit1->Text="";
DBComboBox1->ItemIndex=-1;
DBEdit3->Text="";
DBEdit4->Text="";
DBEdit5->Text="";
DBEdit6->Text="";
DBEdit7->Text="";
DBEdit8->Text="";
DBEdit9->Text="";
DBEdit10->Text="";
DBEdit11->Text="";
DBEdit12->Text="";
DBEdit13->Text="";
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
CheckBox1->Checked=false;
CheckBox2->Checked=false;
CheckBox3->Checked=false;
CheckBox4->Checked=false;
Button3->Enabled=false;
Button5->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
mainview->Visible=false;
studentview->Visible=true;
learnview->Visible=false;
workview->Visible=false;
basechange->Visible=false;
studentchange->Visible=false;
learnchange->Visible=false;
workchange->Visible=false;
lessonchange->Visible=false;
main->Enabled=true;
details->Enabled=false;
learn->Enabled=true;
work->Enabled=true;
Query4->Active=false;
N11->Enabled=true;
N12->Enabled=true;
N13->Enabled=true;
N14->Enabled=true;
N15->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{
int a;
a=Application->MessageBoxA("你要退出吗?","关闭程序",65);
if(a==1)
{Close();}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
String str;
mainview->Visible=false;
studentview->Visible=false;
learnview->Visible=true;
workview->Visible=false;
main->Enabled=true;
details->Enabled=true;
learn->Enabled=false;
work->Enabled=true;
Edit11->Text=view_select->Text;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -