List Control 读写txt文件的方法 mfcList Control 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哦,算是明白了一件事情,ini 配置文件的读写规则和txt是不同的,怪不得可以保存成一小节一小节。这是下午查到的一个网页,大神很详细分析了读写技术:http://sakura006.blog.hexun.com/31907060_d.html,怎么复制呢,想保存下来,貌似无法选中。其他问题还麻烦大神们帮忙解答一下,谢谢。 把列表框的数据写入文件的过程大概就是这样了。我是以前写过一个类似的程序,下面的代码你自己再改改。char* pStr[] = {"名称","数值","原始HEX","分辨率","有效位"};//把你要的列名都添加到这里CFileDialog dlg(FALSE,"(Text Files *.txt)\0*.txt\0(All Files *.*)\0*.*","SaveTest");CFile file(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite);CArchive ar(&file,CArchive::store);CString strList,strSave;int nItem = m_List.GetItemCount();//m_List是和列表框绑定的变量ar <<nItem;//nItem是行数int i = 0,j = 0;for(i = 0;i < nItem;i ++){ //m_nSubItem是列数 for(j = 0;j <= m_nSubItem; j++) { strSave += pStr[j]; strSave += "="; //获得列表框控件中第i行、第j列处的文本 strList = m_List.GetItemText(i,j); strSave += strList; strSave += ""\n; ar <<strSave; }}至于从文件中读取数据然后导入列表框中,无非就是先打开文件,然后读取数据并将读取到的数据保存到 CString 中,再解析此 CString ,将其中的有用数据取出来(比如碰到 分辨率=1.000,就把 1.000 记下来),接着把这些数据插入列表框。就不给代码了。每一行的第一列这里显示的序号,是要人为添加上去的。使用一个列表框的过程如下:先用 CListCtrl::Create() 创建列表框,然后用 CListCtrl::InsertColumn() 添加列,把每一列都添加好了之后,再用 CListCtrl::InsertItem() 添加项(调用该函数时要给定在列表框的哪个位置添加项,即多少行、多少列处,还要给定在该处显示的内容)。你问的那个序号,就是调用 CListCtrl::InsertItem() 时设定的。 主要是两个过程:1. 获得listctrl对应列的数据,用GetItemText即可!2. 写入文件,ini用writePrivateProfileString,txt写入方式比较多,常用的是API,WriteFile 我使用Google浏览器, 在加载出页面, 但未完成的时候点击"停止", 这时应该是禁用鼠标事件的js还未加载, 这样就可以复制了.当然, 你还可以保存整个网站源码, 然后自己在源码中找到C++代码. 对的,后来我就直接把源码放到Dreamweaver中,再复制的,谢谢指导。 ini文件怎么读写呢?谢谢。自己找的那个文章还没学懂,唉。 ini文件读写:读 GetPrivateProfileString functionRetrieves a string from the specified section in an initialization file.写 writePrivateProfileString 我觉得你这样的list ctrl中的数据, 还是使用自己的格式比较好.比如使用text串, 每一行, 对应表格中的一行.每一行数据中的每个单元格的数据都使用逗号隔开即可.如下:名称, 数值, 原始值HEX, 分辨率, ......名称, 数值, 原始值HEX, 分辨率, ......名称, 数值, 原始值HEX, 分辨率, ......解析的时候也非常方便, 直接使用 strtok_s 函数, 以逗号拆分每个子串, 即可得到每个值. ini文件怎么读写呢?谢谢。自己找的那个文章还没学懂,唉。读写 ini 文件的例子:http://blog.sina.com.cn/s/blog_4369de7e0100guz8.html我给的代码是保存为文本文件的,你要是想保存为 ini ,需要重新改代码。 http://www.cnblogs.com/my-blog/archive/2008/11/14/1333470.htmlhttp://www.cnblogs.com/rosesmall/archive/2012/09/12/2681897.html 急!在带有checkbox的CListCtrl控件中,如何通过勾选相应的Check来取得对应行的某列的内容! 关于Tab control的问题, 郁闷了一下午。 能不能直接调用另一个按钮的消息处理函数? vc读数据库中数字数据 system("pause")无效! 跨进程子类化,高手帮帮... 可以在ActiveX控件下的Dialog画曲线图吗 对日期进行加减这么麻烦吗 分太多了,散分~ VC技术内幕第四版和第五版到底有什么不同? 哈哈哈哈哈 要学技术的 就一起加油 C++如何实现SMTP和POP3? atl activex 中如何调用 javascript 提供的回调函数
这是下午查到的一个网页,大神很详细分析了读写技术:
http://sakura006.blog.hexun.com/31907060_d.html,怎么复制呢,想保存下来,貌似无法选中。其他问题还麻烦大神们帮忙解答一下,谢谢。
我是以前写过一个类似的程序,下面的代码你自己再改改。
char* pStr[] = {"名称","数值","原始HEX","分辨率","有效位"};
//把你要的列名都添加到这里
CFileDialog dlg(FALSE,"(Text Files *.txt)\0*.txt\0(All Files *.*)\0*.*","SaveTest");
CFile file(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite);
CArchive ar(&file,CArchive::store);
CString strList,strSave;
int nItem = m_List.GetItemCount();
//m_List是和列表框绑定的变量
ar <<nItem;
//nItem是行数
int i = 0,j = 0;
for(i = 0;i < nItem;i ++)
{
//m_nSubItem是列数
for(j = 0;j <= m_nSubItem; j++)
{
strSave += pStr[j];
strSave += "=";
//获得列表框控件中第i行、第j列处的文本
strList = m_List.GetItemText(i,j);
strSave += strList;
strSave += ""\n;
ar <<strSave;
}
}
至于从文件中读取数据然后导入列表框中,无非就是先打开文件,然后读取数据并将读取到的数据保存到 CString 中,再解析此 CString ,将其中的有用数据取出来(比如碰到 分辨率=1.000,就把 1.000 记下来),接着把这些数据插入列表框。就不给代码了。
每一行的第一列这里显示的序号,是要人为添加上去的。
使用一个列表框的过程如下:
先用 CListCtrl::Create() 创建列表框,然后用 CListCtrl::InsertColumn() 添加列,把每一列都添加好了之后,再用 CListCtrl::InsertItem() 添加项(调用该函数时要给定在列表框的哪个位置添加项,即多少行、多少列处,还要给定在该处显示的内容)。
你问的那个序号,就是调用 CListCtrl::InsertItem() 时设定的。
1. 获得listctrl对应列的数据,用GetItemText即可!
2. 写入文件,ini用writePrivateProfileString,txt写入方式比较多,常用的是API,WriteFile
我使用Google浏览器, 在加载出页面, 但未完成的时候点击"停止", 这时应该是禁用鼠标事件的js还未加载, 这样就可以复制了.
当然, 你还可以保存整个网站源码, 然后自己在源码中找到C++代码.
对的,后来我就直接把源码放到Dreamweaver中,再复制的,谢谢指导。
ini文件怎么读写呢?谢谢。自己找的那个文章还没学懂,唉。
读 GetPrivateProfileString function
Retrieves a string from the specified section in an initialization file.
写 writePrivateProfileString
比如使用text串, 每一行, 对应表格中的一行.
每一行数据中的每个单元格的数据都使用逗号隔开即可.
如下:
名称, 数值, 原始值HEX, 分辨率, ......
名称, 数值, 原始值HEX, 分辨率, ......
名称, 数值, 原始值HEX, 分辨率, ......解析的时候也非常方便, 直接使用 strtok_s 函数, 以逗号拆分每个子串, 即可得到每个值.
ini文件怎么读写呢?谢谢。自己找的那个文章还没学懂,唉。
读写 ini 文件的例子:
http://blog.sina.com.cn/s/blog_4369de7e0100guz8.html我给的代码是保存为文本文件的,你要是想保存为 ini ,需要重新改代码。
http://www.cnblogs.com/rosesmall/archive/2012/09/12/2681897.html