vc中如何快速的显示大量数据(如文件为2G或更大)在控件上。
VC中,我用内存文件映射方式成功读出了大容量的数据(2G或更大都可以)的文件(文件格式为任何格式),可是无法快速的显示在控件上。我的目的是要将文件的内容全部都显示出来(文本控件或list控件及只要能正确显示的控件都可以),因为程序在运行过程中,需要查看文件的内容是否正确。因此需要查看所有的内容。
追问:谢谢!
数据时批量的,结构不固定啊,我的目的是要随机的打开一个文件(exe,txt,.zip等都可以)。解析是会花时间,就目前的情况来看,还是可以接受的,主要的问题就是显示的时候有严重的问题,只能显示40M,大了的话就会很占内存且无法拖动。所以不知道怎么处理了。
还有我也在网上看了listctrl的例子,感觉还是不能满足要求,文件解析部分的处理,我是一次性将MAP读到的数据一次性解析出来。
显示部分,请详细赐教,谢谢我是想在拖动滚动条的时候,边拖动(下拉或上拉),边显示数据,前提是拖动要流畅,数据显示要及时,如果很慢的话,使用就会不爽,不知道怎么实现啊!你有这方面的经验不?请赐教!大哥,我进去看了,没有看到相关的东西,能否发个链接给我,谢谢!
答案:映射到内存以后,最主要的问题是文件的解析。里面的数据是批量的?固定结构的? 还是不定的。映射到内存以后,解析就占主要的运行速度。如果能顺利把数据解析出来,显示的话就容易很多。如果用listctrl的话,网上有很多提高速度的方法可以查找!
映射跟解析这两部分,如果时间长,建议开线程,不然就卡……
其他:去vckbase看徐景周的代码
呵呵,你的问题描述的不是很清楚,其实类似这种问题最好说明自己的开发环境?
你现在用的开发工具,AS是2.0?还是3.0?这样大家才方便帮你解答。我以前用flash MX也写过一些简答的脚本,那时是2.0。
按你现在提示的错误,应该是没有类的头文件。
你可以尝试在你的代码开始的地方加上:
import flash.events.MouseEvent;
具体对于这个错误的分析,你可以百度“无法加载类或接口'MouseEvent'”,结合你目前的开发环境,去针对性了解如何处理这个问题吧!
上一个:vc一直提示EnableDockingSizeBar undeclared identifier,但是我看CJFrameWnd.h有这个定义啊,为什么呢?
下一个:VC++ 请教各位编程高手,指出下错误,不胜感激……