知识大全 复杂的结构化存取(二)

Posted 文件

篇首语:百艺通,不如一艺精。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 复杂的结构化存取(二)相关的知识,希望对你有一定的参考价值。

  本例效果图

  

  代码文件 unit Unit ;

  interface

  uses Windows  Messages  SysUtils  Variants  Classes  Graphics  Controls  Forms  Dialogs  StdCtrls;

  type TForm  = class(TForm)  Button : TButton;  Button : TButton;  procedure FormCreate(Sender: TObject);  procedure Button Click(Sender: TObject);  procedure Button Click(Sender: TObject); end;

  var Form : TForm ;

  implementation

  $R * dfm

  Uses Activex;

  type TRec = record  Name: string[ ];  Age: Word; end;

  const FileName =  C:TempTest dat ;

  procedure TForm FormCreate(Sender: TObject);begin Button Caption :=  写复合文件 ; Button Caption :=  读复合文件 ; Position := poDesktopCenter;end;

  procedure TForm Button Click(Sender: TObject);const Mode = STGM_CREATE or STGM_READWRITE or STGM_SHARE_EXCLUSIVE;var StgRoot  StgSub: IStorage; Stm: IStream; Rec : TRec;begin 建立根 IStorage: StgRoot StgCreateDocfile(FileName  Mode    StgRoot);

  建立子 IStorage: StgSub StgRoot CreateStorage( StgSub  Mode      StgSub);

  在子 IStorage: StgSub 中建立 IStream: Stm StgSub CreateStream( Stm  Mode      Stm);

  写入数据 Rec Name :=  张三 ; Rec Age :=  ; Stm Write(@Rec  SizeOf(TRec)  nil);end;

  procedure TForm Button Click(Sender: TObject);const Mode = STGM_READ or STGM_SHARE_EXCLUSIVE;Var StgRoot  StgSub :IStorage; Stm: IStream; Rec : TRec;Begin 如果不是结构化存储文件则退出 if StgIsStorageFile(FileName) <> S_OK then Exit;

  获取根 IStorage: StgRoot StgOpenStorage(FileName  nil  Mode  nil    StgRoot);

  获取子 IStorage: StgSub; 注意: 第一个参数的名称必须和保存时一致 StgRoot OpenStorage( StgSub  nil  Mode  nil    StgSub);

  获取 IStream: Stm; 注意: 第一个参数的名称必须和保存时一致 StgSub OpenStream( Stm  nil  Mode    Stm);

  读出数据 Stm Read(@Rec  SizeOf(TRec)  nil); ShowMessageFmt( %s  %d  [Rec Name  Rec Age]);end;

  end     窗体文件

cha138/Article/program/Delphi/201311/24675

相关参考

知识大全 09年自考《数据结构》各章要点二[11]

  第十章文件  文件是性质相同的记录的集合记录是文件中存取的基本单位数据项是文件可使用的最小单位数据项有时称字段或者属性  文件   ·逻辑结构是一种线性结构  ·操作有检索和维护并有实时和批量处理

知识大全 数据结构考研分类复习真题 第二章 答案[7]

  应用题  .()选链式存储结构它可动态申请内存空间不受表长度(即表中元素个数)的影响插入删除时间复杂度为O()  ()选顺序存储结构顺序表可以随机存取时间复杂度为O()  .链式存储结构一般说克服

知识大全 在PB中用OLE存取blob类型数据(二)

在PB中用OLE存取blob类型数据(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  处理b

知识大全 数据结构 3.1 单链表中存取元素示例算法

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  boolGetElem(SLinkLintposElemType&e

知识大全 09年自考《数据结构》各章要点二[5]

  构造最小生成树的算法  ·Prim算法的时间复杂度为O(n^)与边数无关适于稠密图  ·Kruskal算法的时间复杂度为O(lge)主要取决于边数较适合于稀疏图  最短路径的算法  ·Dijkst

知识大全 数据结构考研分类复习真题 第二章 线性表[2]

  .若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算则利用(   )存储方式最节省时间【哈尔滨工业大学二(分)】  A.顺序表 &nb

知识大全 数据结构考研分类复习真题 第五章 数组和广义表[24]

  已知A为稀疏矩阵试从空间和时间角度比较采用两种不同的存储结构(二维数组和三元组表)完成求运算的优缺点【西安电子科技大学二(分)】  特殊矩阵和稀疏矩阵哪一种压缩存储后失去随机存取的功能?为什么?【

知识大全 数据结构 面试题 3

一个算法通常由哪两种基本要素组成?答案一是对数据对象的运算和操作二是算法的控制结构算法的复杂度主要包括什么?答案时间复杂度和空间复杂度实现算法所需的存储单元多少和算法的工作量大小分别称为算法的空间复杂

知识大全 数据结构第1章 绪论[1]

  一选择题  算法的计算量的大小称为计算的()【北京邮电大学二(/分)】  A效率B复杂性C现实性D难度  算法的时间复杂度取决于()【中科院计算所二(分)】  A问题的规模B待处理数据的初态CA和

知识大全 09年自考《数据结构》各章要点二[4]

  图的存储结构  ·邻接矩阵表示法用一个n阶方阵来表示图的结构是唯一的适合稠密图  ·无向图邻接矩阵是对称的  ·有向图行是出度列是入度  建立邻接矩阵算法的时间是O(n+n^+e)其时间复杂度为O