72家族网-手游源码论坛

加入Q群 常见问题 资源失效 充值中心 开通会员 技术问答

6.9
查看:【143】 回复:【1】 发表于 2020-12-9 12:50
全站
9小时前
全站
3天前
全站
4天前
全站
5天前
全站
7天前
全站
7天前
全站
7天前
全站
13天前
全站
14天前
全站
15天前
全站
16天前
全站
19天前
全站
25天前
全站
27天前
全站
27天前
全站
27天前
全站
28天前
全站
29天前
全站
29天前
全站
2020-12-12

战神引擎手游源码

刺客引擎文件流操作


刺客引擎文件流操作

Delphi中的“流”类[2]-TFileStream(文件流) 读写

TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:
TFileStream: 文件流
TStringStream: 字符串流
TMemoryStream: 内存流
TResourceStream: 资源文件流

THandleStream: 是 TFileStream 的父类、TStream 的子类
TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类

与流相关的常用类还有: TReader、TWriter、TCompressionStream、TDecompressionStream

来一个文件流的例子:

--------------------------------------------------------------------------------------------------



unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  oldstream,newstream:TFileStream;
  oldpath,newpath:string;
begin
  oldpath := 'f:\temp\0001.jpg'; {需要这个文件存在}
  newpath := 'f:\temp\0002.jpg'; {这个会自动建立}
  if not FileExists(oldpath) then
  begin
    ShowMessage('找不到我们要测试的图片文件: ' + oldpath);
    Exit;
  end;

  oldstream := TFileStream.Create(oldPath, fmOpenRead or fmShareExclusive);
  newStream := TFileStream.Create(newPath, fmCreate);
  {建立文件流需要两个参数: 参数 1 是文件名(包括路径), 参数 2 是打开方式
  打开模式:
    fmCreate : 用指定的文件名建立文件,如果文件已经存在则打开它。
    fmOpenRead : 以只读方式打开指定文件
    fmOpenWrite : 以只写方式打开指定文件
    fmOpenReadWrite: 以可读可写方式打开指定文件
  共享模式:
    fmShareCompat : 共享模式与 FCBs 兼容
    fmShareExclusive: 不允许别的程序以任何方式打开该文件
    fmShareDenyWrite: 不允许别的程序以写方式打开该文件
    fmShareDenyRead : 不允许别的程序以读方式打开该文件
    fmShareDenyNone : 别的程序可以以任何方式打开该文件 }

  oldStream.Position := 0; {流指针移到开始, 复制时从这里开始}
  newStream.CopyFrom(oldStream, oldStream.Size); {Copy 流的复制}
  {CopyFrom 的参数 2 是要复制的内容大小; 如果为 0 , 不管指针在什么位置都会复制所有内容}
  {CopyFrom 返回实际拷贝的字节数}

  {这时硬盘上就有 0002.jpg 文件, 与 0001.jpg 一模一样}
  {其实就是复制文件, 不过这里我们是用文件流实现的}

  oldStream.Free;
  newStream.Free;

end;

end.

使用道具

战神引擎手游源码

抱歉!您尚未登录,无法查看回复内容!点击此处登录本站

使用道具

关闭

72家族网 - 学习手游架设从这里开始上一条 /1 下一条


72家族网加速节点 72家族网加速节点

本站资源仅供本地电脑研究软件内含使用,禁止任何非研究设计思想和原理为目的用途,如需商用请支持正版!

本站仅提供相关网络软件应用代码技术开发学习与技术教材,禁止未经版权方授权允许私自运营软件或应用行为。

域名:72jz.com 年龄:9年 世界排名:1,091,577 日均访问[PV]:2W+  创建于2011年04月20日,过期时间为2029年04月20日[待续] 皖ICP备11014237号-1
本站资源来自互联网搜集,仅供本地电脑单机学习和交流,请勿用于商业用途,请自觉在24小时内删除。
若有侵权与文章中不妥之处,请联系邮箱:admjz@vip.qq.com(手机随时接收邮件)并出示相关证明以便删除。敬请谅解!

2011-2020 72家族网 手游源码技术讨论平台 Powered by Discuz!

本站已启动百度云加速+全球加速服务   本站服务器商家-腾讯云    本站服务器商家-阿里云