毕业论文范文网-论文范文
电气工程 会计论文 金融论文 国际贸易 财务管理 人力资源 学前教育 德语论文 工程管理 文化产业 工商管理 会计专业 行政管理 广告学
机械设计 汉语文学 英语论文 物流论文 电子商务 法律论文 工商管理 旅游管理 市场营销 药学论文 播音主持 人力资源 金融论文 保险学
制药工程 生物工程 包装工程 模具设计 测控专业 工业工程 教育管理 行政管理 计算机论 电子信息 市场营销 法学论文 财务管理 投资学
体育教育 小学教育 印刷工程 土木工程 书法论文 护理论文 心理学论 信息管理 公共事业 给水排水 新闻专业 摄影专业 广电编导 经济学
  • 范文首页 |
  • 毕业论文 |
  • 论文范文 |
  • 计算机论文 |
  • 外文翻译 |
  • 工作总结 |
  • 工作计划 |
  • 现成论文 |
  • 论文下载 |
  • 教学设计 |
  • 免费论文 |
  • 原创论文 |
搜索 高级搜索

原创毕业论文

当前位置:毕业论文范文网-论文范文 -> 免费论文 -> 计算机论文

李道强Delphi中“流”的操作


本文ID:ZJWD12295

下载地址 全文下载链接(充值:元) 

客服QQ:229120615 微信:lunwen668 免费获取

免费论文范文
免费论文
政治工作论文
计算机论文
营销专业论文
工程管理论文范文
医药医学论文范文
法律论文范文
生物专业论文
物理教学论文范文
人力资源论文范文
化学教学论文范文
电子专业论文范文
历史专业论文
电气工程论文
社会学专业论文
英语专业论文
行政管理论文范文
语文专业论文
电子商务论文范文
焊工钳工技师论文
社科文学论文
教育论文范文
数学论文范文
物流论文范文
建筑专业论文
食品专业论文
财务管理论文范文
工商管理论文范文
会计专业论文范文
专业论文格式
化工材料专业论文
英语教学专业论文
电子通信论文范文
旅游管理论文范文
环境科学专业论文
经济论文
人力资源论文范文
营销专业论文范文
财务管理论文范文
物流论文范文
财务会计论文范文
数学教育论文范文
数学与应用数学论文
电子商务论文范文
法律专业论文范文
工商管理论文范文
汉语言文学论文
计算机专业论文
教育管理论文范文
现代教育技术论文
小学教育论文范文
机械模具专业论文
报告,总结,申请书
心理学论文范文
学前教育论文范文

收费计算机专业论文范文
收费计算机专业论文
Delphi
ASP
VB
JSP
ASP.NET
VB.NET
java
VC
pb
VS
dreamweaver
c#.net
vf
VC++
计算机论文
毕业论文范文题目:李道强Delphi中“流”的操作,论文范文关键词:李道强Delphi中“流”的操作
李道强Delphi中“流”的操作毕业论文范文介绍开始:

李道强Delphi中“流”的操作
摘要:“流”是用来实现对大数据量的简捷、快速、方便操作基础。本文分析了在Delphi下,“流” Stream对象的原理,实现方式和基本操作,及TFileStream、TMemoryStream等具体对象的使用方式和应用范围。对使用Delphi开发语言的人员要实现大数据量操作,有一定的借鉴作用。
关键字:面向对象;程序;数据

 什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有的操作,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。
 在Delphi的早期版本Turbo Pascal 中就曾有流(Stream)、群(Collection)和资源(Resource)等专门用于对象式数据管理的类。在Delphi中,这些功能得到了大大的加强。Delphi将对象式数据管理类归结为Stream对象(Stream)和Filer对象(Filer),并将它们应用于可视部件类库(VCL)的方方面面。它们不仅提供了在内存、外存和Windows资源中管理对象的功能,还提供了在数据库BLOB字段中对象的功能。
 在Dephi中提供了一个抽象的数据类型TStream来支持对流式数据的操作。这些数据通常来自文件、数据库、内存对象、OLE对象等,TStream提供了统一、简洁的方法来进行数据的读写。在通常情况下,我们并不需要直接使用TStream类,对流式数据的读写封装在VCL控件的方法中。
  
 
 图1 Dephi流式对象的VCL封装情况
 1、流式对象的实现原理
 Stream对象,又称流式对象,是TStream、THandleStream、TFileStream、TMemoryStream、TResourceStream和TBlobStream等的统称。它们分别代表了在各种媒介上存储数据的能力,它们将各种数据类型(包括对象和部件) 在内存、外存和数据库字段中的管理操作抽象为对象方法,并且充分利用了面向对象技术的优点,应用程序可以相当容易地在各种Stream对象中拷贝数据。
 (1)TStream对象
 实现原理:TStream对象是Stream对象的基础类,这是Stream对象的基础。为了能在不同媒介上的存储数据对象,后继的Stream对象主要是在Read和Write方法上做了改进。
 TStream对象是能在各种媒介中存储二进制数据的对象的抽象对象。从TStream 对象继承的对象用于在内存、Windows资源文件、磁盘文件和数据库字段等媒介中存储数据。
 TStream中定义了两个属性:Size和Position。它们分别以字节为单位表示的流的大小和当前指针位置。TStream中定义的方法用于在各种流中读、写和相互拷贝二进制数据。因为所有的Stream对象都是从TStream中继承来的,所以在TStream中定义的域和方法都能被Stream对象调用和访问。此外,又由于面向对象技术的动态联编功能,TStream为各种流的应用提供了统一的接口,简化了流的使用;不同Stream对象是抽象了对不同存储媒介的数据上的操作,因此,TStream的需方法为在不同媒介间的数据拷贝提供了最简捷的手段。
 (2)THandleStream对象
 实现原理:THandleStream在实现上主要是增加了一个属性Handle和覆盖了Create、Read、Write和Seek四个方法。定义了Handle属性,该属性提供了对文件句柄的只读访问,覆盖了构造函数Create,该函数带有Handle 参数,该参数指定与THandleStream对象相关的文件句柄。
 (3)TFileStream对象
 TFileStream对象是在磁盘文件上存储数据的Stream对象。TFileStream是从THandleStream继承下来的,它和THandleStream一样都是实现文件的存取操作。不同之处在于THandleStream用句柄访问文件,而TFileStream用文件名访问文件。实际上TFileStream是THandleStream上的一层包装,其内核是THandleStream的属性和方法。
 TFileStream只覆盖了的构造方法Create和析构方法Destory。在Create方法中带两个参数FileName和Mode。FileName描述要创建或打开的文件名,而Mode描述文件模式如fmCreate、fmOpenRead和fmOpenWrite等。Create方法首先使用FileCreate或FileOpen函数创建或打开名为FileName的文件,再将得到的文件句柄赋给FHandle。TFileStream的文件读写操作都是由从THandleStream继承的。
 (4)TMemoryStream对象
 TMemoryStream对象是一个管理动态内存中的数据的Stream对象,它是从TCustomMemoryStream中继承下来的,增加和覆盖了一些用于从磁盘文件和其它注台读数据的方法。还提供了写入、消除内存内容的动态内存管理方法。
 TCustomMemoryStream是用于内存中数据操作的抽象对象,它为MemoryStream对象的实现提供了框架,框架中的内容还要由具体MemoryStream对象去填充。TMemoryStream对象就是按动态内存管理的需要填充框架中的具体内容。
 2、实际应用
 (1)利用流制作EXE文件加密器、捆绑、自解压文件及安装程序
 EXE文件加密器的原理:建立两个文件,一个用来添加资源到另外一个EXE文件里面,称为添加程序。另外一个被添加的EXE文件称为头文件。该程序的功能是把添加到自己里面的文件读出来。Windows下的EXE文件结构比较复杂,有的程序还有校验和,当发现自己被改变后会认为自己被病毒感染而拒绝执行。所以我们把文件添加到自己的程序里面,这样就不会改变原来的文件结构了。我们先写一个添加函数,该函数的功能是把一个文件当作一个流添加到另外一个文件的尾部。函数如下:
function AddtoFile(sFile, tFile: string): Boolean;
var t, s: TFileStream; MyFileSize: integer;
begin
  try
    s := TFileStream.Create(sFile, fmOpenRead or fmShareExclusive);
    t := TFileStream.Create(tFile, fmOpenWrite or fmShareExclusive);
    try
      t.Seek(0, soFromEnd);
      MyFileSize := s.Size + Sizeof(MyFileSize);
      t.WriteBuffer(MyFileSize, sizeof(MyFileSize));
    finally
      t.Free;
      s.Free;
    end;
  except
    Result := False;
    Exit;
  end;
  Result := True;
end;
实际使用时,可以使用读出函数,把自己的内容读出来。
function LoadFromFile(sFile, tFile: string): Boolean;
var s: TFileStream; t: TMemoryStream; MyFileSize: integer;
begin
  try
    t := TMemoryStream.Create;
    s := TFileStream.Create(sFile, fmOpenRead or fmShareDenyNone);
    try
      s.Seek(-sizeof(MyFileSize), soFromEnd);
      s.ReadBuffer(MyFileSize, sizeof(MyFileSize));
      s.Seek(-MyFileSize, soFromEnd);
      t.CopyFrom(s, MyFileSize - sizeof(MyFileSize));
      t.SaveToFile(tFile);
    finally
      t.Free;
      s.Free;
    end;
  except
    Result := false;
    Exit;
  end;
  Result := true;
end;
 (2)利用流制作可执行电子贺卡
 我们经常看到一些电子贺卡之类的制作软件,可以让你自己选择图片,然后它会生成一个EXE可执行文件给你。打开贺卡时就会一边放音乐一边显示出图片来。
 添加图片过程我们可以直接用前面的AddtoFile,而现在要做的是如何把图像读出并显示。我们用前面的LoadFromFile先把图片读出来保存为文件再调入也是可以的,但是还有更简单的方法,就是直接把文件流读出来显示。
 现在的图片比较流行的是BMP格式和JPG格式。我们BMP图片为例写出读取函数。
function BmpLoad(Bmp: TBitmap; SourceFile: string): Boolean;
var Source: TFileStream; MyFileSize: integer;
begin
  Source := TFileStream.Create(SourceFile, fmOpenRead or fmShareDenyNone);
  try
    try
      Source.Seek(-sizeof(MyFileSize), soFromEnd);
      Source.ReadBuffer(MyFileSize, sizeof(MyFileSize));
      Source.Seek(-MyFileSize, soFromEnd);
      Bmp.LoadFromStream(Source);
    finally
      Source.Free;
    end;
  except
    Result := False;
    Exit;
  end;
  Result := True;
end;
图片内容读出来了,就可以用其它控件在FORM了显示了。

参考文献:
[1] 卢国俊. Delphi 6高级编程[M].北京:电子工业出版社,2002.1
[2] 牛汉民. Delphi 7高级应用开发教程[M].北京:科学出版社,2006.1
[3] 陈省. Delphi 深度探索[M].北京:电子工业出版社,2004.1

充值元下载全文→充值 以上为本篇毕业论文范文李道强Delphi中“流”的操作的介绍部分。

本论文在计算机论文栏目,由论文网(www.zjwd.net)整理,更多论文,请点论文范文查找

毕业论文降重 相关论文
收费论文范文
收费论文
汉语言文学论文
物理学论文
自动化专业论文
测控技术专业论文
历史学专业论文
机械模具专业论文
金融专业论文
电子通信专业论文
材料科学专业论文
英语专业论文
会计专业论文
行政管理专业论文
财务管理专业论文
电子商务国贸专业
法律专业论文
教育技术学专业论文
物流专业论文
人力资源专业论文
生物工程专业论文
市场营销专业论文
土木工程专业论文
化学工程专业论文
文化产业管理论文
工商管理专业论文
护理专业论文
数学教育专业论文
数学与应用数学专业
心理学专业论文
信息管理专业论文
工程管理专业论文
工业工程专业论文
制药工程专业论文
电子机电信息论文
现代教育技术专业
新闻专业论文
艺术设计专业论文
采矿专业论文
环境工程专业论文
西班牙语专业论文
热能与动力设计论文
工程力学专业论文
酒店管理专业论文
安全管理专业论文
交通工程专业论文
体育教育专业论文
教育管理专业论文
日语专业论文
德语专业论文
理工科专业论文
轻化工程专业论文
社会工作专业论文
乡镇企业管理
给水排水专业
服装设计专业论文
电视制片管理专业
旅游管理专业论文
物业管理专业论文
信息管理专业论文
包装工程专业论文
印刷工程专业论文
动画专业论文
环境艺术专业论文
信息计算科学专业
物流专业论文范文
人力资源论文范文
营销专业论文范文
工商管理论文范文
汉语言文学论文范文
法律专业论文范文
教育管理论文范文
小学教育论文范文
学前教育论文范文
财务会计论文范文

电子商务论文范文

上一篇:洪东忍WebQuest设计与应用调查分析 下一篇:试探建立Moodle的开发环境

最新论文

精品推荐

毕业论文排版

热门论文


本站简介 | 联系方式 | 论文改重 | 免费获取 | 论文交换

本站部分论文来自网络,如发现侵犯了您的权益,请联系指出,本站及时确认删除 E-mail:229120615@qq.com

毕业论文范文-论文范文-论文同学网(www.zjwd.net)提供计算机论文毕业论文,毕业论文范文,毕业设计,论文范文,毕业设计格式范文,论文格式范文

Copyright@ 2010-2024 zjwd.net 毕业论文范文-论文范文-论文同学网 版权所有