VS2005 C++ 读取多文件对话框, 谢了先

VS2005 C++ 读取多文件对话框, 谢了先,第1张

正确的使用方法如下:

CString m_Spath

CFileDialog myDlg(FALSE, "",NULL,OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,"|||", this);

if(myDlgDoModal()==IDOK)

m_Spath=myDlgGetPathName();//得到全路径

第一个参数设置为TRUE是打开文件对话框,FALSE是保存文件对话框。

第二个参数是默认的扩展名,你可以换成你自己的扩展名或设置 为NULL和 0

的三个参数是默认的文件名,你也可以。。。。。

第四个参数是打开的方式,具体情况你的查帮助或设置为NULL

第五个参数是可选的扩展名,注意字符串的末尾必须是 and and

第六个是父窗口的指针,一般设置为NULL或 0

就这么多了,呵呵,其实帮助里面都有。

//////////////////////////////

再给你段api创建打开 2000风格

//////////////////////////////////

char szFile[MAX_PATH] = {0}; // buffer for file name

OPENFILENAME ofn;

memset(&ofn, 0, sizeof(OPENFILENAME));

ofnlStructSize = sizeof(OPENFILENAME);

ofnhwndOwner = this->m_hWnd;

ofnlpstrFile = szFile;

ofnnMaxFile = MAX_PATH;

ofnlpstrFilter = TEXT("Backup Files (bak)\0bak\0All ()\0\0");

ofnlpstrDefExt = TEXT("bak");

ofnlpstrTitle = TEXT("打开文件");

ofnnFilterIndex = 1;

ofnlpstrFileTitle = NULL;

ofnnMaxFileTitle = 0;

ofnlpstrInitialDir = NULL;

if(GetSaveFileName(&ofn)) ///保存对话框

{

// Display the current data file name

//SetDlgItemText(IDC_EDIT_FILENAME, szFile);

//szFile就是取得了的文件名。

}

if( GetOpenFileName(&ofn)){} ////打开对话框

OPENFILENAME结构包含了GetOpenFileName和GetSaveFileName函数用来初始化打开或另存为对话框的信息。在用户关闭对话框后,系统返回关于用户的选择信息到这个结构中。

typedef struct tagOFN {

DWORD lStructSize;

HWND hwndOwner;

HINSTANCE hInstance;

LPCTSTR lpstrFilter;

LPTSTR lpstrCustomFilter;

DWORD nMaxCustFilter;

DWORD nFilterIndex;

LPTSTR lpstrFile;

DWORD nMaxFile;

LPTSTR lpstrFileTitle;

DWORD nMaxFileTitle;

LPCTSTR lpstrInitialDir;

LPCTSTR lpstrTitle;

DWORD Flags;

WORD nFileOffset;

WORD nFileExtension;

LPCTSTR lpstrDefExt;

LPARAM lCustData;

LPOFNHOOKPROC lpfnHook;

LPCTSTR lpTemplateName;

#if (_WIN32_WINNT >= 0x0500)

void pvReserved;

DWORD dwReserved;

DWORD FlagsEx;

#endif // (_WIN32_WINNT >= 0x0500)

} OPENFILENAME, LPOPENFILENAME;

DataSet

可以直接读取XML文件

DataSet

ds=

new

DataSet();

dsReadXml(xml路径,XmlReadModeAuto);

ds中的DataTable中就有你要的数据;

这有可能跟你打开文件后的代码有关 , 你在打开后 这个文件的属性就变为了只读属性,你如果再次通过 OpenFileDialog选择这个文件进行 *** 作 就会导致 造成 尝试读取或写入受保护的内存 试试选择其它文件试下

Dim name As String = ""

Dim age As Integer

name = InputBox("请输入姓名")

age = InputBox("请输入年龄")

FileOpen(1, "d:\信息txt", OpenModeAppend)

WriteLine(1, name, age)

FileClose(1)

FileOpen(1, "d:\信息txt", OpenModeAppend)

WriteLine(1, name, age)

FileClose(1)

Dim h As String

Dim j As String

Dim f As String

f = ""

h = ""

j = ""

While EOF(1) = False

f = LineInput(1) & vbCrLf & f

End While

FileClose(1)

MsgBox("姓名" & " " & "年龄" & vbCrLf & f)

以上就是关于VS2005 C++ 读取多文件对话框, 谢了先全部的内容,包括:VS2005 C++ 读取多文件对话框, 谢了先、用VS2005编写的C#程序要读取某个XMl文件中的数据,为什么读不出来求高手。。。。。。、Vs2010 C#调用openfiledialog,第一次可以正常读取文件,以后每次都可以打开对话等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10104574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存