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

📄 yszmcxdlg.cpp

📁 这是一套学校设备管理系统的源码 里面有树形结构使用的很棒的方法
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// yszmcxdlg.cpp : implementation file
//

#include "stdafx.h"
#include "xxgl.h"
#include "yszmcxdlg.h"
#include "sdrkfsdlg.h"
#include "sdgdbhdlg.h"
#include "sdcjppdlg.h"
#include "sdrksjdlg.h"
#include "sdghdwdlg.h"
#include "sdssbmdlg.h"
#include "sdjbrdlg.h"
#include "sdzjedlg.h"
#include "sdwpsldlg.h"
#include "sdwpdjdlg.h"
#include "sddzpdlg.h"
#include "sdgdbhdlg1.h"
#include "sdrkbhdlg.h"
#include "yszmxgdlg.h"
#include "yszmscqrdlg.h"
#include "xzbm1dlg.h"
#include "math.h"
#include "process.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 CString str;
static double tjxxhf,tjsjhf;
static int sfjslsk_flag;
static int sfjqck_flag;
static int s_qrksj_flag,s_jrksj_flag,s_sbs_flag,s_sbmc_flag;
static int s_qrkbh_flag,s_jrkbh_flag,s_ssbm_flag,s_dzp_flag;
static int s_jbr_flag,s_rkfs_flag,s_qgdbh_flag,s_jgdbh_flag;
static int s_qwpdj_flag,s_jwpdj_flag;
static char s_qrksj[10],s_jrksj[10],s_sbs[50],s_sbmc[50];
static char s_qrkbh[10],s_jrkbh[10],s_ssbm[40],s_dzp[10];
static char s_jbr[10],s_rkfs[40],s_qgdbh[10],s_jgdbh[10];
static char s_qwpdj[15],s_jwpdj[15];
static int change_flag;
static int update_ssbm_flag;

Cyszmcxdlg::Cyszmcxdlg(CWnd* pParent /*=NULL*/)
	: CDialog(Cyszmcxdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cyszmcxdlg)
	m_jgdbh = _T("");
	m_jrkbh = _T("");
	m_qgdbh = _T("");
	m_qrkbh = _T("");
 	m_sbmc = _T("");
	m_sbs = _T("");
	m_qwpdj = _T("");
	m_jwpdj = _T("");
	//}}AFX_DATA_INIT
	g_num_of_conds = 0;
	out_flag = 0;
    int i;
	for (i=0;i<4000;i++)
	  duiyin_tab[i] = i;
	cur_focus = 0;
	end_result_recs = 0;
	change_flag = 0;
	update_ssbm_flag = 0;
}

Cyszmcxdlg::~Cyszmcxdlg()
{
	int year;

    time_t ltime;    
	struct tm *pti;
	char buf[10];

    time(&ltime);    
	pti = gmtime(&ltime);
	year = pti->tm_year + 1900;
	itoa(year,buf,10);
	strcpy(g_cur_year,buf);
	g_lishi_flag = 0;

}

void Cyszmcxdlg::DoDataExchange(CDataExchange* pDX)
{
	FILE *fpe;
	int i,ret;

	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cyszmcxdlg)
	DDX_Control(pDX, IDC_rkn, m_qrkn);
	DDX_Control(pDX, IDC_jrkn, m_jrkn);
	DDX_Control(pDX, IDC_qrky, m_qrky);
	DDX_Control(pDX, IDC_qrkr, m_qrkr);
	DDX_Control(pDX, IDC_jrky, m_jrky);
	DDX_Control(pDX, IDC_jrkr, m_jrkr);
	DDX_Control(pDX, IDC_TREE1, m_tree);
	DDX_Control(pDX, IDC_ssbm, m_ssbm);
	DDX_Control(pDX, IDC_rkfs, m_rkfs);
	DDX_Control(pDX, IDC_jbr, m_jbr);
	DDX_Control(pDX, IDC_dzp, m_dzp);
	DDX_Control(pDX, IDC_kcy, m_kcy);
	DDX_Control(pDX, IDC_kcr, m_kcr);
	DDX_Control(pDX, IDC_kcn, m_kcn);
	DDX_Text(pDX, IDC_jgdbh, m_jgdbh);
	DDX_Text(pDX, IDC_jrkbh, m_jrkbh);
	DDX_Text(pDX, IDC_qgdbh, m_qgdbh);
	DDX_Text(pDX, IDC_qrkbh, m_qrkbh);
	DDX_Text(pDX, IDC_sbmc, m_sbmc);
	DDX_Text(pDX, IDC_sbs, m_sbs);
	DDX_Control(pDX, IDC_result, m_result);
	DDX_Text(pDX, IDC_qwpdj, m_qwpdj);
	DDX_Text(pDX, IDC_jwpdj, m_jwpdj);
	//}}AFX_DATA_MAP

	CBitmap *bitmapadd;
    CBitmap *bitmapadd1;
    CBitmap *bitmapadd2;
    CBitmap *bitmapadd3;    
	CBitmap *bitmapadd4;
    CBitmap *bitmapadd5;

	HBITMAP hbitmapadd;
    HBITMAP hbitmapadd1;
	HBITMAP hbitmapadd2;
	HBITMAP hbitmapadd3;
	HBITMAP hbitmapadd4;
	HBITMAP hbitmapadd5;


    bitmapadd= new CBitmap();
    bitmapadd1= new CBitmap();
	bitmapadd2= new CBitmap();
	bitmapadd3= new CBitmap();
	bitmapadd4= new CBitmap();
	bitmapadd5= new CBitmap();


    bitmapadd->LoadBitmap(IDB_sc);
	bitmapadd1->LoadBitmap(IDB_xg);
	bitmapadd2->LoadBitmap(IDB_cx);
    bitmapadd3->LoadBitmap(IDB_dy);
	bitmapadd4->LoadBitmap(IDB_tj_qx);
    bitmapadd5->LoadBitmap(IDB_tc);

    hbitmapadd= (*bitmapadd).operator HBITMAP();
	hbitmapadd1= (*bitmapadd1).operator HBITMAP();
	hbitmapadd2= (*bitmapadd2).operator HBITMAP();
	hbitmapadd3= (*bitmapadd3).operator HBITMAP();
	hbitmapadd4= (*bitmapadd4).operator HBITMAP();
	hbitmapadd5= (*bitmapadd5).operator HBITMAP();
    
	
	
	CWnd *wnadd;
	CWnd *wnadd1;
	CWnd *wnadd2;
	CWnd *wnadd3;
	CWnd *wnadd4;
	CWnd *wnadd5;


    wnadd = GetDlgItem(ID_shanchu);
	wnadd1 = GetDlgItem(ID_xiugai);
	wnadd2 = GetDlgItem(ID_chaxun);
	wnadd3 = GetDlgItem(ID_dayin);
	wnadd4 = GetDlgItem(ID_qctj);
	wnadd5 = GetDlgItem(IDCANCEL);



    WPARAM wParam;
    LPARAM lParam;
    wParam =  (WPARAM) LOWORD(BS_LEFT | BS_BITMAP); // style 
    lParam =  MAKELPARAM(TRUE, 0);   // redraw flag 
    wnadd->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd);
	wnadd1->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd1);
	wnadd2->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd2);
	wnadd3->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd3);
	wnadd4->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd4);
	wnadd5->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmapadd5);



	if (out_flag == 0){
	int year;

    time_t ltime;    
	struct tm *pti;
	char buf[10];

    time(&ltime);    
	pti = gmtime(&ltime);
	year = pti->tm_year + 1900;
	itoa(year,buf,10);
	g_lishi_flag = 0;

	m_result.SetColWidth(0L,1100L);
	m_result.SetColWidth(1L,3600L);
	m_result.SetColWidth(2L,1100L);
	m_result.SetColWidth(3L,1100L);
	m_result.SetColWidth(4L,1200L);
	m_result.SetColWidth(5L,2000L);
	m_result.SetColWidth(6L,1200L);
	m_result.SetColWidth(7L,800L);
	m_result.SetColWidth(8L,1100L);
	m_result.SetColWidth(9L,800L);
	m_result.SetColWidth(10L,2000L);
	m_result.SetColWidth(11L,2000L);
	m_result.SetColWidth(12L,1100L);
	m_result.SetColWidth(13L,1100L);
    m_result.SetRow(0L);
	m_result.SetCol(0L);
	m_result.SetText("库存编号");
	m_result.SetCol(1L);
	m_result.SetText("物品名称");
	m_result.SetCol(2L);
	m_result.SetText("物品单价");
	m_result.SetCol(3L);
	m_result.SetText("物品数量");
	m_result.SetCol(4L);
	m_result.SetText("总金额");
	m_result.SetCol(5L);
	m_result.SetText("入库时间");
	m_result.SetCol(6L);
	m_result.SetText("型号规格");
	m_result.SetCol(7L);
	m_result.SetText("经办人");
	m_result.SetCol(8L);
	m_result.SetText("固定编号");
	m_result.SetCol(9L);
	m_result.SetText("低值品");
	m_result.SetCol(10L);
	m_result.SetText("厂家品牌");
	m_result.SetCol(11L);
	m_result.SetText("供货单位");
	m_result.SetCol(12L);
	m_result.SetText("所属部门");
	m_result.SetCol(13L);
	m_result.SetText("入库方式");
	CWnd *wd;
	if (g_zm_chaxun_flag == YSZM){
		wd = GetDlgItem(IDC_ssjhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_sxxhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_tjsjhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_tjxxhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(ID_xiugai);
        wd->ShowWindow(TRUE);
    }
	if (g_zm_chaxun_flag == KUCUN){
		wd = GetDlgItem(IDC_ssjhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_sxxhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_tjsjhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_tjxxhf);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(ID_shanchu);
        wd->ShowWindow(FALSE);
		wd = GetDlgItem(IDC_skcn);
        wd->ShowWindow(TRUE);
		wd = GetDlgItem(IDC_kcn);
        wd->ShowWindow(TRUE);
		wd = GetDlgItem(IDC_skcy);
        wd->ShowWindow(TRUE);
		wd = GetDlgItem(IDC_kcy);
        wd->ShowWindow(TRUE);
		wd = GetDlgItem(IDC_skcr);
        wd->ShowWindow(TRUE);
		wd = GetDlgItem(IDC_kcr);
        wd->ShowWindow(TRUE);
	    itoa(year,buf,10);
	    m_kcn.SelectString(0,buf);
		SetDlgItemText(IDC_kcy,"12");
		SetDlgItemText(IDC_kcr,"31"); 
	}
	CheckDlgButton(IDC_arkbhpx,TRUE);
	CheckDlgButton(IDC_asbmcpx,FALSE);
	CheckDlgButton(IDC_arksjpx,FALSE);
	CheckDlgButton(IDC_agdbhpx,FALSE);
	load_sbtree(m_tree);

	fpe = fopen("c:\\xxsbgl\\rkfs.txt","rb");
	g_end_rkfs = 0;
	if (fpe != NULL){
	  ret = fscanf(fpe,"%s\n",buf);
	  while (ret > 0){
		if (strlen(buf) != 0){
          strcpy(g_rkfs_name[g_end_rkfs],buf);
          g_end_rkfs ++;
        }
	    ret = fscanf(fpe,"%s\n",buf);
	  }
	  fclose(fpe);
    }
	m_rkfs.InitStorage(20,100);
	for (i=0;i<g_end_rkfs;i++){
		m_rkfs.AddString(g_rkfs_name[i]);
    }

	fpe = fopen("c:\\xxsbgl\\bmsz.txt","rb");
	g_end_bmsz = 0;
	if (fpe != NULL){
	  ret = fscanf(fpe,"%s\n",buf);
	  while (ret > 0){
		if (strlen(buf) != 0){
          strcpy(g_bmsz_name[g_end_bmsz],buf);
          g_end_bmsz ++;
        }
	    ret = fscanf(fpe,"%s\n",buf);
	  }
	  fclose(fpe);
    }
	m_ssbm.InitStorage(20,100);
	for (i=0;i<g_end_bmsz;i++){
		m_ssbm.AddString(g_bmsz_name[i]);
    }

	fpe = fopen("c:\\xxsbgl\\jbr.txt","rb");
    g_end_jbr = 0;
	if (fpe != NULL){
	  ret = fscanf(fpe,"%s\n",buf);
	  while (ret > 0){
		if (strlen(buf) != 0){
          strcpy(g_jbr_name[g_end_jbr],buf);
          g_end_jbr ++;
        }
	    ret = fscanf(fpe,"%s\n",buf);
	  }
	  fclose(fpe);
    }
	m_jbr.InitStorage(1000,10);
	for (i=0;i<g_end_jbr;i++){
		m_jbr.AddString(g_jbr_name[i]);
    }

	}
}


BEGIN_MESSAGE_MAP(Cyszmcxdlg, CDialog)
	//{{AFX_MSG_MAP(Cyszmcxdlg)
	ON_BN_CLICKED(ID_chaxun, Onchaxun)
	ON_BN_CLICKED(ID_shanchu, Onshanchu)
	ON_BN_CLICKED(ID_xiugai, Onxiugai)
	ON_BN_CLICKED(ID_dayin, Ondayin)
	ON_BN_CLICKED(IDC_arkbhpx, Onarkbhpx)
	ON_BN_CLICKED(IDC_arksjpx, Onarksjpx)
	ON_BN_CLICKED(IDC_asbmcpx, Onasbmcpx)
	ON_BN_CLICKED(IDC_agdbhpx, Onagdbhpx)
	ON_CBN_EDITCHANGE(IDC_kcn, OnEditchangekcn)
	ON_CBN_EDITCHANGE(IDC_kcr, OnEditchangekcr)
	ON_CBN_EDITCHANGE(IDC_kcy, OnEditchangekcy)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree1)
	ON_NOTIFY(TVN_ITEMEXPANDED, IDC_TREE1, OnItemexpandedTree1)
	ON_CBN_EDITCHANGE(IDC_ssbm, OnEditchangessbm)
	ON_CBN_SELCHANGE(IDC_ssbm, OnSelchangessbm)
	ON_CBN_SELCHANGE(IDC_jbr, OnSelchangejbr)
	ON_CBN_SELCHANGE(IDC_dzp, OnSelchangedzp)
	ON_CBN_EDITCHANGE(IDC_rkfs, OnEditchangerkfs)
	ON_CBN_SELCHANGE(IDC_rkfs, OnSelchangerkfs)
	ON_CBN_EDITCHANGE(IDC_jbr, OnEditchangejbr)
	ON_CBN_EDITCHANGE(IDC_dzp, OnEditchangedzp)
	ON_EN_CHANGE(IDC_qrkbh, OnChangeqrkbh)
	ON_EN_CHANGE(IDC_jrkbh, OnChangejrkbh)
	ON_EN_CHANGE(IDC_qgdbh, OnChangeqgdbh)
	ON_EN_CHANGE(IDC_jgdbh, OnChangejgdbh)
	ON_EN_CHANGE(IDC_sbmc, OnChangesbmc)
	ON_EN_SETFOCUS(IDC_sbs, OnSetfocussbs)
	ON_EN_SETFOCUS(IDC_sbmc, OnSetfocussbmc)
	ON_EN_SETFOCUS(IDC_qrkbh, OnSetfocusqrkbh)
	ON_EN_SETFOCUS(IDC_jrkbh, OnSetfocusjrkbh)
	ON_CBN_SETFOCUS(IDC_ssbm, OnSetfocusssbm)
	ON_CBN_SETFOCUS(IDC_dzp, OnSetfocusdzp)
	ON_CBN_SETFOCUS(IDC_jbr, OnSetfocusjbr)
	ON_CBN_SETFOCUS(IDC_rkfs, OnSetfocusrkfs)
	ON_EN_SETFOCUS(IDC_qgdbh, OnSetfocusqgdbh)
	ON_EN_SETFOCUS(IDC_jgdbh, OnSetfocusjgdbh)
	ON_CBN_SETFOCUS(IDC_rkn, OnSetfocusrkn)
	ON_CBN_EDITCHANGE(IDC_qrky, OnEditchangeqrky)
	ON_CBN_SELCHANGE(IDC_qrky, OnSelchangeqrky)
	ON_CBN_EDITCHANGE(IDC_qrkr, OnEditchangeqrkr)
	ON_CBN_SELCHANGE(IDC_qrkr, OnSelchangeqrkr)
	ON_CBN_EDITCHANGE(IDC_jrkr, OnEditchangejrkr)
	ON_CBN_SELCHANGE(IDC_jrkr, OnSelchangejrkr)
	ON_CBN_EDITCHANGE(IDC_jrky, OnEditchangejrky)
	ON_CBN_SELCHANGE(IDC_jrky, OnSelchangejrky)
	ON_CBN_SETFOCUS(IDC_qrky, OnSetfocusqrky)
	ON_CBN_SETFOCUS(IDC_qrkr, OnSetfocusqrkr)
	ON_CBN_SETFOCUS(IDC_jrky, OnSetfocusjrky)
	ON_CBN_SETFOCUS(IDC_jrkr, OnSetfocusjrkr)
	ON_BN_CLICKED(ID_qctj, Onqctj)
	ON_CBN_SELCHANGE(IDC_jrkn, OnSelchangejrkn)
	ON_CBN_SETFOCUS(IDC_jrkn, OnSetfocusjrkn)
	ON_CBN_EDITCHANGE(IDC_jrkn, OnEditchangejrkn)
	ON_CBN_EDITCHANGE(IDC_rkn, OnEditchangerkn)
	ON_CBN_SELCHANGE(IDC_rkn, OnSelchangerkn)
	ON_EN_CHANGE(IDC_jwpdj, OnChangejwpdj)
	ON_EN_SETFOCUS(IDC_jwpdj, OnSetfocusjwpdj)
	ON_EN_CHANGE(IDC_qwpdj, OnChangeqwpdj)
	ON_EN_SETFOCUS(IDC_qwpdj, OnSetfocusqwpdj)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cyszmcxdlg message handlers

void Cyszmcxdlg::Onchaxun() 
{
	// TODO: Add your control notification handler code here
	char buf11[100];

	GetDlgItemText(IDC_sbs,buf11,100);
	strcpy(s_sbs,buf11);
	CheckDlgButton(IDC_arkbhpx,TRUE);
	CheckDlgButton(IDC_asbmcpx,FALSE);
	CheckDlgButton(IDC_arksjpx,FALSE);
	CheckDlgButton(IDC_agdbhpx,FALSE);
    get_status();
	if (g_zm_chaxun_flag == KUCUN){
      Onkucunchaxun();
	  free_sbtree(m_tree);
	  load_sbtree(m_tree);
	  return;
    }
	FILE *fpe;
	long l;
	int num,i,j,k,t;
	char bu[500];
	char buf[100];
	double tjzje,tjzsl;
	double f,f1,f2,f3,sl,sl1;
	int jqck_flag,bh,bh1,num1;
	FILE *cfpe,*qfpe;
	int jslsk_flag,n,y,r;
	int t_rkn,t_cur_year;
    
	tjxxhf = tjsjhf = 0;
	if (g_zm_chaxun_flag == SBRK){
	  if ((s_qrksj_flag == 1)||(s_jrksj_flag == 1)){
        GetDlgItemText(IDC_rkn,g_yszmcx_qsrksjn,6);
        t_rkn = atoi(g_yszmcx_qsrksjn);
        t_cur_year = atoi(g_cur_year);
	    if (t_rkn != t_cur_year){
		  g_lishi_flag = 1;
		  strcpy(g_cur_year,g_yszmcx_qsrksjn);
		}
	    else
		  g_lishi_flag = 0;
	  }
	  else
		g_lishi_flag = 0;
    }
	tjzje = tjzsl = 0;
	end_result_recs = 0;
	if (g_zm_chaxun_flag == YSZM){
	  fpe = fopen("c:\\xxsbgl\\yszm.dat","rb");
	}
	else{
	  if (g_lishi_flag == 1){
        strcpy(buf,"c:\\xxsbgl\\");
		strcat(buf,g_cur_year);
		strcat(buf,"sbrkzm.dat");
        fpe = fopen(buf,"rb");
      }
	  else
	    fpe = fopen("c:\\xxsbgl\\sbrkzm.dat","rb");
    }
	if (fpe != NULL){
		fseek(fpe,0L,SEEK_END);
		l = ftell(fpe);
		num = l/453;
		fseek(fpe,0L,SEEK_SET);
	}
	else
		num = 0;
	l = num + 2;
	m_result.SetRows(l);
    for (i=0;i<num;i++){
            fread(&(tzm.reserve[0]),sizeof(zmstrt),1,fpe);
		    strcpy(jfxs,tzm.jfxs);
		    strcpy(yzf,tzm.yzf);
		    strcpy(kcbh,tzm.rkbh);
		    strcpy(pyjx,tzm.pyjx);
		    strcpy(gdbh,tzm.gdbh);
		    strcpy(yqdm,tzm.yqdm);
		    strcpy(sbmc,tzm.sbmc);
		    strcpy(scdm,tzm.scdm);
		    strcpy(cjpp,tzm.cjpp);
		    strcpy(xhgg,tzm.xhgg);
		    strcpy(wpdj,tzm.wpdj);
		    strcpy(wpsl,tzm.wpsl);
		    strcpy(zje,tzm.zje);
		    strcpy(rkfs,tzm.rkfs);
		    strcpy(sfdzp,tzm.sfdzp);
		    strcpy(ssbm,tzm.ssbm);
		    strcpy(jbr,tzm.jbr);
		    strcpy(ghdw,tzm.ghdw);
		    strcpy(rkn,tzm.rkn);
		    strcpy(rky,tzm.rky);
		    strcpy(rkr,tzm.rkr);
		  if (yszmcx_if_valid(this)){
		    f = atof(zje);
		    tjzje += f; 
            f1 = atof(yzf);
			t = atoi(jfxs);
			tjxxhf += f1 + f*t/100.;
		    tjsjhf += f*(100-t)/100.;
		    f = atof(wpsl);
		    tjzsl += f; 
            order_of_result_recs[end_result_recs] = i;
			l = end_result_recs + 2;
			strcpy(g_buf[0][end_result_recs],kcbh);
			strcpy(g_buf[1][end_result_recs],sbmc);
			strcpy(g_buf[2][end_result_recs],wpdj);
			strcpy(g_buf[3][end_result_recs],wpsl);
			strcpy(g_buf[4][end_result_recs],zje);
            n = atoi(rkn);
			y = atoi(rky);

⌨️ 快捷键说明

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