📄 sbjhdlg.cpp
字号:
// sbjhdlg.cpp : implementation file
//
#include "stdafx.h"
#include "xxgl.h"
#include "sbjhdlg.h"
#include "yszmxzsbdlg.h"
#include "jhsqbdlg.h"
#include "math.h"
#include "strt.h"
#include "ext.h"
#include "func.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static char buf1[17][50];
static char xxlb[10],pblb1[10],pbsl[15],pbsbmc[50];
static FILE *dfpe;
static char xzgdbh[10],xzsbmc[50];
Csbjhdlg::Csbjhdlg(CWnd* pParent /*=NULL*/)
: CDialog(Csbjhdlg::IDD, pParent)
{
//{{AFX_DATA_INIT(Csbjhdlg)
m_ckjg = _T("");
m_gdbh = _T("");
m_jldw = _T("");
m_kcsl = _T("");
m_pbsl = _T("");
m_pyjx = _T("");
m_sbmc = _T("");
m_sxsl = _T("");
//}}AFX_DATA_INIT
out_flag = 0;
FILE *fpe;
fpe = fopen("c:\\xxsbgl\\xxxx.txt","r");
if (fpe != NULL){
fscanf(fpe,"%s\n",xxlb);
fscanf(fpe,"%s\n",pblb1);
fclose(fpe);
}
dfpe = NULL;
if (strcmp(xxlb,"中学") == 0){
dfpe = fopen("c:\\xxsbgl\\zxpb.dat","rb");
}
if (strcmp(xxlb,"小学") == 0){
dfpe = fopen("c:\\xxsbgl\\xxpb.dat","rb");
}
g_old_htreeitem = NULL;
}
Csbjhdlg::~Csbjhdlg()
{
if (dfpe != NULL)
fclose(dfpe);
dfpe = NULL;
}
void Csbjhdlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Csbjhdlg)
DDX_Control(pDX, IDC_TREE1, m_tree);
DDX_Text(pDX, IDC_ckjg, m_ckjg);
DDX_Text(pDX, IDC_gdbh, m_gdbh);
DDX_Text(pDX, IDC_jldw, m_jldw);
DDX_Text(pDX, IDC_kcsl, m_kcsl);
DDX_Text(pDX, IDC_pbsl, m_pbsl);
DDX_Text(pDX, IDC_pyjx, m_pyjx);
DDX_Text(pDX, IDC_sbmc, m_sbmc);
DDX_Text(pDX, IDC_sxsl, m_sxsl);
//}}AFX_DATA_MAP
CBitmap *bitmap;
CBitmap *bitmap1;
HBITMAP hbitmap;
HBITMAP hbitmap1;
bitmap = new CBitmap();
bitmap1 = new CBitmap();
bitmap->LoadBitmap(IDB_sb);
bitmap1->LoadBitmap(IDB_tc);
hbitmap = (*bitmap).operator HBITMAP();
hbitmap1 = (*bitmap1).operator HBITMAP();
CWnd *wn;
CWnd *wn1;
wn = GetDlgItem(IDSHENBAO);
wn1 = GetDlgItem(IDCANCEL);
// wn2 = GetDlgItem(IDOK3);
WPARAM wParam;
LPARAM lParam;
wParam = (WPARAM) LOWORD(BS_LEFT | BS_BITMAP); // style
lParam = MAKELPARAM(TRUE, 0); // redraw flag
wn->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap);
wn1->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap1);
if (out_flag == 0)
load_sbtree(m_tree);
}
BEGIN_MESSAGE_MAP(Csbjhdlg, CDialog)
//{{AFX_MSG_MAP(Csbjhdlg)
ON_BN_CLICKED(IDSHENBAO, OnShenbao)
ON_EN_CHANGE(IDC_pyjx, OnChangepyjx)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree1)
ON_NOTIFY(TVN_ITEMEXPANDED, IDC_TREE1, OnItemexpandedTree1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csbjhdlg message handlers
void Csbjhdlg::OnShenbao()
{
Cjhsqbdlg dlg;
char buf[50];
free_sbtree(m_tree);
GetDlgItemText(IDC_sbmc,buf,50);
dlg.m_mc = buf;
GetDlgItemText(IDC_ckjg,buf,50);
dlg.m_jg = buf;
dlg.DoModal();
load_sbtree(m_tree);
CWnd *wd;
wd = GetDlgItem(IDC_pyjx);
wd->SetFocus();
}
void Csbjhdlg::OnChangepyjx()
{
char buf[40];
int i,ret,j;
double kcsl,psl,sxsl;
if (g_yszm_xzsb_flag == 0){
GetDlgItemText(IDC_pyjx,buf,20);
Cyszmxzsbdlg dlg;
g_yszm_xzsb_flag = 1;
g_xzxzsb_flag = 1;
strcpy(g_yszm_xzsb_pass_buf,buf);
if (dlg.DoModal() == IDOK){
g_xzxzsb_flag = 0;
i = g_yszm_sel_sb;
g_yszm_xzsb_flag = 1;
SetDlgItemText(IDC_jldw,"");
SetDlgItemText(IDC_pbsl,"0");
SetDlgItemText(IDC_sxsl,"0");
SetDlgItemText(IDC_ckjg,"0");
g_yszm_xzsb_flag = 1;
SetDlgItemText(IDC_pyjx,g_e_abbr[i]);
SetDlgItemText(IDC_sbmc,g_e_name[i]);
strcpy(xzsbmc,g_e_name[i]);
strcpy(xzgdbh,g_a_id[i]);
g_yszm_xzsb_flag = 1;
SetDlgItemText(IDC_gdbh,g_a_id[i]);
kcsl = get_kcsl_of_one_thing(g_e_name[i],g_a_id[i]);
if (fabs(kcsl - (int)kcsl) < 0.01){
sprintf(buf,"%.0lf",kcsl);
}
else{
sprintf(buf,"%.2lf",kcsl);
}
SetDlgItemText(IDC_kcsl,buf);
j = i;
m_tree.SelectDropTarget(g_htreeitem[i]);
m_tree.SelectItem(g_htreeitem[i]);
if (dfpe != NULL){
if (strcmp(xxlb,"小学") == 0){
ret = 0;
fseek(dfpe,0L,SEEK_SET);
while (ret == 0){
for (i=0;i<11;i++){
ret = get_a_line(dfpe,buf1[i]);
if (ret == -1)
break;
}
if (ret != -1){
trim(buf1[1]);
strcpy(pbsbmc,buf1[1]);
strcpy(pbsl,"0");
if (strcmp(pblb1,"一级") == 0)
strcpy(pbsl,buf1[7]);
if (strcmp(pblb1,"二级") == 0)
strcpy(pbsl,buf1[8]);
if (strcmp(pblb1,"三级") == 0)
strcpy(pbsl,buf1[9]);
if (strcmp(pblb1,"四级") == 0)
strcpy(pbsl,buf1[10]);
if (strcmp(pbsbmc,g_e_name[j]) == 0){
trim(pbsl);
SetDlgItemText(IDC_pbsl,pbsl);
psl = atof(pbsl);
sxsl = psl - kcsl;
if (fabs(sxsl - (int)sxsl) < 0.01)
sprintf(buf,"%.0lf",sxsl);
else
sprintf(buf,"%.2lf",sxsl);
SetDlgItemText(IDC_sxsl,buf);
trim(buf1[5]);
SetDlgItemText(IDC_jldw,buf1[5]);
}
}
}
}
else{
ret = 0;
fseek(dfpe,0L,SEEK_SET);
while (ret == 0){
for (i=0;i<17;i++){
ret = get_a_line(dfpe,buf1[i]);
if (ret == -1)
break;
}
if (ret != -1){
trim(buf1[1]);
strcpy(pbsbmc,buf1[1]);
strcpy(pbsl,"0");
if (strcmp(pblb1,"一级") == 0)
strcpy(pbsl,buf1[5]);
if (strcmp(pblb1,"二级") == 0)
strcpy(pbsl,buf1[6]);
if (strcmp(pblb1,"三级") == 0)
strcpy(pbsl,buf1[7]);
if (strcmp(pblb1,"四级") == 0)
strcpy(pbsl,buf1[8]);
if (strcmp(pbsbmc,g_e_name[j]) == 0){
trim(pbsl);
SetDlgItemText(IDC_pbsl,pbsl);
psl = atof(pbsl);
sxsl = psl - kcsl;
if (fabs(sxsl - (int)sxsl) < 0.01)
sprintf(buf,"%.0lf",sxsl);
else
sprintf(buf,"%.2lf",sxsl);
SetDlgItemText(IDC_sxsl,buf);
trim(buf1[3]);
SetDlgItemText(IDC_jldw,buf1[3]);
}
}
}
}
}
CWnd *wnd;
wnd = GetDlgItem(IDSHENBAO);
wnd->SetFocus();
}
else{
g_xzxzsb_flag = 0;
}
}
else{
g_yszm_xzsb_flag = 0;
}
}
void Csbjhdlg::OnItemexpandedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
m_tree.Invalidate(TRUE);
*pResult = 0;
}
void Csbjhdlg::OnCancel()
{
out_flag = 1;
free_sbtree(m_tree);
CDialog::OnCancel();
}
/*
void Csbjhdlg::OnOK()
{
out_flag = 1;
free_sbtree(m_tree);
CDialog::OnOK();
}
*/
double get_kcsl_of_one_thing(char name[50],char bh[10])
{
FILE *fpe;
int i;
double num,num1;
long l;
num = 0;
fpe = fopen("c:\\xxsbgl\\qczm.dat","rb");
if (fpe != NULL){
fseek(fpe,0L,SEEK_END);
l = ftell(fpe);
fseek(fpe,0L,SEEK_SET);
for (i=0;i<l/453;i++){
fread(&(zmunit.reserve[0]),453,1,fpe);
zmunit.gdbh[10] = 0;
zmunit.sbmc[50] = 0;
trim(zmunit.gdbh);
trim(zmunit.sbmc);
if ((strcmp(zmunit.gdbh,bh) == 0) &&
(strcmp(zmunit.sbmc,name) == 0)){
zmunit.wpsl[14] = 0;
num1 = atof(zmunit.wpsl);
num += num1;
}
}
fclose(fpe);
}
fpe = fopen("c:\\xxsbgl\\sbrkzm.dat","rb");
if (fpe != NULL){
fseek(fpe,0L,SEEK_END);
l = ftell(fpe);
fseek(fpe,0L,SEEK_SET);
for (i=0;i<l/453;i++){
fread(&(zmunit.reserve[0]),453,1,fpe);
zmunit.gdbh[10] = 0;
zmunit.sbmc[50] = 0;
trim(zmunit.gdbh);
trim(zmunit.sbmc);
if ((strcmp(zmunit.gdbh,bh) == 0) &&
(strcmp(zmunit.sbmc,name) == 0)){
zmunit.wpsl[14] = 0;
num1 = atof(zmunit.wpsl);
num += num1;
}
}
fclose(fpe);
}
fpe = fopen("c:\\xxsbgl\\sbckzm.dat","rb");
if (fpe != NULL){
fseek(fpe,0L,SEEK_END);
l = ftell(fpe);
fseek(fpe,0L,SEEK_SET);
for (i=0;i<l/280;i++){
fread(&(sbckunit.reserve[0]),280,1,fpe);
sbckunit.gdbh[9] = 0;
sbckunit.sbmc[41] = 0;
trim(sbckunit.gdbh);
trim(sbckunit.sbmc);
if ((strcmp(sbckunit.gdbh,bh) == 0) &&
(strcmp(sbckunit.sbmc,name) == 0)){
sbckunit.cksl[11] = 0;
num1 = atof(sbckunit.cksl);
num -= num1;
}
}
fclose(fpe);
}
return num;
}
void Csbjhdlg::OnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
HTREEITEM htreeitem;
int i,j;
CString str;
int ret;
double kcsl,psl,sxsl;
FILE *fpe;
char buf[100];
htreeitem = m_tree.GetSelectedItem();
if (htreeitem != NULL){
for (j=0;j<g_end_sbs;j++){
if (g_htreeitem[j] == htreeitem){
i = j;
break;
}
}
g_yszm_sel_sb = i;
if ((strstr(g_e_name[i],"其他") == NULL)&&
(strstr(g_e_name[i],"其它") == NULL)){
for (i=0;i<g_end_sbs;i++){
if (g_parent[i] == g_yszm_sel_sb){
*pResult = 0;
return;
}
}
}
i = g_yszm_sel_sb;
strcpy(xzsbmc,g_e_name[i]);
strcpy(xzgdbh,g_a_id[i]);
m_tree.SelectDropTarget(g_htreeitem[i]);
m_tree.SelectItem(g_htreeitem[i]);
g_yszm_xzsb_flag = 1;
SetDlgItemText(IDC_byjx,g_e_abbr[i]);
SetDlgItemText(IDC_sbmc,g_e_name[i]);
g_yszm_xzsb_flag = 1;
SetDlgItemText(IDC_gdbh,g_a_id[i]);
SetDlgItemText(IDC_yqdm,g_e_code[i]);
SetDlgItemText(IDC_scdm,g_p_id[i]);
j = i;
SetDlgItemText(IDC_jldw,"");
SetDlgItemText(IDC_pbsl,"0");
SetDlgItemText(IDC_sxsl,"0");
SetDlgItemText(IDC_ckjg,"0");
if (dfpe != NULL){
if (strcmp(xxlb,"小学") == 0){
ret = 0;
fseek(dfpe,0L,SEEK_SET);
while (ret == 0){
for (i=0;i<11;i++){
ret = get_a_line(dfpe,buf1[i]);
if (ret == -1)
break;
}
if (ret != -1){
trim(buf1[1]);
strcpy(pbsbmc,buf1[1]);
strcpy(pbsl,"0");
if (strcmp(pblb1,"一级") == 0)
strcpy(pbsl,buf1[7]);
if (strcmp(pblb1,"二级") == 0)
strcpy(pbsl,buf1[8]);
if (strcmp(pblb1,"三级") == 0)
strcpy(pbsl,buf1[9]);
if (strcmp(pblb1,"四级") == 0)
strcpy(pbsl,buf1[10]);
if (strcmp(pbsbmc,g_e_name[j]) == 0){
trim(pbsl);
SetDlgItemText(IDC_pbsl,pbsl);
psl = atof(pbsl);
sxsl = psl - kcsl;
if (fabs(sxsl - (int)sxsl) < 0.01)
sprintf(buf,"%.0lf",sxsl);
else
sprintf(buf,"%.2lf",sxsl);
SetDlgItemText(IDC_sxsl,buf);
trim(buf1[5]);
SetDlgItemText(IDC_jldw,buf1[5]);
}
}
}
}
else{
ret = 0;
fseek(dfpe,0L,SEEK_SET);
while (ret == 0){
for (i=0;i<17;i++){
ret = get_a_line(dfpe,buf1[i]);
if (ret == -1)
break;
}
if (ret != -1){
trim(buf1[1]);
strcpy(pbsbmc,buf1[1]);
strcpy(pbsl,"0");
if (strcmp(pblb1,"一级") == 0)
strcpy(pbsl,buf1[5]);
if (strcmp(pblb1,"二级") == 0)
strcpy(pbsl,buf1[6]);
if (strcmp(pblb1,"三级") == 0)
strcpy(pbsl,buf1[7]);
if (strcmp(pblb1,"四级") == 0)
strcpy(pbsl,buf1[8]);
if (strcmp(pbsbmc,g_e_name[j]) == 0){
trim(pbsl);
SetDlgItemText(IDC_pbsl,pbsl);
psl = atof(pbsl);
sxsl = psl - kcsl;
if (fabs(sxsl - (int)sxsl) < 0.01)
sprintf(buf,"%.0lf",sxsl);
else
sprintf(buf,"%.2lf",sxsl);
SetDlgItemText(IDC_sxsl,buf);
trim(buf1[3]);
SetDlgItemText(IDC_jldw,buf1[3]);
}
}
}
}
}
CWnd *wnd;
wnd = GetDlgItem(IDSHENBAO);
wnd->SetFocus();
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -