| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:delphi菜青虫求教,读二进制文件。
只看楼主 加入收藏
snakeriver
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-25
收藏
 问题点数:0 回复次数:1 
delphi菜青虫求教,读二进制文件。
各位大神,大仙,侠客,高手:
    小弟在此求教,本人对delphi只能是初实。电脑也是一知半解,想整个事儿:文件在电脑里保存的就是0和1。不管是复制文件或者上传文件就是传送的这些0和1,我想编个程,以字节为单位,也就是每行八位,把这些0和1读取并保存为文本文件。可是不会写这程序。有哪个大拿给整个。在此谢谢了。
搜索更多相关主题的帖子: 文本文件 上传文件 二进制 菜青虫 
2011-05-25 01:03
yuutian
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:137
专家分:686
注 册:2010-10-27
收藏
得分:0 
//打开源文件代码:
procedure tform1.speedbutton1click(sender:tobject);
begin
     if opendialog1.execute  then
        edit1.text:=opendialog1.filename;
end;

//保存目录文件代码:
procedure tform1.speedbutton2click(sender:tobject);
begin
     if savedialog1.execute then
       edit2.text:=savedialog1.filename;
end;


//这个是对打开的目标文件进行读取的代码:
procedure tfrom1.bitbtn1click(sender:tobject);
var
   file1,file2:file;
   fbuf:array[0..1024] of byte;//存储地址
   f,i:integer;
begin
  if(edit1.text='')or (edit2.text='') then  //源文件名字放在edit1中,目标文件名字放在edit2中
    showmessage('请选择复制文件的名称')
else
begin
   i:=0;
   assignfile(file1,edit1.text);//文件变量file1与源文件建立联系
   assignfile(file2,edit2.text);//文件变量file2与目标文件建立联系
   reset(file1,1); //以读的方式打开源文件
   rewrite(file2,1);//以写的方式打开目标文件
   bitbtn1.enable:=false;
   try
       //将文件的大小设为Progressbar1组件的最大值
       progressbar1.max:=(filesize(file1)*2 div sizeof(fbuf));
       while f>=sizeof(f) do
       begin
         blockread(file1,fbuf,sizeof(fbuf),f);//将文件中的数据读取到缓冲区
         blockwrite(file2,fbuf,f,f);//将缓冲区的数据读入到文件中
         progressbar1.position:=progressbar1.position+1;//滚动进度条
         application.processmessage;
       end;
finally
    bitbtn1.enable:=true;
    progressbar1.position:=0;
    closefile(file1);//关闭数据文件,并释放file1变量
    closefile(file2);//关闭数据文件,并释放file2变量
end;
end;
end;
     
2011-06-23 20:14
快速回复:delphi菜青虫求教,读二进制文件。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018606 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved