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

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

  • 相关阅读:
    作业四 四则运算
    作业三
    作业二(3)
    作业二(2)
    作业二(1)
    作业一
    作业九
    每周更新学习进度表--第十一周
    每周更新学习进度表--第十周
    每周更新学习进度表--第九周
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/14981250.html
Copyright © 2011-2022 走看看