zoukankan      html  css  js  c++  java
  • Delphi的文件保存TFileStream(2010版本前后对比)

    // 2010后
    procedure TForm1.Button3Click(Sender: TObject);
    var
    pstr:Pchar;
    mestr:string;
    FS:TFilestream;
    sUString: UTF8String;
    begin
    FS:=TFileStream.Create((Extractfilepath(Application.ExeName)+'123.txt'),fmCreate or fmOpenWrite);
    FS.Seek(0, soEnd);
    mestr:=Memo1.Text;
    pstr:=Pchar(mestr);//把字符串转成字符指针
    sUString := UTF8String(mestr);
    FS.write(sUString[1], Length(mestr));//正确!XE必须将将字符串编码为UTF8
    FS.Free;
    end;

    // 2010前

    procedure TForm1.Button7Click(Sender: TObject);
    var
    pstr:Pchar;
    mestr:string;
    FS:TFilestream;
    sUString: UTF8String;
    begin
    FS:=TFileStream.Create((Extractfilepath(Application.ExeName)+'123.txt'),fmCreate or fmOpenWrite);
    FS.Seek(0, soEnd);
    mestr := Memo1.Text;
    pstr := Pchar(mestr);//把字符串转成字符指针
    FS.Writebuffer(pstr^,Length(pstr));//把字符串写入流中
    FS.Free;
    end;

    //文件转字节数组

    procedure TForm1.Button1Click(Sender: TObject);
    var
    AFileData: TByteDynArray;
    fsize:Integer;
    FS:TFilestream;
    begin
    FS:=TFileStream.Create('D:a.zip',fmOpenRead);
    FS.Position:=0;//切记,操作图片前一定要这句,否则错误
    //把内存流转化成TByteDynArray
    fsize:=FS.Size;
    SetLength(AFileData, fsize);
    FS.Read(AFileData[0],fsize);
    ShowMessage('ok');
    FS.Free;
    end;

    作者:疯狂Delphi
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

    欢迎关注我,一起进步!扫描下方二维码即可加我

  • 相关阅读:
    docker学习及应用
    openstack入门及应用
    C# 值类型,引用类型区别
    C# 继承
    Unity 使用Plugins接入安卓SDK 基础篇
    详谈 Unity3D AssetBundle 资源加载,结合实际项目开发实例
    Unity3D 协程 浅谈
    《俄罗斯,有点意思》
    老男孩之《生日快乐》
    【诗歌系列】《神曲》
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/14981250.html
Copyright © 2011-2022 走看看