zoukankan      html  css  js  c++  java
  • MFC和C#写windows程序

    --------------------------------------------

    C#写Windows程序更简单,且跟MFC类似,现切换到C#,缺点就是依赖.Net了。

    打开一个文件选择框

    https://www.cnblogs.com/lotusto/p/5767141.html

    https://www.cnblogs.com/tinaluo/p/6636073.html

    文本文件的读写:

    https://www.cnblogs.com/eniac12/p/4398310.html

    FileStream和StreamWriter/Reader的区别:

    https://www.cnblogs.com/lyd2016/p/6599550.html

    FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。

    ToString()参数中格式解析大全

    https://blog.csdn.net/sinat_20559947/article/details/49028625

    数字转十六进制字符串:255.ToString("X")

    C#,int转成string,string转成int

    https://www.cnblogs.com/xshy3412/archive/2007/08/29/874362.html

    --------------------------------------------------------------------

    MFC:

    有时候要写个小工具给别人用,所以又把MFC用起来了,毕竟做个界面很简单,本文打算用来长期记录一些遇到的小问题和解决方法。

    1 mfc选择一个文件,按钮响应中增加:

    BOOL isOpen = TRUE;        //是否打开(否则为保存)
        CString defaultDir;// = L"E:\FileTest";    //默认打开的文件路径
        CString fileName = L"";            //默认打开的文件名
        CString filter = L"文件 (*.txt)|*.txt||";    //文件过虑的类型

        //CFileDialog构造一个CFileDialog对象操作
        CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);

        //openFileDlg.GetOFN().lpstrInitialDir = L"E:\FileTest\test.txt";
        //DoModal显示对话框并使用户可以进行选择
        INT_PTR result = openFileDlg.DoModal();
        CString filePath;// = defaultDir + "\test.txt";

        if(result == IDOK)
        {
            //GetPathName返回选定文件的完整路径
            filePath = openFileDlg.GetPathName();
        }

    ---------------------------------------------

    2 unicode编码下字符串转为整数

    long num = 0;

    num = _ttoi(temp);

    如果不改项目属性中的字符集,默认是unicode编码,字符相关的要加上L或者_T

    --------------------------------------

    3 长整型转换成字符串:

                    CString tmp;
                    tmp.Format(_T("%I64X"),number);  

         tmp.Format(_T("%I64d"),number);

    ------------------------------------

    4 打开文件

    CStdioFile file;
     CFileException fileException;

    if (!file.Open(filePath, CFile::typeText|CFile::modeReadWrite|CFile::shareExclusive,&fileException))

    逐行读取

    file.SeekToBegin();

    while (file.ReadString(cstrLine))

    {

    }

    // 关闭文件
    file.Close();

    //-----------------------------------------------
    // 打开文件参数项
    //-----------------------------------------------
    CFile::modeCreate
        --- 如果文件不存在则创建,如果文件存在则打开文件并清空文件内容
    CFile::modeCreate | CFile::CFile::modeNoTruncate
        --- 如果文件不存在则创建,如果文件存在则打开文件并保留文件内容
    CFile::shareDenyNone
        --- 允许其它进程对文件读写
    CFile::shareDenyRead
        --- 不允许其它进程对文件进行读操作
    CFile::shareDenyWrite
        --- 不允许其它进程对文件进行写操作
    CFile::shareExclusive
        --- 以独占模式打开文件,不允许其它进程对文件进行读写

    --------------------------------------
    6 AfxMessageBox的响应:

                if(IDYES == AfxMessageBox(tips,MB_YESNOCANCEL))
                {
                    exit(0);
                }

  • 相关阅读:
    解决"Windows没有足够信息,不能验证该证书"问题
    IPA 安装
    基于ECharts图表实现的股票K线图表(matols.com)
    WPF Chart
    IdentityServer4 中文文档
    企业信息系统
    手机网站的几点注意
    查询 SQL_Server 所有表的记录数: for xml path
    iframe在ipad safari的显示
    从WEB SERVICE 上返回大数据量的DATASET
  • 原文地址:https://www.cnblogs.com/levinkai/p/11655577.html
Copyright © 2011-2022 走看看