- 浏览: 206037 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
Kesin97:
不错 很有用。选择性锁也不太影响性能。
sqlserver的updlock锁 (转) -
fox-idea:
学习
用PC作数据库服务器的容灾问题 -
xwei78:
话说这个下载地址不太好找啊,我去oracle网站转了好一会才找 ...
oracle10g官方客户端配置
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
FileName = 'c:\temp\binary.dat';
var
F: file;
//用无类型的方式写入一个字节
procedure TForm1.Button1Click(Sender: TObject);
var
b: Byte;
begin
AssignFile(F,FileName);
Rewrite(F,1); //第二个参数表示: 把 1 个字节当作一个写入单位
b := 65;
BlockWrite(F,b,1); //写入; 参数2是要写入的内容; 参数3表示写入 1 次.
CloseFile(F);
//落实 binary.dat 的大小: 1个字节; 内容: A (可用记事本打开)
end;
//用无类型的方式读出一个字节
procedure TForm1.Button2Click(Sender: TObject);
var
b: Byte;
begin
AssignFile(F,FileName);
Reset(F,1); //把 1 个字节当作一个读取单位
BlockRead(F,b,1); //读取一次; 放入 b
ShowMessage(Chr(b)); //A
CloseFile(F);
end;
//写入更多字节
procedure TForm1.Button3Click(Sender: TObject);
var
buffer: array[0..127] of Byte;
i: Integer; //储存多个字节, 需要用数组了
begin
for i := Low(buffer) to High(buffer) do
buffer[i] := i; //给数组赋值, 注意现在数组大小是 128
AssignFile(F,FileName);
Rewrite(F,32); //规定把 32 个字节当作一个读取单位, 注意这个数字和缓冲区大小必须是倍数关系
BlockWrite(F,buffer,4); //需要写入几次呢? 128/32=4
CloseFile(F);
//写成的文件肯定是128字节大小, 但用记事本可能看不了, 因为这个二进制不是文本
end;
//读出
procedure TForm1.Button4Click(Sender: TObject);
var
buffer: array[0..127] of Byte;
i: Integer;
begin
AssignFile(F,FileName);
Reset(F,4); //把 4 字节当作一个读取单位; 为了那个倍数关系, 这里一般是 1
BlockRead(F,buffer,32); //当然需要 32 次才能读完
CloseFile(F);
//怎么显示一下呢? 还是用 Memo 吧; 显示字符? 数字? 还是十六进制吧
Memo1.Clear;
for i := Low(buffer) to High(buffer) do
begin
Memo1.Lines.Add(IntToHex(buffer[i],1));
end;
(*显示结果: 0 1 2 3 ... 7D 7E 7F *)
end;
//读写 Char 与实际读写字节
procedure TForm1.Button5Click(Sender: TObject);
var
cArr1,cArr2: array[0..4] of Char;
i: Integer;
num: Integer; //记录实际读写的字节数
begin
for i := Low(cArr1) to High(cArr1) do
cArr1[i] := Chr(65+i); //填充 A B C D E
AssignFile(F,FileName);
Rewrite(F,1); //建立
BlockWrite(F,cArr1,Length(cArr1),num); //参数4: num 是实际写入的字节数
ShowMessage(IntToStr(num)); //5
Reset(F,1); //重新打开
BlockRead(F,cArr2,Length(cArr2),num); //参数5: num 是实际读出的字节数
ShowMessage(IntToStr(num)); //5
ShowMessage(cArr2); //ABCDE
CloseFile(F);
end;
//写入长字符串, 读出其十六进制码
procedure TForm1.Button6Click(Sender: TObject);
var
p: PChar;
b: Byte;
begin
p := '万一的 Delphi 博客';
AssignFile(F,FileName); //关联文件名
Rewrite(F,1); //创建并打开
BlockWrite(F,p,Length(p)); //写入
FileMode := fmOpenRead; //这时可以设文件为只读
Reset(F,1); //为读取打开
Memo1.Clear;
while not Eof(F) do
begin
BlockRead(F,b,1);
Memo1.Text := Memo1.Text + IntToHex(b,2) + ' ';
end;
//显示结果: 70 F0 45 00 08 F7 12 00 A6 FB 43 00 A0 1A E5 00 FF C5
CloseFile(F);
end;
//复制个文件
procedure TForm1.Button7Click(Sender: TObject);
var
FromF,ToF: file;
NumRead,NumWritten: Integer;
Buffer: array[1..2048] of Byte;
begin
AssignFile(FromF, 'c:\temp\test1.dat'); //假定有这个文件
Reset(FromF, 1);
AssignFile(ToF, 'c:\temp\test2.dat');
Rewrite(ToF, 1);
repeat
BlockRead(FromF, Buffer, SizeOf(Buffer), NumRead);
BlockWrite(ToF, Buffer, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
{ NumRead=0 表示读完了; NumWritten <> NumRead 表示磁盘空间不够了 }
CloseFile(FromF);
CloseFile(ToF);
end;
end.
发表评论
-
关于 Delphi 中流的使用(4) 遍历读取流中的所有数据
2011-01-09 15:58 675unit Unit1;interfaceuses Windo ... -
关于 Delphi 中流的使用(3) 通过内存流读取文件
2011-01-09 15:57 949unit Unit1;interfaceuses Windo ... -
关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写
2011-01-09 15:56 1214TStream 是一个抽象的基类, 不能直接生成对象. 在具体 ... -
Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门
2011-01-09 15:54 1166前言:所谓"流", 就是一段数据或是一块内 ... -
结构化文件存取
2011-01-09 15:47 668纲要:AssignFile: 关联Rewrite: 创建并打开 ... -
文本文件读写
2011-01-09 15:45 775前言:Delphi 支持三种文件类型: 文本文件、记录文件、无 ... -
ini 文件操作
2011-01-09 15:42 832unit Unit1;interfaceuses Windo ... -
memo ctrl+a
2011-01-09 15:25 679在按键事件中处理全选Memo1.SelectAll;Memo1 ... -
单元文件结构
2011-01-09 15:13 594unit Unit1; interface {接口 ... -
Delphi初学者应小心的六大陷阱
2011-01-09 15:03 640初学DelphiI的人,由于各种原因,对DelphiI中的许多 ... -
格式化函数
2011-01-09 10:04 699var s: string;begin //指令类型 ty ... -
Delphi 的类型与指针
2011-01-03 22:53 1102先声明: 不要把我说的这些个东西当作教科书, 这都是自己的浅见 ... -
关于 Lo、Hi、LoWord、HiWord
2011-01-03 22:46 898Cardinal 是 4 字节无符号的整型, 先看一个例数: ... -
Delphi中票据凭证的精确打印
2010-04-01 17:25 855一、概述 在银行,税务,邮政等行业的实际工作中,经常涉及到在 ... -
beep 音乐
2009-09-23 12:55 1247windows.beep(523,500); ... -
delphi中第三方控件的安装方法 --转
2009-07-12 10:40 8271 只有一个DCU文件的组件。DCU文件是编译好的单元文件 ... -
delphi 需要注意的地方
2009-05-26 14:29 7631.类的概念 如:在窗体Form1中设置属 ...
相关推荐
文件读写监控工具是计算机系统管理和维护中不可或缺的软件,它们可以帮助用户跟踪、记录和分析系统中的文件操作,包括打开、创建、修改、删除等动作。这类工具在故障排查、性能优化、安全审计等方面有着广泛的应用。...
在Android应用开发中,文件读写权限是至关重要的一个环节,因为这关乎到应用程序能否正常地存储和访问数据。Android操作系统采用严格的权限管理系统,确保应用只能在其被授权的范围内操作。下面将详细介绍Android中...
在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...
在“Ch16 文件读写”这个章节中,可能包含了关于以上各种文件读写方式的详细教程和实例代码,帮助开发者掌握不同类型的文件操作技巧,提升编程能力。学习这部分内容对于任何IT从业者来说都是基础且重要的,无论是...
在Delphi编程环境中,文件读写是常见的操作,主要用于存储和检索数据。本文将深入探讨如何使用Delphi进行文本文件的读写操作,包括基本概念、常用函数和类,以及实际应用示例。 首先,了解文件系统的基本概念是至关...
下面将对这两种类型的文件读写函数进行详细介绍。 非标准文件读写函数 非标准文件读写函数主要用于读写二进制文件,包括 open、close、read 和 write 函数。 1. open 函数 open 函数用于打开文件,并返回一个...
对于开发者来说,这意味着需要更新代码以适配这些新规则,尤其是在进行文件读写操作时。本文将详细探讨Android 13的读写权限变更,以及如何在小米14设备上处理txt文件的读写测试。 首先,理解Android 13中的存储...
"ini文件读写类"是一个专门用于处理ini文件的编程工具,其主要功能是方便程序员进行ini文件的数据读取和写入操作。 在Windows操作系统中,ini文件被大量用于保存用户配置和应用程序设置,因为它们易于理解和编辑,...
Verilog文件读写 Verilog文件读写是指在Verilog语言中对文件的读取和写入操作,对于modelsim仿真和Matlab联合仿真尤其重要。本文将详细介绍Verilog文件读写的基本操作,包括文件打开和关闭、输出到文件、从文件读取...
在处理二进制文件时,控制文件读写位置是非常重要的,因为文件中的数据通常是连续的,且不同类型的变量可能在不同的位置。`fstream`类提供了`seekg`和`seekp`函数来改变文件读取和写入的位置。此外,`tellg`和`tellp...
这个压缩包“BMP文件的读写C代码及文档.rar”包含了关于如何使用C语言进行BMP文件读写操作的相关资料,包括一个PDF文档“BMP file format.pdf”和一个名为“readwriteBMP.rar”的源代码压缩包。 BMP文件格式的基础...
本文将深入探讨C#中处理文件读写的一些常用类,主要包括`System.IO.File`和`System.IO.FileInfo`,以及它们提供的各种方法。 1. **System.IO.File 类** - `File.Open()`:这个方法用于打开一个现有的文件或创建一...
在C++编程中,文件读写是至关重要的一个部分,特别是在处理数据存储、日志记录或者数据交换等场景。本文将深入探讨如何使用C++的标准库`<fstream>`来进行文件的读取和写入操作,同时也将涉及FILE*类型的文件操作,这...
在这个"**MFC txt文件读写**"的实践中,我们将探讨如何利用MFC来处理文本文件的读取和写入操作。 首先,我们需要了解MFC中的CFile类,它是处理文件操作的基础。CFile类提供了打开、关闭、读取和写入文件的基本方法...
ISO文件读写是iOS开发中常见的操作,尤其是在处理数据存储或软件更新时。在iOS中,我们通常不直接处理ISO格式的文件,但这个标题可能是关于读写文件的一般概念,因为ISO通常指的是光盘映像文件。描述中提到的"创建...
总结来说,这个“INI文件读写类”是用VC6.0开发的,用于处理配置文件的读写操作,支持多种数据类型和UNICODE编码,提供了一种高效、方便的方式来管理和维护应用程序的配置信息。它包含的源代码和项目文件可以帮助...
本例程重点介绍了如何在Qt环境下,通过重载QDataStream的operator和operator>>来实现自定义类型的数据读写,从而简化对文件的操作。 首先,理解QDataStream类是Qt中处理二进制数据流的核心工具,它允许我们以结构化...