CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  ATL/ActiveX/COM

(高分请教高手),复合结构数据高速缓冲组件(急!我都无从入手,那个大虾能指点一下)

楼主hnliruoyu(生活了无滋味)2002-11-04 16:53:33 在 VC/MFC / ATL/ActiveX/COM 提问

含大数据体的结构化数据的高速缓冲对象,要求使用列表(list)、映射(map)和内存文件实现,  
  支持多线程,有  
  加入数据对象  
  统计数据对象数  
  顺序取出数据对象  
  顺序访问数据对象  
  指定关键词取出数据对象  
  指定关键词访问数据对象  
  删除指定对象  
  删除全部对象  
  全部数据能保存到指定文件  
  能从给定文件中读出全部数据对象进入高速缓冲对象  
  等方法  
  包含指示数据对象数的信号量  
   
  我都无从入手,那个大虾能指点一下 问题点数:100、回复次数:12Top

1 楼rtdb(东临碣石)回复于 2002-11-05 09:53:59 得分 0

 
  当然先从list开始.   map只是用于快速查找,可以后做.    
   
  先用list做数据对象的管理.  
  Top

2 楼flyingjust(just)回复于 2002-11-05 15:58:31 得分 0

1自定义结构   (对象标记,信号量....)  
  2使用MFC的列表类?  
    你在作毕业设计?Top

3 楼Areece(Keen on Guru)回复于 2002-11-05 16:47:22 得分 0

这个难吗,最简单就用一个PtrList保存各个指针,再用一个同步的对象(比如说mutex)进行同步访问,然后插入对象或者是删除对象的时候,需要获得访问权,如果需要更好的性能,可以利用windows核心编程上的多个读写共享的对象来实现Top

4 楼hnliruoyu(生活了无滋味)回复于 2002-11-06 18:36:25 得分 0

先谢谢各位高手,指点的很对,但我还是不太清楚:  
  1自定义结构   (对象标记,信号量....)  
  能不能说具体点啊?,我不太清楚要需要定义的结构。  
  Top

5 楼hnliruoyu(生活了无滋味)回复于 2002-11-06 18:37:16 得分 0

还有啊,我想给各位分,怎么加啊?Top

6 楼iicup(双杯献酒)回复于 2002-11-06 18:41:14 得分 0

点击上面的"管理",  
  每人后面会出现一个文本框.Top

7 楼hnliruoyu(生活了无滋味)回复于 2002-11-06 18:49:35 得分 0

rtdb,你好,怎么才能把一个对象读进内存呢?我知道用CFile里的open可以把文件打开读进去,但我如果是SQL数据库的文件是用ADO的话怎么得到他文件里的数据啊?返回用返回的记录集吗?那我怎么知道字段和相对应字段的记录呢?怎么得到?麻烦多多指教。Top

8 楼hnliruoyu(生活了无滋味)回复于 2002-11-06 18:51:00 得分 0

但我如果是SQL数据库的文件是用ADO的话怎么得到他文件里的数据啊?返回用返回的记录集吗?那我怎么知道字段和相对应字段的记录呢?怎么得到?麻烦多多指教。我因该定义什么样的结构?Top

9 楼rtdb(东临碣石)回复于 2002-11-07 11:01:16 得分 30

在你这里,数据对象和自定义结构是一个概念.  
  同时和你SQL数据库中的表是相关的.  
  具体数据结构要看需求.  
   
  不过list管理的是对象所以只要一个最简单的数据对象  
  就可以开始了.数据对象中的数据可以后加.  
   
   
  Top

10 楼flyingjust(just)回复于 2002-11-07 14:05:27 得分 70

对象读进内存很简单   你从CObject继承   然后在重载序列化   然后用  
    CMemFile   memfile;  
  //   memory   file  
  long   lMode   =   CArchive::store    
                  |   CArchive::bNoFlushOnDelete;      
  //   define   the   flag   which   tells   archive   if   it    
  //should   load   or   store  
   
  CArchive   ar(&memfile,   lMode   );    
  //file:   create   the   archive   using   the   memory   file  
  ar.m_pDocument   =   NULL;  
  //file:   m_pDocument   is   not   used  
  ar.WriteObject(pObj);  
  //   serialize   the   object   into   the   archive  
  ar.Close();  
  //   close   the   archive   -   the   data   is   now   stored   in   memfile  
  long   llen   =   memfile.GetLength();  
  //   get   the   length   (bytes)   of   the   memory   file  
  unsigned   char   *pMemData   =   memfile.Detach();  
  //file   :detach   the   buffer   and   close   the   file  
  SAFEARRAY   *psa;  
  //   file:set   up   safearray   -   SAFEARRAY   is   defined   OAIDL.H  
  psa   =   SafeArrayCreateVector(   VT_UI1,   0,   llen   );  
  //   create   a   safe   array   to   store   the   stream   data  
  unsigned   char   *pData   =   NULL;  
  //   pointer   to   byte   array  
  SafeArrayAccessData(   psa,   (void**)&pData   );  
  //   get   a   pointer   to   the   safe   array.   Locks   the   array.  
  memcpy(   pData,   pMemData,   llen   );  
  //   copy   the   memory   file   into   the   safearray  
  SafeArrayUnaccessData(psa);  
  //   unlock   access   to   safearray  
                  delete   pMemData;//   clean   up   buffer  
                return   psa;   //   return   a   pointer   to   a   SAFEARRAY   allocated   here  
  这是个例子你可以看看   序列化对象到内存  
   
  另外ADO2.5加入了Record   和   Stream    
  Record可以读文件   在打开一个和Reocrd相关联的Stream就可以读文件字节流.  
  Reocrd.Open(url)   可以打开文件   还有一些方法可以得到文件.  
  你可以找点资料看看:)     好运!Top

11 楼skg(bruce)回复于 2002-11-07 14:29:56 得分 0

关注中Top

12 楼hnliruoyu(生活了无滋味)回复于 2002-11-08 11:25:18 得分 0

谢谢各位,我一定给分!Top

相关问题

  • 组件不见了?!高手指点
  • Delphi做的组件(DLL 或Exe)太大?怎么办?请指点
  • HotKey组件的使用方法,请各位指点!
  • 组件设计问题,使用(IStateManager),望高手指点一二
  • COM组件的问题,高手指点,急啊!
  • 自定义组件小问题 请各位指点
  • 初学vb,何处入手?高手指点,不惜送分!
  • 我写了一个组件,可如何调用该组件的事件呢?请高手指点!
  • I/O缓冲区问题(郁闷了我很久,求高人指点。)
  • 在安装ZIPtv组件时,Delphi出现"file not found dsgnint.dcu",请各位给以指点!

关键词

  • 数据
  • 字段
  • 结构
  • 文件
  • sql数据库
  • 内存
  • 信号
  • 对象
  • 指点
  • memfile

得分解答快速导航

  • 帖主:hnliruoyu
  • rtdb
  • flyingjust

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo