DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: eyang11
今日帖子: 15
在线用户: 9
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 singlesmoke (孤烟7585) ★☆☆☆☆ -
普通会员
2004/5/28 16:31:39
标题:
关于数组写入到文件的操作 浏览:1245
加入我的收藏
楼主:    小弟需要将数组h:array [0..2499999] of byte写入到文件,我该用那种文件类型,并怎样操作呢?哪位大侠能点拨小弟,不胜感激!!!

----------------------------------------------
-
作者:
男 singlesmoke (孤烟7585) ★☆☆☆☆ -
普通会员
2004/5/28 16:34:35
1楼: 还有,写入文件后,又该怎样把文件读进来使数据重新成为如上静态数组的形式呢??小弟我现在真的很茫然!!
----------------------------------------------
-
作者:
男 thatiswhy (thatiswhy) ★☆☆☆☆ -
盒子活跃会员
2004/5/28 16:47:36
2楼: 以下代码没有在DELPHI环境下写,请自己调试:)

var
   MyData:array [0..2499999] of byte;

Procecure WriteToFile;
var
  f:file;
  Fn:String;
begin
  assignfile(f,fn);
  rewrite(f,1);
  blockWrite(f,mydata,length(Mydata)*sizeof(Mydata));
  //length(Mydata)*sizeof(Mydata)可能有问题:(
  closeFile(f);
end;

Procecure readFromFile;
var
  f:file;
  Fn:String;
begin
  //fn:='c:\......';
  assignfile(f,fn);
  rewset(f,1);
  blockread(f,mydata,length(Mydata)*sizeof(Mydata));
  //length(Mydata)*sizeof(Mydata)可能有问题:( 还是看楼下的吧
  closeFile(f);
end;


----------------------------------------------
朝花夕拾--Delphi
作者:
男 singlesmoke (孤烟7585) ★☆☆☆☆ -
普通会员
2004/5/28 16:50:29
3楼: 我先试试看,谢谢啦!!文字

----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/28 16:50:47
2楼: unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    FillButton: TButton;
    SaveButton: TButton;
    LoadButton: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

type
  TArray = array [0..2499999] of Byte;
  TArrayFile = file of TArray;

implementation

{$R *.dfm}

function WriteArray(FileName: string; Arr: TArray): Boolean;
var
  F: TArrayFile;
begin
  try
    AssignFile(F, FileName);
    Reset(F);
    Write(F, Arr);
    CloseFile(F);
    Result := True;
  except
    Result := False;
  end;
end;

function ReadArray(FileName: string; var Arr: TArray): Boolean;
var
  F: TArrayFile;
begin
  try
    AssignFile(F, FileName);
    Reset(F);
    Read(F, Arr);
    CloseFile(F);
    Result := True;
  except
    Result := False;
  end;
end;

var
  Arr: TArray;

procedure TForm1.FillButtonClick(Sender: TObject);
var
  I: Integer;
begin
  for I := Low(Arr) to High(Arr) do Arr[I] := Byte(I);
end;

procedure TForm1.LoadButtonClick(Sender: TObject);
begin
  if not ReadArray('C:\1.txt', Arr) then
    raise Exception.Create('Read file error');
end;

procedure TForm1.SaveButtonClick(Sender: TObject);
begin
  if not WriteArray('C:\1.txt', Arr)
    raise Exception.Create('Write file error');
end;

end.

----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 thatiswhy (thatiswhy) ★☆☆☆☆ -
盒子活跃会员
2004/5/28 17:32:27
4楼: selphi考虑的很完善,细节处见功力:)
----------------------------------------------
朝花夕拾--Delphi
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS