📄 zu.cpp
字号:
}
Form4->Label30->Caption=zjs;
Table2->IndexName="KCMC";
Form4->Show();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Js(char *kp)
{
char *poa;
poa=new char[512];
strcpy(poa,"KCH1 = '");
strcat(poa,kp);
strcat(poa,"\' OR KCH2 = \'");
strcat(poa,kp);
strcat(poa,"\' OR KCH3 = \'");
strcat(poa,kp);
strcat(poa,"\' OR KCH4 = \'");
strcat(poa,kp);
strcat(poa,"\' OR KCH5 = \'");
strcat(poa,kp);
strcat(poa,"\' OR KCH6 = \'");
strcat(poa,kp);
strcat(poa,"\'");
Form3->Table1->Filter=poa;
Form3->Table1->Active = true;
Form3->Table1->First();
Form4->ComboBox24->Items->Clear();
while(!Form3->Table1->Eof){
Form4->ComboBox24->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
Form3->Table1->Next();
};
delete poa;
}
void __fastcall TForm2::N7Click(TObject *Sender)
{
Table2->Active = false;
Table2->TableName= "kcm.dbf";
Table2->IndexName="";
Table2->Active = true;
// Table2->First();
Form5->ComboBox1->Items->Clear();
Table2->First();
while(!Table2->Eof){
Form5->ComboBox1->Items->Add(Table2->FieldByName("KCMC")->AsString);
Table2->Next();
};
// Form4->Table1->Active = false;
Form4->Table1->Active = true;
Form4->Table1->First();
Form5->ComboBox3->Items->Clear();
while(!Form4->Table1->Eof){
Form5->ComboBox3->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
Form4->Table1->Next();
};
Table3->TableName= "zkba.dbf";
Table3->Active = true;
Form5->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::N12Click(TObject *Sender)
{
Table1->Active = false; // 复制总课表空表
Table3->Active = false;
Table1->Active = false; //
Table1->FieldDefs->Clear();
Table1->IndexDefs->Clear();
Table1->Filter="";
Table1->TableName= "zkb.dbf";
Table1->IndexName="BJMC";
Table1->Active = true;
Table1->Active = false; //
Table1->TableType = ttFoxPro;
Table1->TableName= "zkba.dbf";
Table1->CreateTable();
Table3->Active = true;
Form4->Table1->Active = true;
Form4->Table1->First();
while(!Form4->Table1->Eof){
Table3->AppendRecord(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)));
Form4->Table1->Next();
};
ShowMessage("总课程表初始化结束。");
R1->Enabled=true;
B1->Enabled=true;
T1->Enabled=true;
K1->Enabled=true;
R2->Enabled=true;
N7->Enabled=true;
N12->Enabled=false;
S2->Enabled=false;
P3->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::R1Click(TObject *Sender)
{
R1->Enabled=false;
B1->Enabled=false;
T1->Enabled=false;
K1->Enabled=false;
R2->Enabled=false;
N7->Enabled=false;
N12->Enabled=true;
B3->Enabled=true;
S2->Enabled=true;
P3->Enabled=true;
char *ow,*nv;
char mb[4];
ow=new char[256];
nv=new char[256];
bool sx[8];
int jgz=1;
Table2->Active = false; //课程表
Table2->TableName= "kcm.dbf";
Table2->IndexName="KCMC";
Table2->Active = true; //课程表
Table3->Active = false; //总课表
Table3->IndexName="BJMC";
Table3->Active = true; //总课表
Form3->Table1->Active = true; //教师表
Form4->Table1->Active = true; //班级表
Form4->Table2->Active = false; //分班任课表
Form4->Table1->First();
//Form4->Table2->First();
Form3->Table1->First();
Table2->First();
Table3->First();
randomize();
// static int ipq;
bool szb=true;
while(!Form4->Table1->Eof&&szb){
char *uy7;
uy7=new char[30];
strcpy(uy7,"KSSA");
strcat(uy7,Form4->Table1->FieldByName("BJHM")->AsString.c_str());
strcat(uy7,".DBF");
Form4->Table2->Active = false;
Form4->Table2->TableName= uy7;
Form4->Table2->IndexName="";
Form4->Table2->Active = true;
Form4->Table2->First();
delete uy7;
if(Table3->FindKey(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)))){
//int mbc=Table3->RecNo;
int p2;
while(!Form4->Table2->Eof){
p2=Form4->Table2->FieldByName("KSS")->AsString.ToIntDef(0);
if(Table2->FindKey(ARRAYOFCONST((Form4->Table2->FieldByName("KCMC")->AsString)))){
sx[1]=Table2->FieldByName("JC1")->Value;
sx[2]=Table2->FieldByName("JC2")->Value;
sx[3]=Table2->FieldByName("JC3")->Value;
sx[4]=Table2->FieldByName("JC4")->Value;
sx[5]=Table2->FieldByName("JC5")->Value;
sx[6]=Table2->FieldByName("JC6")->Value;
sx[7]=Table2->FieldByName("JC7")->Value;
int kf;
kf=int(rand()%42);
if(p2>5)
jgz=3;
else if(p2>3)
jgz=4+int(rand()%6);
else if(p2==3)
jgz=8+int(rand()%6);
else if(p2==2)
jgz=12+int(rand()%6);
int fpq=0,cx=42;
while(p2>0){
kf=kf%42;
if(fpq==p2){
if(cx==kf){
sx[7]=true;
}
}
else{
fpq=p2;
cx=kf;
}
strcpy(ow,"KCMC");
itoa(kf+1, mb, 10);
strcat(ow,mb);
strcpy(nv,"TXM");
strcat(nv,mb);
if(strcmp(Table3->FieldByName(ow)->AsString.c_str(),"")==0&&sx[kf%7+1]){
Table3->First();
bool ad1=true;
while(!Table3->Eof&&ad1){
// if(strcmp(Table3->FieldByName(nv)->AsString.c_str(),Form4->Table2->FieldByName("TXM")->AsString.c_str())!=0){
if(Table3->FieldByName(nv)->AsString==Form4->Table2->FieldByName("TXM")->AsString){
ad1=false;
}
Table3->Next();
}
//Table3->RecNo=mbc;
Table3->FindKey(ARRAYOFCONST((Form4->Table1->FieldByName("BJMC")->AsString)));
if(ad1){
Table3->Edit();
Table3->FieldByName(ow)->AsString =Form4->Table2->FieldByName("KCMC")->AsString;
Table3->FieldByName(nv)->AsString =Form4->Table2->FieldByName("TXM")->AsString;
Table3->Post();
if(kf%7>=3)
kf=kf+jgz+int(rand()%2)+int(rand()%2)+int(rand()%2);
else
kf=kf+jgz+int(rand()%2)+int(rand()%2);
p2=p2-1;
}
else{
kf=kf+1;
if(kf%7==0)
kf=kf+int(rand()%2)*int(rand()%2);
}
}
else{
kf=kf+1;
if(kf%7==0)
kf=kf+int(rand()%2);
}
}
}
Form4->Table2->Next();
}
}
else{
ShowMessage("总课程表数据初始化出现错误,请重新进行输入。");
szb=false;
}
Form4->Table1->Next();
}
if(szb)
ShowMessage("新课程表已经排好,请再进行查询和手动调整。");
}
//---------------------------------------------------------------------------
void __fastcall TForm2::B3Click(TObject *Sender)
{
Table2->Active = false;
Table2->TableName= "kcm.dbf";
Table2->IndexName="";
Table2->Active = true;
Table2->First();
Form6->ComboBox3->Items->Clear();
while(!Table2->Eof){
Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
Table2->Next();
};
Form4->Table1->Active = true;
Form4->Table1->First();
Form6->ComboBox1->Items->Clear();
while(!Form4->Table1->Eof){
Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
Form4->Table1->Next();
};
Form3->Table1->Active = true;
Form3->Table1->First();
Form6->ComboBox2->Items->Clear();
while(!Form3->Table1->Eof){
Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
Form3->Table1->Next();
};
Table3->TableName= "zkba.dbf";
Table3->Active = true;
Form6->RadioGroup1->ItemIndex =0;
Form6->ComboBox2->Visible=false;
Form6->Label2->Visible=false;
Form6->ComboBox1->Visible=true;
Form6->Label1->Visible=true;
Form6->ComboBox3->Visible=false;
Form6->Label4->Visible=false;
Form6->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::T3Click(TObject *Sender)
{
Table2->Active = false;
Table2->TableName= "kcm.dbf";
Table2->IndexName="";
Table2->Active = true;
Table2->First();
Form6->ComboBox3->Items->Clear();
while(!Table2->Eof){
Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
Table2->Next();
};
Form4->Table1->Active = true;
Form4->Table1->First();
Form6->ComboBox1->Items->Clear();
while(!Form4->Table1->Eof){
Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
Form4->Table1->Next();
};
Form3->Table1->Active = true;
Form3->Table1->First();
Form6->ComboBox2->Items->Clear();
while(!Form3->Table1->Eof){
Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
Form3->Table1->Next();
};
Table3->TableName= "zkba.dbf";
Table3->Active = true;
Form6->RadioGroup1->ItemIndex =1;
Form6->ComboBox2->Visible=true;
Form6->Label2->Visible=true;
Form6->ComboBox3->Visible=false;
Form6->Label4->Visible=false;
Form6->ComboBox1->Visible=false;
Form6->Label1->Visible=false;
Form6->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::K2Click(TObject *Sender)
{
Table2->Active = false;
Table2->TableName= "kcm.dbf";
Table2->IndexName="";
Table2->Active = true;
Table2->First();
Form6->ComboBox3->Items->Clear();
while(!Table2->Eof){
Form6->ComboBox3->Items->Add(Table2->FieldByName("KCMC")->AsString);
Table2->Next();
};
Form4->Table1->Active = true;
Form4->Table1->First();
Form6->ComboBox1->Items->Clear();
while(!Form4->Table1->Eof){
Form6->ComboBox1->Items->Add(Form4->Table1->FieldByName("BJMC")->AsString);
Form4->Table1->Next();
};
Form3->Table1->Active = true;
Form3->Table1->First();
Form6->ComboBox2->Items->Clear();
while(!Form3->Table1->Eof){
Form6->ComboBox2->Items->Add(Form3->Table1->FieldByName("TXM")->AsString);
Form3->Table1->Next();
};
Table3->TableName= "zkba.dbf";
Table3->Active = true;
Form6->RadioGroup1->ItemIndex =2;
Form6->ComboBox3->Visible=true;
Form6->Label4->Visible=true;
Form6->ComboBox1->Visible=false;
Form6->Label1->Visible=false;
Form6->ComboBox2->Visible=false;
Form6->Label2->Visible=false;
Form6->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::K1Click(TObject *Sender)
{
Table2->Active = false;
Table2->TableName= "kcm.dbf";
Table2->IndexName="";
Table2->Active = true;
Form7->DataSource1->DataSet=Form2->Table2;
Table2->First();
Form7->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::A2Click(TObject *Sender)
{
AboutBox->Show();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -