📄 frmxmbb.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "frmxmbb.h"
#include "fuzhu.h"
#include "dlgxmbb.h"
#include "frmprintform.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "model"
#pragma resource "*.dfm"
Txmbb *xmbb;
//---------------------------------------------------------------------------
__fastcall Txmbb::Txmbb(TComponent* Owner)
: TMDIChild(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Txmbb::FormShow(TObject *Sender)
{
this->Width=600;
this->Height=500;
}
//---------------------------------------------------------------------------
void __fastcall Txmbb::init()
{
grid->DataSource=NULL;
exe("truncate table xmbb");
}
void __fastcall Txmbb::show()
{
grid->DataSource=this->source;
open("select * from xmbb");
//TODO: Add your source code here
}
void __fastcall Txmbb::close()
{
m_con->Connected=false;
m_query->Active=false;
//TODO: Add your source code here
}
void Txmbb::open(AnsiString sql)
{
if(sql.Trim().IsEmpty()){
m_con->Connected=true;
m_query->Active=true;
}
else
{
m_con->Connected=false;
m_query->Active=false;
m_query->SQL->Clear();
m_query->SQL->Add(sql);
m_con->Connected=true;
m_query->Active=true;
}
//TODO: Add your source code here
}
void __fastcall Txmbb::exe(AnsiString sql)
{
close();
m_query->SQL->Clear();
m_query->SQL->Add(sql);
m_con->Connected=true;
m_query->ExecSQL();
//TODO: Add your source code here
}
void __fastcall Txmbb::BitBtn1Click(TObject *Sender)
{
init();
TStringList *list_yr,*list_lbfzbh,*list_fm,*list_xmm,*list_rs,*list_zs,*list_bsfs,*list_xmbh,*list_temp,*list_temp1,*list_qn;
TStringList *list_plbfzbh,*list_plbfzmc,*list_xmlb,*list_qn_xmbh,*list_qn_xmxj;
AnsiString xmbh,xmmc,bscs,mcbsmc,mcbssj,mcbslqmc,temp_str,mlbfzbh,xmlb,qndxbh;
int index,i,itemp,dxindex;
list_plbfzbh=new TStringList;
list_qn_xmbh=new TStringList;
list_qn_xmxj=new TStringList;
list_plbfzmc=new TStringList;
list_lbfzbh=new TStringList;
list_yr=new TStringList;
list_fm=new TStringList;
list_xmm=new TStringList;
list_xmlb=new TStringList;
list_rs=new TStringList;
list_zs=new TStringList;
list_temp=new TStringList;
list_temp1=new TStringList;
list_xmbh=new TStringList;
list_qn=new TStringList;
list_bsfs=new TStringList;list_xmbh;
open("select * from qnxm order by XMBH");
while(!m_query->Eof){
list_qn_xmxj->Add(m_query->Fields->FieldByName("XMXZ")->AsString.Trim());
list_qn_xmbh->Add(m_query->Fields->FieldByName("XMBH")->AsString.Trim());
m_query->Next();
}
open("select a.LBMC,b.SSLB,b.BH,b.ZM from jslbz a,fzqkb b where a.BH=b.SSLB");
while(!m_query->Eof){
mlbfzbh=m_query->Fields->FieldByName("SSLB")->AsString.Trim()+":"+m_query->Fields->FieldByName("BH")->AsString.Trim();
list_plbfzbh->Add(mlbfzbh);
mlbfzbh=m_query->Fields->FieldByName("LBMC")->AsString.Trim()+":"+m_query->Fields->FieldByName("ZM")->AsString.Trim();
list_plbfzmc->Add(mlbfzbh);
m_query->Next();
}
open("select XMLB,XMBH,XMMC,BSCS,MCBSMC,MCBSSJ,MCBSLQMC,LBBH,FZBH from xmb where XMXJ<>'全能' and XMBH<>'0'");
while(!m_query->Eof){
xmbh=m_query->Fields->FieldByName("XMBH")->AsString.Trim();
xmlb=m_query->Fields->FieldByName("XMLB")->AsString.Trim();
xmmc=m_query->Fields->FieldByName("XMMC")->AsString.Trim();
bscs=m_query->Fields->FieldByName("BSCS")->AsString.Trim();
mcbsmc=m_query->Fields->FieldByName("MCBSMC")->AsString.Trim();
mcbssj=m_query->Fields->FieldByName("MCBSSJ")->AsString.Trim();
mcbslqmc=m_query->Fields->FieldByName("MCBSLQMC")->AsString.Trim();
mlbfzbh=m_query->Fields->FieldByName("LBBH")->AsString.Trim()+":"+m_query->Fields->FieldByName("FZBH")->AsString.Trim();
index=StrToInt(bscs);
for(i=0;i<index;i++){
list_lbfzbh->Add(mlbfzbh);
list_xmm->Add(xmmc);
list_xmlb->Add(xmlb);
parsestr(mcbsmc,&list_temp,';');
list_bsfs->Add(list_temp->Strings[i].Trim());
parsestr(mcbssj,&list_temp,';');
temp_str=list_temp->Strings[i].Trim();
parsestr(temp_str,&list_temp,' ');
if(list_temp->Count>0)
list_yr->Add(list_temp->Strings[0].Trim());
else
list_yr->Add("09.28");
if(list_temp->Count>1)
list_fm->Add(list_temp->Strings[1].Trim());
else
list_fm->Add("08:59");
if(i==0){
list_rs->Add("0");
list_zs->Add("0");
}
if(i==1){
parsestr(mcbslqmc,&list_temp,';');
itemp=StrToInt(list_temp->Strings[1].Trim());
if(itemp>8){
list_rs->Add(itemp);
list_zs->Add((int)(itemp/8));
}else{
list_rs->Add(itemp);
list_zs->Add("1");
}
}
if(i==2){
parsestr(mcbslqmc,&list_temp,';');
itemp=StrToInt(list_temp->Strings[2].Trim());
list_rs->Add(itemp);
list_zs->Add("1");
}
if(i==0)list_xmbh->Add(xmbh);else list_xmbh->Add("0");
}
m_query->Next();
}
for(i=0;i<list_xmbh->Count;i++){
xmbh=list_xmbh->Strings[i].Trim();
if(xmbh=="0")continue;
open("select count(*) as m_count from jlb where XMBH='"+xmbh+"' and XMBH=DXBH");
list_rs->Strings[i]=m_query->Fields->FieldByName("m_count")->AsString.Trim();
open("select top 1 XZH from jlb where XMBH='"+xmbh+"' and XMBH=DXBH order by XZH DESC");
list_zs->Strings[i]=m_query->Fields->FieldByName("XZH")->AsString.Trim();
}
///////全能
int count;
int qnstart_pos=list_xmbh->Count;
AnsiString xmgs,dxxmbh,dxcnmc,dxbssj ;
open("select XMBH,XMMC,XMGS,DXXMBH,DXCNMC,LBBH,FZBH,DXBSSJ from qnxmsz ");
while(!m_query->Eof){
xmbh=m_query->Fields->FieldByName("XMBH")->AsString.Trim();
xmmc=m_query->Fields->FieldByName("XMMC")->AsString.Trim();
xmgs=m_query->Fields->FieldByName("XMGS")->AsString.Trim();
dxxmbh=m_query->Fields->FieldByName("DXXMBH")->AsString.Trim();
dxcnmc=m_query->Fields->FieldByName("DXCNMC")->AsString.Trim();
dxbssj=m_query->Fields->FieldByName("DXBSSJ")->AsString.Trim();
mlbfzbh=m_query->Fields->FieldByName("LBBH")->AsString.Trim()+":"+m_query->Fields->FieldByName("FZBH")->AsString.Trim();
count=StrToInt(xmgs);
for(i=0;i<count;i++)list_lbfzbh->Add(mlbfzbh);
for(i=0;i<count;i++)list_xmbh->Add(xmbh);
parsestr(dxcnmc,&list_temp,';');
for(i=0;i<count;i++)list_xmm->Add(xmmc+"之"+list_temp->Strings[i].Trim());
for(i=0;i<count;i++)list_bsfs->Add("决赛");
parsestr(dxbssj,&list_temp,';');
for(i=0;i<count;i++){
parsestr(list_temp->Strings[i].Trim(),&list_qn,' ');
if(list_qn->Count>0)
list_yr->Add(list_qn->Strings[0].Trim());
else
list_yr->Add("09.28");
if(list_qn->Count>1)
list_fm->Add(list_qn->Strings[1].Trim());
else
list_fm->Add("08:59");
}
parsestr(dxxmbh,&list_temp,';');
for(i=0;i<count;i++){
qndxbh=list_temp->Strings[i].Trim();
list_temp1->Add(qndxbh);
dxindex=list_qn_xmbh->IndexOf(qndxbh);
if(dxindex<0)dxindex=0;
qndxbh=list_qn_xmxj->Strings[dxindex].Trim();
if(qndxbh=="1")list_xmlb->Add("径赛");
if(qndxbh=="2"||qndxbh=="3")list_xmlb->Add("田赛");
}
m_query->Next();
}
///end;
for(i=0;i<list_temp1->Count;i++){
xmbh=list_xmbh->Strings[qnstart_pos+i].Trim();
open("select count(*) as m_count from jlb where XMBH='"+xmbh+"' and DXBH='"+list_temp1->Strings[i].Trim()+"'");
list_rs->Add(m_query->Fields->FieldByName("m_count")->AsString.Trim());
open("select top 1 XZH from jlb where XMBH='"+xmbh+"' and DXBH='"+list_temp1->Strings[i].Trim()+"' order by XZH DESC");
list_zs->Add(m_query->Fields->FieldByName("XZH")->AsString.Trim());
}
///////结束
int ppp;
for(i=0;i<list_xmbh->Count;i++){
mlbfzbh=list_lbfzbh->Strings[i].Trim();
ppp=list_plbfzbh->IndexOf(mlbfzbh);
if(ppp<0)mlbfzbh=" ";
mlbfzbh=list_plbfzmc->Strings[ppp].Trim();
temp_str="insert xmbb(YR,FM,XMM,LBFZ,XMLB,BSFS,RS,ZS ) values('"+list_yr->Strings[i].Trim()+"',\
'"+list_fm->Strings[i].Trim()+"','"+list_xmm->Strings[i].Trim()+"','"+mlbfzbh+"',\
'"+list_xmlb->Strings[i].Trim()+"','"+list_bsfs->Strings[i].Trim()+"','"+list_rs->Strings[i].Trim()+"',\
'"+list_zs->Strings[i].Trim()+"')";
exe(temp_str);
}
delete list_yr;delete list_fm;
delete list_xmm;delete list_rs;
delete list_zs;delete list_bsfs;
delete list_xmbh;
delete list_xmlb;
delete list_temp;
delete list_temp1;
delete list_qn;
delete list_lbfzbh;
delete list_plbfzbh;
delete list_plbfzmc;
delete list_qn_xmxj;
delete list_qn_xmbh;
show();
}
//---------------------------------------------------------------------------
void __fastcall Txmbb::BitBtn2Click(TObject *Sender)
{
int idok,i;
TStringList *list_temp;
AnsiString m_where=" YR is not NULL ",m_sql,m_xmlb;
list_temp=new TStringList;
AnsiString fromyr="",toyr="",fromfm="",tofm="";
xmbbdlg=new Txmbbdlg(this);
idok=xmbbdlg->ShowModal();
if(idok==IDOK){
m_xmlb =xmbbdlg->xmlb->Text.Trim();
parsestr(xmbbdlg->yr->Text.Trim(),&list_temp,';');
if(list_temp->Count>0)fromyr=list_temp->Strings[0].Trim();
if(list_temp->Count>1)toyr=list_temp->Strings[1].Trim();
parsestr(xmbbdlg->fm->Text.Trim(),&list_temp,';');
if(list_temp->Count>0)fromfm=list_temp->Strings[0].Trim();
if(list_temp->Count>1)tofm=list_temp->Strings[1].Trim();
if(!fromyr.Trim().IsEmpty()){
if(toyr.Trim().IsEmpty())m_where+=" and YR='"+fromyr+"' ";
if(!toyr.Trim().IsEmpty())m_where+=" and YR>='"+fromyr+"' and YR<='"+toyr+"' ";
}
if(!fromfm.Trim().IsEmpty()){
if(tofm.Trim().IsEmpty())m_where+=" and FM='"+fromfm+"' ";
if(!tofm.Trim().IsEmpty())m_where+=" and FM>='"+fromfm+"' and FM<='"+tofm+"' ";
}
if(!m_xmlb.IsEmpty()){
AnsiString m_m;
parsestr(m_xmlb,&list_temp,';') ;
m_m=" XMLB='"+list_temp->Strings[0].Trim()+"' ";
for(i=1; i<list_temp->Count;i++)
m_m+=" or XMLB='"+list_temp->Strings[i].Trim()+"' ";
m_where=m_where+" and ("+m_m+") ";
}
m_sql="select * from xmbb where "+m_where+" order by FM ASC";
print_form->xm_title->Caption=Application->Title;
print_form->xm_xm->Caption=xmbbdlg->bz->Text;
print_form->open(m_sql);
print_form->xm_rep->Preview();
}
delete list_temp;
delete xmbbdlg;
}
//---------------------------------------------------------------------------
void __fastcall Txmbb::BitBtn3Click(TObject *Sender)
{
this->show();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -