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

📄 yszmrkdlg.cpp

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

#include "stdafx.h"
#include "xxgl.h"
#include "xxsbdlg.h"
#include "yszmrkdlg.h"
#include "yszmxzsbdlg.h"
#include "xzbm1dlg.h"
#include "math.h"
#include "imm.h"
#include "ime.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 int end_of_input_recs;
static char drkbh[12],dpyjx[11],dgdbh[11],dyqdm[11],dsbmc[51];
static char dscdm[11],dcjpp[41],dxhgg[41],dwpdj[13],dwpsl[15];
static char dzje[15],drkfs[21],dssbm[21],dghdw[21],drkn[6];
static char drky[4],drkr[4],dsfdzp[3],djbr[11];
static int p_mod_wpsl,p_mod_wpdj,p_mod_zje;
static long order_of_wpsl,order_of_wpdj,order_of_zje;
static int sbrk_first_flag;
static int update_ssbm_flag;

Cyszmrkdlg::Cyszmrkdlg(CWnd* pParent /*=NULL*/)
	: CDialog(Cyszmrkdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cyszmrkdlg)
	m_sbjm = _T("");
	m_cjpp = _T("");
	m_gdbh = _T("");
	m_ghdw = _T("");
	m_sbmc = _T("");
	m_scdm = _T("");
	m_wpdj = 0.0f;
	m_wpsl = 0.0f;
	m_zje = 0.0f;
	m_xhgg = _T("");
	m_yqdm = _T("");
	m_sfdzp = FALSE;
	g_xzsb_flag = 0;
	m_jfxs = _T("100");
	m_yzf = _T("0");
	m_sjhf = _T("");
	m_xxhf = _T("");
	//}}AFX_DATA_INIT
	g_yszm_xzsb_flag = 0;
	p_mod_wpsl = p_mod_wpdj = p_mod_zje =0;
	order_of_wpsl = order_of_wpdj = order_of_zje =0;
	g_gdbh_sel_flag = 0;
	sbrk_first_flag = 0;
	update_ssbm_flag = 0;
}


void Cyszmrkdlg::DoDataExchange(CDataExchange* pDX)
{
	int pages,b_pos,count,row;
	long b_seek,rowl;

	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cyszmrkdlg)
	DDX_Control(pDX, IDC_jbr, m_jbr);
	DDX_Control(pDX, IDC_ssbm, m_ssbm);
	DDX_Control(pDX, IDC_TREE1, m_tree);
	DDX_Control(pDX, IDC_rky, m_rky);
	DDX_Control(pDX, IDC_rkr, m_rkr);
	DDX_Control(pDX, IDC_rkn, m_rkn);
	DDX_Control(pDX, IDC_rkfs, m_rkfs);
	DDX_Text(pDX, IDC_byjx, m_sbjm);
	DDX_Text(pDX, IDC_cjpp, m_cjpp);
	DDX_Text(pDX, IDC_gdbh, m_gdbh);
	DDX_Text(pDX, IDC_ghdw, m_ghdw);
	DDX_Text(pDX, IDC_sbmc, m_sbmc);
	DDX_Text(pDX, IDC_scdm, m_scdm);
	DDX_Text(pDX, IDC_wpdj, m_wpdj);
	DDX_Text(pDX, IDC_wpsl, m_wpsl);
	DDX_Text(pDX, IDC_zje, m_zje);
	DDX_Text(pDX, IDC_xhgg, m_xhgg);
	DDX_Text(pDX, IDC_yqdm, m_yqdm);
	DDX_Check(pDX, IDC_sfdzp, m_sfdzp);
	DDX_Control(pDX, IDC_yszm, m_yszm);
	DDX_Text(pDX, IDC_jfxs, m_jfxs);
	DDX_Text(pDX, IDC_yzf, m_yzf);
	DDX_Text(pDX, IDC_sjhf, m_sjhf);
	DDX_Text(pDX, IDC_xxhf, m_xxhf);
	//}}AFX_DATA_MAP

  CBitmap *bitmap;
  CBitmap *bitmap1;
  
  HBITMAP hbitmap;
  HBITMAP hbitmap1;
  
  bitmap = new CBitmap();
  bitmap1 = new CBitmap();


  bitmap->LoadBitmap(IDB_bc);
  bitmap1->LoadBitmap(IDB_tc);


  hbitmap = (*bitmap).operator HBITMAP();
  hbitmap1 = (*bitmap1).operator HBITMAP();

  
  CWnd *wn;
  CWnd *wn1;


  wn = GetDlgItem(IDSAVE);
  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 (g_come_in_flag	== 0){
	  m_yszm.SetColWidth(0L,1100L);
	  m_yszm.SetColWidth(1L,3600L);
	  m_yszm.SetColWidth(2L,1100L);
	  m_yszm.SetColWidth(3L,1100L);
	  m_yszm.SetColWidth(4L,1200L);
	  m_yszm.SetColWidth(5L,2000L);
	  m_yszm.SetColWidth(6L,1200L);
	  m_yszm.SetColWidth(7L,800L);
	  m_yszm.SetColWidth(8L,1100L);
	  m_yszm.SetColWidth(9L,800L);
	  m_yszm.SetColWidth(10L,2000L);
	  m_yszm.SetColWidth(11L,2000L);
	  m_yszm.SetColWidth(12L,1100L);
	  m_yszm.SetColWidth(13L,1100L);
      m_yszm.SetRow(0L);
	  m_yszm.SetCol(0L);
	  m_yszm.SetText("库存编号");
	  m_yszm.SetCol(1L);
	  m_yszm.SetText("物品名称");
	  m_yszm.SetCol(2L);
	  m_yszm.SetText("物品单价");
	  m_yszm.SetCol(3L);
	  m_yszm.SetText("物品数量");
	  m_yszm.SetCol(4L);
	  m_yszm.SetText("总金额");
	  m_yszm.SetCol(5L);
	  m_yszm.SetText("入库时间");
	  m_yszm.SetCol(6L);
	  m_yszm.SetText("型号规格");
	  m_yszm.SetCol(7L);
	  m_yszm.SetText("经办人");
	  m_yszm.SetCol(8L);
	  m_yszm.SetText("固定编号");
	  m_yszm.SetCol(9L);
	  m_yszm.SetText("低值品");
	  m_yszm.SetCol(10L);
	  m_yszm.SetText("厂家品牌");
	  m_yszm.SetCol(11L);
	  m_yszm.SetText("供货单位");
	  m_yszm.SetCol(12L);
	  m_yszm.SetText("所属部门");
	  m_yszm.SetCol(13L);
	  m_yszm.SetText("入库方式");

	  end_of_input_recs = 0;
	  int year,month,day;
	  FILE *fpe1;
	  long le,l;
	  int i;
	  char bu[1000];
	  char buf[1000];

	  fpe1 = fopen("c:\\xxsbgl\\sbrk.tmp","rb");
	  if (fpe1 != NULL){
          fseek(fpe1,0L,SEEK_END);
		  le = ftell(fpe1);
          fseek(fpe1,0L,SEEK_SET);
		  l = le/sizeof(zmstrt) + 1;
          m_yszm.SetRows(l);
		  for (i=0;i<l-1;i++){
            fread(&(tzm.reserve[0]),sizeof(zmstrt),1,fpe1);
		    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);
			m_yszm.SetRow(i+1);
	        m_yszm.SetCol(0L);   
	        m_yszm.SetText(kcbh);
	        m_yszm.SetCol(1L);   
	        m_yszm.SetText(sbmc);
	        m_yszm.SetCol(2L);   
	        m_yszm.SetText(wpdj);
	        m_yszm.SetCol(3L);   
	        m_yszm.SetText(wpsl);
	        m_yszm.SetCol(4L);   
	        m_yszm.SetText(zje);
	        m_yszm.SetCol(5L);
	        strcpy(buf,rkn);
	        strcat(buf,"年");
	        strcat(buf,rky);
	        strcat(buf,"月");
	        strcat(buf,rkr);
	        strcat(buf,"日");
	        m_yszm.SetText(buf);
	        m_yszm.SetCol(6L);   
	        m_yszm.SetText(xhgg);
	        m_yszm.SetCol(7L);   
	        m_yszm.SetText(jbr);
	        m_yszm.SetCol(8L);   
	        m_yszm.SetText(gdbh);
	        m_yszm.SetCol(9L);
	        m_yszm.SetText(sfdzp);
	        m_yszm.SetCol(10L);   
	        m_yszm.SetText(cjpp);
	        m_yszm.SetCol(11L);   
	        m_yszm.SetText(ghdw);
	        m_yszm.SetCol(12L);   
	        m_yszm.SetText(ssbm);
	        m_yszm.SetCol(13L);   
	        m_yszm.SetText(rkfs);
		  }
		  fclose(fpe1);
	  }

      time_t ltime;    
	  struct tm *pti;
	  char tmpbuf[100];
	  int ret;
	  FILE *fpe;

//    _tzset();
      time(&ltime);    
	  pti = gmtime(&ltime);
	  year = pti->tm_year + 1900;
	  month = 1 + pti->tm_mon;
	  day = pti->tm_mday;
	  itoa(year,buf,10);
	  m_rkn.SelectString(0,buf);
	  itoa(month,buf,10);
	  m_rky.SelectString(0,buf);
	  itoa(day,buf,10);
	  m_rkr.SelectString(0,buf);
    
	  g_come_in_flag = 0;
	  yszm_load_sbs(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]);
	  }
	  m_jbr.SelectString(0,g_jbr_name[0]);

	  SetDlgItemText(IDC_wpdj,"");
	  SetDlgItemText(IDC_wpsl,"");
	  SetDlgItemText(IDC_zje,"");
	  CWnd * wnd;
	  if (g_yszm_flag == 1){
		wnd = GetDlgItem(IDC_jfxs);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_jfxs1);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_yzf);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_yzf1);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_sjhf);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_sjhf1);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_xxhf);
        wnd->ShowWindow(FALSE);
		wnd = GetDlgItem(IDC_xxhf1);
        wnd->ShowWindow(FALSE);
	  }
	}
}


BEGIN_MESSAGE_MAP(Cyszmrkdlg, CDialog)
	//{{AFX_MSG_MAP(Cyszmrkdlg)
	ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)
	ON_EN_SETFOCUS(IDC_byjx, OnSetfocusbyjx)
	ON_BN_CLICKED(IDSAVE, OnSave)
	ON_EN_SETFOCUS(IDC_gdbh, OnSetfocusgdbh)
	ON_EN_CHANGE(IDC_zje, OnChangezje)
	ON_EN_CHANGE(IDC_wpsl, OnChangewpsl)
	ON_EN_CHANGE(IDC_wpdj, OnChangewpdj)
	ON_EN_CHANGE(IDC_byjx, OnChangebyjx)
	ON_NOTIFY(TVN_SELCHANGING, IDC_TREE1, OnSelchangingTree1)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree1)
	ON_CBN_EDITCHANGE(IDC_rkfs, OnEditchangerkfs)
	ON_CBN_EDITCHANGE(IDC_ssbm, OnEditchangessbm)
	ON_EN_CHANGE(IDC_cjpp, OnChangecjpp)
	ON_EN_CHANGE(IDC_ghdw, OnChangeghdw)
	ON_EN_CHANGE(IDC_xhgg, OnChangexhgg)
	ON_CBN_EDITCHANGE(IDC_rkn, OnEditchangerkn)
	ON_CBN_EDITCHANGE(IDC_rkr, OnEditchangerkr)
	ON_CBN_EDITCHANGE(IDC_rky, OnEditchangerky)
	ON_EN_CHANGE(IDC_sbmc, OnChangesbmc)
	ON_CBN_EDITCHANGE(IDC_jbr, OnEditchangejbr)
	ON_EN_SETFOCUS(IDC_wpdj, OnSetfocuswpdj)
	ON_EN_SETFOCUS(IDC_wpsl, OnSetfocuswpsl)
	ON_EN_SETFOCUS(IDC_xhgg, OnSetfocusxhgg)
	ON_EN_SETFOCUS(IDC_sbmc, OnSetfocussbmc)
	ON_CBN_SETFOCUS(IDC_rkn, OnSetfocusrkn)
	ON_CBN_SETFOCUS(IDC_rkr, OnSetfocusrkr)
	ON_CBN_SETFOCUS(IDC_rky, OnSetfocusrky)
	ON_CBN_SETFOCUS(IDC_jbr, OnSetfocusjbr)
	ON_EN_SETFOCUS(IDC_ghdw, OnSetfocusghdw)
	ON_EN_SETFOCUS(IDC_cjpp, OnSetfocuscjpp)
	ON_EN_SETFOCUS(IDC_zje, OnSetfocuszje)
	ON_CBN_SETFOCUS(IDC_rkfs, OnSetfocusrkfs)
	ON_CBN_SETFOCUS(IDC_ssbm, OnSetfocusssbm)
	ON_WM_KEYDOWN()
	ON_NOTIFY(TVN_KEYDOWN, IDC_TREE1, OnKeydownTree1)
	ON_NOTIFY(TVN_ITEMEXPANDED, IDC_TREE1, OnItemexpandedTree1)
	ON_EN_SETFOCUS(IDC_jfxs, OnSetfocusjfxs)
	ON_EN_CHANGE(IDC_jfxs, OnChangejfxs)
	ON_EN_SETFOCUS(IDC_yzf, OnSetfocusyzf)
	ON_EN_CHANGE(IDC_yzf, OnChangeyzf)
	ON_EN_CHANGE(IDC_gdbh, OnChangegdbh)
	ON_EN_SETFOCUS(IDC_focus, OnSetfocusfocus)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cyszmrkdlg message handlers

void Cyszmrkdlg::OnSelchangeList1() 
{
	// TODO: Add your control notification handler code here
	
}

void Cyszmrkdlg::OnSetfocusbyjx() 
{
	CWnd *wnd;

	wnd = GetDlgItem(IDC_byjx);
	switch_to_english_mode(wnd);
	cur_focus = 1;
}

/*
void Cyszmrkdlg::OnSetfocusbyjx() 
{
	// TODO: Add your control notification handler code here

	Cxxsbdlg dlg;
	CWnd *pwnd;
	char buf[50];

	if (g_xzsb_flag == 0){
      g_come_in_flag = 0;
	  GetDlgItemText(IDC_byjx,dlg.m_pyjx);
	  GetDlgItemText(IDC_gdbh,dlg.m_gdbh);
	  GetDlgItemText(IDC_sbmc,dlg.m_sbmc);
	  dlg.DoModal();
      SetDlgItemText(IDC_byjx,dlg.m_pyjx);
      SetDlgItemText(IDC_gdbh,dlg.m_gdbh);
      SetDlgItemText(IDC_sbmc,dlg.m_sbmc);
	}
	pwnd = GetDlgItem(IDC_gdbh);
	pwnd->SetFocus();

}
*/
void Cyszmrkdlg::OnSave() 
{
	// TODO: Add your control notification handler code here
	CWnd *pwnd;
	FILE *fpe;
	FILE *fpe1;
	char buf[200];
	CString str;
	char buf1[50],buf2[50],buf3[50],buf4[50];
	char buf5[50],buf6[50],buf7[50],buf8[50];;
	char outs[20];
	float zje,sl;
	long rowl,l;
	int i,cur;
	double sls,djs;
	double sl1,zje1,dj1;

	if (sbrk_first_flag == 0){
		sbrk_first_flag = 1;
		l = 2;
        m_yszm.SetRows(l);
	    l = 1;
	    m_yszm.SetRow(l);
		for (i=0;i<13;i++){
		  l = i + 1;
	      m_yszm.SetCol(l);   
		  m_yszm.SetText("");
		  unlink("c:\\xxsbgl\\sbrk.tmp");
        }
		end_of_input_recs = 0;
	}
	p_mod_wpsl = p_mod_wpdj = p_mod_zje =0;
	order_of_wpsl = order_of_wpdj = order_of_zje =0;
	GetDlgItemText(IDC_gdbh,str);
	strcpy(buf,str.GetBuffer(12));
	if ((strlen(buf) == 0)||(strlen(buf) > 6)){
		MessageBox("未选择设备.",MB_OK);
	    pwnd = GetDlgItem(IDC_byjx);
	    pwnd->SetFocus();	
		return ;
    }
    if (buf[3] == '2'){
        CheckDlgButton(IDC_sfdzp,TRUE);
	}
	else{
        CheckDlgButton(IDC_sfdzp,FALSE);
	}
	GetDlgItemText(IDC_sbmc,buf,50);

	if ((strlen(buf) == 0)||(strstr(buf,"其他") != NULL)||(strstr(buf,"其它") != NULL)){
		MessageBox("没有输入具体设备名称,不能保存.",MB_OK);
	    pwnd = GetDlgItem(IDC_sbmc);
	    pwnd->SetFocus();	
		return ;
    }

	double ff;
	float  f;
	int t;
	GetDlgItemText(IDC_wpdj,str);
	strcpy(buf,str.GetBuffer(14));
	ff = atof(buf);
	djs = ff;
	sprintf(buf,"%#.2lf",ff);
	if (strlen(buf) > 12){
		MessageBox("物品单价错误.",MB_OK);
	    pwnd = GetDlgItem(IDC_wpdj);
	    pwnd->SetFocus();	
		return ;
    }
	if (ff < 0.001){
	  GetDlgItemText(IDC_wpsl,str);
	  strcpy(buf,str.GetBuffer(14));
	  sl1 = atof(buf);
	  GetDlgItemText(IDC_zje,str);
	  strcpy(buf,str.GetBuffer(14));
	  zje1 = atof(buf);
      if (zje1 < 0.001){
		  MessageBox("物品单价错误.",MB_OK);

⌨️ 快捷键说明

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