毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

密码体制MFC 第4页

更新时间:2008-7-17:  来源:毕业论文

密码体制MFC 第4页
// kaisa.cpp : 实现文件
//

#include "stdafx.h"
#include "0408008404.h"
#include "kaisa.h"
#include ".\kaisa.h"


// kaisa 对话框

IMPLEMENT_DYNAMIC(kaisa, CDialog)
kaisa::kaisa(CWnd* pParent /*=NULL*/)
 : CDialog(kaisa::IDD, pParent)
 , m_ikey(0)
 , m_strInEdit(_T(""))
 , m_iCounter(0)
{
}

kaisa::~kaisa()
{
}

void kaisa::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
 DDX_Text(pDX, IDC_EDIT1, m_ikey);
 DDX_Text(pDX, IDC_EDIT2, m_strInEdit);
 DDX_Text(pDX, IDC_COUNT, m_iCounter);
}


BEGIN_MESSAGE_MAP(kaisa, CDialog)
 ON_BN_CLICKED(ID_CODE, OnBnClickedCode)
 ON_BN_CLICKED(ID_UNCODE, OnBnClickedUncode)
 ON_BN_CLICKED(ID_DISPLAY, OnBnClickedDisplay)
 ON_BN_CLICKED(ID_SAVE, OnBnClickedSave)
 ON_BN_CLICKED(ID_CLEAR, OnBnClickedClear)
 ON_BN_CLICKED(ID_CLOSE, OnBnClickedClose)
END_MESSAGE_MAP()


// kaisa 消息处理程序

void kaisa::OnBnClickedCode()
{
UpdateData(TRUE);
 int iFileLength;
 iFileLength=m_strInEdit.GetLength();
 CString buff=m_strInEdit;
 if (m_strInEdit.IsEmpty ())
 {MessageBox::Show ("明文不能为空!");
 return;
 }

 for(int i=0;i<iFileLength;i++)
  {
   if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='A'&&m_strInEdit[i]<='Z')m_strInEdit.SetAt(i,'A'+(m_strInEdit[i]-'A'+m_ikey)%26);
            if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='a'&&m_strInEdit[i]<='z')m_strInEdit.SetAt(i,'a'-32+(m_strInEdit[i]-'a'+m_ikey)%26);
 
  }
  
 m_iCounter++;
 UpdateData(FALSE);
}

void kaisa::OnBnClickedUncode()
{
UpdateData(TRUE);
 int iFileLength;
 iFileLength=m_strInEdit.GetLength();
 CString buff=m_strInEdit;
 if (m_strInEdit.IsEmpty ())
 {MessageBox::Show("密文不能为空!");
 return;
 }
 for(int i=0;i<iFileLength;i++)
  {
   if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='A'&&m_strInEdit[i]<='Z')
   m_strInEdit.SetAt(i,('Z'-('Z'-m_strInEdit[i]+m_ikey%26)%26)+32);
   else  if(m_strInEdit[i]!=' '&&m_strInEdit[i]>='a'&&m_strInEdit[i]<='z')
     m_strInEdit.SetAt(i,'z'-('z'-m_strInEdit[i]+m_ikey)%26);
 
  }
 m_iCounter--;
 UpdateData(FALSE);
}

void kaisa::OnBnClickedDisplay()
{
CFileDialog FileDlg(TRUE,_T("txt"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
  _T("Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"));
 if(FileDlg.DoModal()==IDOK)
 {
  CString strPath=FileDlg.GetPathName();
  CFile file;
  file.Open(strPath, CFile::modeRead);

  CString strFlag("thanks for your use");
  char strHead[80];
  file.Read(strHead,strFlag.GetLength());
  strHead[strFlag.GetLength()]='\0';
  if(strFlag!=CString(strHead))
  {
   int iFileLength=file.GetLength();
   BYTE *buff=(BYTE *)(new char[iFileLength+1]);
   file.SeekToBegin();
   file.Read(buff,iFileLength);
   *((char *)buff+iFileLength)='\0';
   file.Close();
   m_strInEdit=buff;
   m_iCounter=0;
   UpdateData(FALSE);
   delete buff;
  }
  else
  {
   file.Read(&m_iCounter,sizeof(int));
   CString strText;
   while(file.GetPosition()!=file.GetLength())
   {
    char ch;
    file.Read(&ch,1);
    strText+=ch;
   }
   m_strInEdit=strText;
   UpdateData(FALSE);
  }
 }
}

void kaisa::OnBnClickedSave()
{
UpdateData(TRUE);
 CFileDialog FileDlg(FALSE,_T("cod"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
  _T("Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"));

 if(FileDlg.DoModal()==IDOK)
 {
  CString strPath=FileDlg.GetPathName();
  CFile fileCoded;
  fileCoded.Open(strPath,CFile::modeCreate|CFile::modeWrite);
  int iLength;
  iLength=m_strInEdit.GetLength();
  if(m_iCounter==0)
   fileCoded.Write((LPCTSTR)m_strInEdit,iLength);
  else
  {
   CString strFlag("The encoded text is :");
   fileCoded.Write((LPCTSTR)strFlag,strFlag.GetLength());
   fileCoded.Write(&m_iCounter,sizeof(int));
   fileCoded.Write((LPCTSTR)m_strInEdit,iLength);
  }
  fileCoded.Close();
 }
}

void kaisa::OnBnClickedClear()
{
 DestroyWindow();
delete this;
}
// 0408008404Dlg.cpp : 实现文件
//

#include "stdafx.h"
#include "0408008404.h"
#include "0408008404Dlg.h"
#include ".\0408008404dlg.h"
#include "HashCode.h"
#include "duicheng.h"
#include "kaisa.h"
#include "Rsa.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
//CString m_strWorkingDir;

// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialog
{
public:
 CAboutDlg();

// 对话框数据
 enum { IDD = IDD_ABOUTBOX };

 protected:
 virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

// 实现
protected:
 DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()


// CMyDlg 对话框

 

CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
 : CDialog(CMyDlg::IDD, pParent)
{
 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
 ON_WM_SYSCOMMAND()
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 //}}AFX_MSG_MAP
 ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
 ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
 ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
 ON_BN_CLICKED(IDC_BUTTON4, OnBnClickedButton4)
END_MESSAGE_MAP()


// CMyDlg 消息处理程序

BOOL CMyDlg::OnInitDialog()
{
 CDialog::OnInitDialog();

 // 将\“关于...\”菜单项添加到系统菜单中。

 // IDM_ABOUTBOX 必须在系统命令范围内。
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);

 CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  CString strAboutMenu;
  strAboutMenu.LoadString(IDS_ABOUTBOX);
  if (!strAboutMenu.IsEmpty())
  {
   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }

 // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
 //  执行此操作
 SetIcon(m_hIcon, TRUE);   // 设置大图标
 SetIcon(m_hIcon, FALSE);  // 设置小图标
//TCHAR buff[MAX_PATH];
 //GetModuleFileName(NULL,buff,MAX_PATH);
//m_strWorkingDir=System::IO::Path::GetDirectoryName(buff);
     return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
 if ((nID & 0xFFF0) == IDM_ABOUTBOX)
 {
  CAboutDlg dlgAbout;
  dlgAbout.DoModal();
 }
 else
 {
  CDialog::OnSysCommand(nID, lParam);
 }
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。

void CMyDlg::OnPaint()
{
 if (IsIconic())
 {
  CPaintDC dc(this); // 用于绘制的设备上下文

  SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

  // 使图标在工作矩形中居中
  int cxIcon = GetSystemMetrics(SM_CXICON);
  int cyIcon = GetSystemMetrics(SM_CYICON);
  CRect rect;
  GetClientRect(&rect);
  int x = (rect.Width() - cxIcon + 1) / 2;
  int y = (rect.Height() - cyIcon + 1) / 2;

  // 绘制图标
  dc.DrawIcon(x, y, m_hIcon);
 }
 else
 {
  CDialog::OnPaint();
 }
}

//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR CMyDlg::OnQueryDragIcon()
{
 return static_cast<HCURSOR>(m_hIcon);
}

void CMyDlg::OnBnClickedButton1()
{
CHashCode *dlg=new CHashCode;
dlg->Create(IDD_DIALOG1);
dlg->ShowWindow(SW_NORMAL);
}

void CMyDlg::OnBnClickedButton2()
{
duicheng *dlg=new duicheng;
dlg->Create(IDD_DIALOG2);
dlg->ShowWindow(SW_NORMAL);
}

void CMyDlg::OnBnClickedButton3()
{
kaisa *dlg=new kaisa;
dlg->Create(IDD_DIALOG3);
dlg->ShowWindow(SW_NORMAL);
}

void CMyDlg::OnBnClickedButton4()
{
 Rsa *dlg=new Rsa;
dlg->Create(IDD_DIALOG4);
dlg->ShowWindow(SW_NORMAL);
}
// 0408008404.cpp : 定义应用程序的类行为。
//

#include "stdafx.h"
#include "0408008404.h"
#include "0408008404Dlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CMyApp

BEGIN_MESSAGE_MAP(CMyApp, CWinApp)
 ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()


// CMyApp 构造

CMyApp::CMyApp()
{
 // TODO: 在此处添加构造代码,
 // 将所有重要的初始化放置在 InitInstance 中
}


// 唯一的一个 CMyApp 对象

CMyApp theApp;


// CMyApp 初始化

BOOL CMyApp::InitInstance()
{
 // 如果一个运行在 Windows XP 上的应用程序清单指定要
 // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
 //则需要 InitCommonControls()。否则,将无法创建窗口。
 InitCommonControls();

 CWinApp::InitInstance();

 AfxEnableControlContainer();

 // 标准初始化
 // 如果未使用这些功能并希望减小
 // 最终可执行文件的大小,则应移除下列
 // 不需要的特定初始化例程
 // 更改用于存储设置的注册表项
 // TODO: 应适当修改该字符串,
 // 例如修改为公司或组织名
 SetRegistryKey(_T("应用程序向导生成的本地应用程序"));

 CMyDlg dlg;
 m_pMainWnd = &dlg;
 INT_PTR nResponse = dlg.DoModal();
 if (nResponse == IDOK)
 }

 // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
 // 而不是启动应用程序的消息泵。
 return FALSE;
}

上一页  [1] [2] [3] [4] 

密码体制MFC 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。