注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发Delphi → 文章内容

在 delphi 中读写文件 的几种方法

作者:delphi 来源:本站整理 发布时间:2008-10-28 9:13:14

在编程的时候我们经常要用到读和写文件.下面介绍几个方法:

{方法一:用File stream }


  Procedure FileCopy( Const sourcefilename, targetfilename: String );
  Var
  S, T: TFileStream;
  Begin
  S := TFileStream.Create( sourcefilename, fmOpenRead );
  try
  T := TFileStream.Create( targetfilename,fmOpenWrite or fmCreate );
  try
  T.CopyFrom(S, S.Size ) ;
  finally
  T.Free;
  end;
  finally
  S.Free;
  end;
  End;

{ 方法二:使用内存块进行读写 }

  procedure FileCopy(const FromFile, ToFile: string);
  var
  FromF, ToF: file;
  NumRead, NumWritten: Word;
  Buf: array[1..2048] of Char;
  begin
  AssignFile(FromF, FromFile);
  Reset(FromF, 1);
  AssignFile(ToF, ToFile);
  Rewrite(ToF, 1);
  repeat
  BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
  BlockWrite(ToF, Buf, NumRead, NumWritten);
  until (NumRead = 0) or (NumWritten < > NumRead);
  CloseFile(FromF);
  CloseFile(ToF);
  end;

2、控制INI文件

  要利用.INI文件做程序有关数据的存储工作,就需要能读和写.INI文件,所以列了如下方法给大家参考:

  {方法一:用 Windows API 函数}

  ① 从.INI文件中获取字符串
  var
  strResult:array[0..30] of Char;
  begin
  GetPrivateProfileString(’ desktop ’, ’wallpaper’,
  ’c:\windows\newwall.bmp’ , strResult, 100,
  ’c:\windows\win.ini’ );
  edit1.text:=strResult; //显示取得字符串
  end;
  ② 从.INI文件中获取整数
  var
  nResult: integer;
  begin
  nResult := GetPrivateProfileString(’ desktop ’, ’ tilewallpaper’,
  0 , ’c:\windows\win.ini’ );
  edit1.text:=intostr(nResult); //显示取得整数
  end;
  ③ 向.INI文件写入字符串
  WritePrivateProfileString(’desktop’, ’wallpaper’,
  strWrite ,’c:\windows\win.ini’);


  { 方法二:使用TiniFile进行读写 }
  ① 从.INI文件中读字符串
  var MyIni: TIniFile;
  begin
  MyIni := TIniFile.Create(’c:\windows\win.ini’);
  edit1.text:=MyIni.ReadString(’Desktop’, ’Wallpaper’, ’’);
  end;
  ② 向.INI文件中写入字符串
  var MyIni: TIniFile;
  begin
  MyIni := TIniFile.Create(’c:\windows\win.ini’);
  MyIni.WriteString(’desktop’, ’wallpaper’, ’c:\a.bmp’);
  end;


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved