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

📄 tsgcszkdlg.cpp

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

#include "stdafx.h"
#include "xxgl.h"
#include "tsgcszkdlg.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

Ctsgcszkdlg::Ctsgcszkdlg(CWnd* pParent /*=NULL*/)
	: CDialog(Ctsgcszkdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(Ctsgcszkdlg)
	m_xxmc = _T("");
	m_bkzzje = 0.0f;
	m_dztsje = 0.0f;
	m_dztsps = 0.0f;
	m_jstscs = 0.0f;
	m_jstsje = 0.0f;
	m_rjcs = 0.0f;
	m_xstscs = 0.0f;
	m_xstsje = 0.0f;
	//}}AFX_DATA_INIT
  FILE *fpe;

  unsigned char buf[40];
  unsigned char pass[40];
  int l,i,c,j,k,flag;
  unsigned char mask;

  rand_base = 1000;
  fpe = fopen("c:\\xxsbgl\\mima.txt","rb");
  fscanf(fpe,"%s\n%s\n",buf,pass);
  fclose(fpe);
  l = strlen((char *)buf);
  for (i=0;i<l*8;i++){
    c = buf[i/8];
    mask = 1;
    for (j=0;j<i%8;j++)
      mask *= 2;
    code[i] = c & mask;
    if (code[i] != 0)
      code[i] = 1;
  }

  for (i=0;i<1000;i++)
    process_flag[i] = 0;
  flag = 0;
  j = 0;
  while (flag == 0){
    i = find_a_seat(l*8);
    tab[j] = i;
    process_flag[i] = 1;
    j ++;
    if (j == l*8)
      flag = 1;
  }

  for (i=0;i<l*8;i++){
    code6[i] = code[tab[i]];
  }

  for (i=0;i<l*8;i++)
    code[i] = code6[i];

  for (i=0;i<l*8;i++){
    j = i + l%7;
    if (j >= l*8)
      j -= l*8;
    code1[i] = code[j];
  }


  for (i=0;i<l*4;i++){
    code2[i] = code1[2*i+1];
  }


  for (i=0;i<l*8;i++){
    j = i + l%7;
    if (j > l*8)
      j -= l*8;
    code3[i] = code[j];
  }


  for (i=0;i<l*4;i++){
    code4[i] = code3[2*i];
  }


  for (i=0;i<l*4;i++)
    code5[i] = code2[i] ^ code4[i];
/*
  k = 0;
  for (i=0;i<l;i++){
    c = code5[i*4]*8 + code5[i*4+1]*4 + + code5[i*4+2]*2 + + code5[i*4+3];
    if (c < 10)
      c += '0';
    else
      c += 'A' - 10;
    pass[k++] = c;
  }
  pass[k] = 0;
*/
  for (i=0;i<l;i++){
    c = pass[i];
    if (c >= 'A')
      c = c - 'A' + 10;
    else
      c -= '0';
    code5[4*i] = c / 8;
    c = c % 8;
    code5[4*i+1] = c / 4;
    c = c % 4;
    code5[4*i+2] = c / 2;
    code5[4*i+3] = c % 2;
  }

  for (i=0;i<l*4;i++)
    code2[i] = code5[i] ^ code4[i];

  for (i=0;i<l*4;i++){
    code1[2*i+1] = code2[i];
  }

  for (i=0;i<l*8;i++){
    j = i - l%7;
    if (j < 0)
      j = j + l*8;
    code[i] = code1[j];
  }

  for (i=0;i<l*8;i++){
    code6[tab[i]] = code[i];
  }

  for (i=0;i<l*8;i++)
    code[i] = code6[i];

  for (i=0;i<l;i++){
    buf[i] = code[i*8] + code[i*8+1]*2 + code[i*8+2]*4 + code[i*8+3]*8
      + code[i*8+4]*16 + code[i*8+5]*32 + code[i*8+6]*64 + code[i*8+7]*128;
  }

  strcpy(xiaoming,(char *)buf);
  m_xxmc = xiaoming;

  char buf1[10],buf2[10],buf3[10],buf4[10],buf5[10],buf6[10],buf7[10],buf8[10];

  fpe = fopen("c:\\xxsbgl\\tsgcszk.txt","rb");
  if (fpe != NULL){
    fscanf(fpe,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",buf1,buf2,buf3,buf4,buf5,buf6,buf7,buf8);
    m_xstscs = atof(buf1);
    m_xstsje = atof(buf2);
    m_jstscs = atof(buf3);
    m_jstsje = atof(buf4);
    m_dztsps = atof(buf5);
	m_dztsje = atof(buf6);
    m_bkzzje = atof(buf7);
    m_rjcs   = atof(buf8);
	fclose(fpe);
  }

}


void Ctsgcszkdlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Ctsgcszkdlg)
	DDX_Text(pDX, IDC_xxmc, m_xxmc);
	DDX_Text(pDX, IDC_bkzzje, m_bkzzje);
	DDX_Text(pDX, IDC_dztsje, m_dztsje);
	DDX_Text(pDX, IDC_dztsps, m_dztsps);
	DDX_Text(pDX, IDC_jstscs, m_jstscs);
	DDX_Text(pDX, IDC_jstsje, m_jstsje);
	DDX_Text(pDX, IDC_rjcs, m_rjcs);
	DDX_Text(pDX, IDC_xstscs, m_xstscs);
	DDX_Text(pDX, IDC_xstsje, m_xstsje);
	//}}AFX_DATA_MAP
  CBitmap *bitmap;
  CBitmap *bitmap1;
  
  HBITMAP hbitmap;
  HBITMAP hbitmap1;
  
  bitmap = new CBitmap();
  bitmap1 = new CBitmap();


  bitmap->LoadBitmap(IDB_qr);
  bitmap1->LoadBitmap(IDB_qx);


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

  
  CWnd *wn;
  CWnd *wn1;


  wn = GetDlgItem(IDOK);
  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);
}


BEGIN_MESSAGE_MAP(Ctsgcszkdlg, CDialog)
	//{{AFX_MSG_MAP(Ctsgcszkdlg)
	ON_EN_CHANGE(IDC_dztsje, OnChangedztsje)
	ON_EN_CHANGE(IDC_jstsje, OnChangejstsje)
	ON_EN_CHANGE(IDC_xstsje, OnChangexstsje)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Ctsgcszkdlg message handlers

void Ctsgcszkdlg::OnOK() 
{
	// TODO: Add extra validation here
  FILE *fpe;
  char buf1[10],buf2[10],buf3[10],buf4[10],buf5[10],buf6[10],buf7[10],buf8[10];

  fpe = fopen("c:\\xxsbgl\\tsgcszk.txt","wb");
  GetDlgItemText(IDC_xstscs,buf1,10);
  GetDlgItemText(IDC_xstsje,buf2,10);
  GetDlgItemText(IDC_jstscs,buf3,10);
  GetDlgItemText(IDC_jstsje,buf4,10);
  GetDlgItemText(IDC_dztsps,buf5,10);
  GetDlgItemText(IDC_dztsje,buf6,10);
  GetDlgItemText(IDC_bkzzje,buf7,10);
  GetDlgItemText(IDC_rjcs,buf8,10);
  fprintf(fpe,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",buf1,buf2,buf3,buf4,buf5,buf6,buf7,buf8);
  fclose(fpe);


	CDialog::OnOK();
}


void Ctsgcszkdlg::OnChangedztsje() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
    float t1,t2,t3,t;
	char buf[10];

	GetDlgItemText(IDC_xstsje,buf,10);
	t1 = atof(buf);
	GetDlgItemText(IDC_jstsje,buf,10);
	t2 = atof(buf);
	GetDlgItemText(IDC_dztsje,buf,10);
	t3 = atof(buf);
	t = t1 + t2 + t3 ;
	itoa(t,buf,10);
    SetDlgItemText(IDC_bkzzje,buf);
}


void Ctsgcszkdlg::OnChangejstsje() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
    float t1,t2,t3,t;
	char buf[10];

	GetDlgItemText(IDC_xstsje,buf,10);
	t1 = atof(buf);
	GetDlgItemText(IDC_jstsje,buf,10);
	t2 = atof(buf);
	GetDlgItemText(IDC_dztsje,buf,10);
	t3 = atof(buf);
	t = t1 + t2 + t3 ;
	itoa(t,buf,10);
    SetDlgItemText(IDC_bkzzje,buf);
}



void Ctsgcszkdlg::OnChangexstsje() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CDialog::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
    float t1,t2,t3,t;
	char buf[10];

	GetDlgItemText(IDC_xstsje,buf,10);
	t1 = atof(buf);
	GetDlgItemText(IDC_jstsje,buf,10);
	t2 = atof(buf);
	GetDlgItemText(IDC_dztsje,buf,10);
	t3 = atof(buf);
	t = t1 + t2 + t3 ;
	itoa(t,buf,10);
    SetDlgItemText(IDC_bkzzje,buf);	
}

⌨️ 快捷键说明

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