文件系统04 - 零基础入门学习Delphi37
文件系统04
让编程改变世界
Change the world by program
记录型文件的记录数
记录文件中的记录是顺序排列的,每条记录都有一个编号,记录编号从 0 开始。 因此在包含N个记录的文件中,第一个记录的编号(或称记录号)是0,最后一个记录的编号是N-1。 如果想知道文件中有多少记录,可调用 FileSize标准函数,该函数用来返回记录数。
function FileSize(var F): Integer;
移动与检测记录文件的文件指针
无论何时打开文件,也不管是用 Reset 或 Rewrite 过程打开,都可以看为有一个不可见指针都定位在文件首。 提供移动和检测文件指针的位置使随机存取文件中的记录成为可能,记录的随机存取是通过 Seek 过程和 FilePos 函数来实现的。 Seek 过程的作用是把文件指针移动到文件中的指定记录,而 FilePos 函数是返回文件指针当前所指的记录的记录号。 [Seek] procedure Seek(var F; N: Longint); 记录型文件变量 F 关联的文件的文件指针移到编号为N 的记录处,注意第一条记录的编号为0。 [FilePos] function FilePos(var F): Longint; 返回与记录型文件变量F关联的文件的文件指针所处的位置。
读取修改记录
[例如] 要读取与 VFFishcOil 文件型变量相关联的文件的第五条记录,可使用如下语句:
Seek(VFFishcOil, 4);
Read(VFFishcOil, v1);
注意:如果想读一个记录并修改它,然后再用新的信息覆盖旧信息,在写操作之前必须调用 Seek函数以回到上一个记录。 下面的代码用来读取、修改并更新文件中记录: [codesyntax lang="delphi"]
Seek(VFFishcOil, 1);Read(VFFishcOil, v1);v1.name:= ‘小由鱼’;Seek(VFFishcOil, 1);write(VFFishcOil, v1);
[/codesyntax] 如果忘记第二次调用Seek过程,结果则将用更新后的信息覆盖了第3条记录。这是初学者常犯的错误!
把文件指针定位到文件尾的方法
How to do?! It’s so easy! 想要把记录添加到记录文件的文件尾,在写操作之前,只需用 Seek 过程把文件指针移到文件的最后一条记录之后。 当然我们要先知道这个记录文件有多少条记录,最简单的办法是用 FileSize 获得文件的记录个数,并用这个数值作为 seek 的参数。 [caption id="attachment_625" align="aligncenter" width="300"] 读取并修改记录演示程序[/caption] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LGLQFXMSXEPR']视频下载[/Downlink]
转载于:https://www.cnblogs.com/LoveFishC/archive/2012/01/08/3847157.html
文件系统04 - 零基础入门学习Delphi37相关推荐
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
第二章:寄存器(CPU工作原理)04 让编程改变世界 Change the world by program 段的概念 错误认识: 内存被划分成了一个一个的段,每一个段有一个段地址. 其实是: 内存并 ...
- DLL技术应用04 - 零基础入门学习Delphi47
DLL技术应用04 让编程改变世界 Change the world by program 利用DLL实现窗体重用 利用 Delphi 的 DLL 功能,不但能够实现过程和函数重用,而且还可以实现窗体 ...
- 函数04 - 零基础入门学习C语言35
第七章:函数04 让编程改变世界 Change the world by program 上节课的练习简单讲解,给力!! 1.自己实现pow()函数并尝试验证-- 2.猜想下sqrt()函数的原理 ...
- 指针04 - 零基础入门学习C语言44
第八章:指针04 让编程改变世界 Change the world by program 小结 归纳起来, 如果有一个实参数组, 想在函数中改变此数组中的元素的值, 实参与形参的对应关系有以下4种情况 ...
- 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui
用户界面编程,即平时说的GUI(Graphical User Interface)编程,那些带有按钮.文本.输入框的窗口的编程 EasyGui是一个非常简单的GUI模块,一旦导入EasyGui模块,P ...
- python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...
课程名称 Python零基础入门学习视频教程全42集,资源教程下载 课程目录 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小 ...
- python基础教程视频教程百度云-Python零基础入门学习视频教程全42集百度云网盘下载...
课程简介 Python零基础入门学习视频教程全42集百度云网盘下载 课程目录 042魔法方法:算术运算 041魔法方法:构造和析构 040类和对象:一些相关的BIF 039类和对象拾遗 038类和对象 ...
- 零基础python必背代码-零基础入门学习python 96集全
零基础入门学习python 96集全 第000讲 愉快的开始(视频+课件)xa0 第001讲 我和Python第一次亲密接触(视频+课件)xa0 第002讲 用Python设第一个游戏(视频+课件+源 ...
- 零基础自学python教程-零基础入门学习Python_Python教程
教程名称:零基础入门学习Python 课程目录: [易源码www.pnp8.com]000愉快的开始 [易源码www.pnp8.com]001我和Python的第一次亲密接触 [易源码www.pnp8 ...
最新文章
- Ckeditor通过Ajax更新数据
- easyui_动态添加隐藏toolbar按钮
- c语言ascw,Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别
- awk 抓取文件子集
- 让python执行完停在解释器窗口
- 吃万里路 |甜品店大盘点
- 【译】Typeof null 的历史
- IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法
- nacicat for mysql查询_navicat for mysql怎么用
- JS 总结之关于 this 应该知道的几个点
- JavaScript中try, catch, throw的用法
- Exchange 2010 无法删除第一个mailbox
- python判断性别程序设计_python基础15 ---面像对象的程序设计
- 俞扬 新书_哇,太好了...新书
- CGContextRef绘图-iOS球形波浪加载进度控件-HcdProcessView详解 1
- 少儿编程语言有哪些分类,分别适合多大年龄的学生?
- html5 figure和figcaption
- CheckListBox的一些用法!
- Lync Server 2010拓扑图规划详解
- BAPI_GOODSMVT_CREATE MIGO预留成本中心201发货实例
热门文章
- 框架下载_最新安卓XDA框架插件下载仓库
- ETH基金会社区经理:以太坊改进流程EIP-1正在更新
- SAP License:SAP标准教材的编号原则
- SAP License:FM-基金管理详解(实例)
- 场景欺诈的策略梳理、总结与实操
- 关于模型分箱,最容易被忽略的这几点
- prd移动端通用产品需求文档+Axure高保真app社交订餐通用prd文档+产品业务说明+PRD功能性需求+移动端公工通用模板说明+需求分析+竞品分析+产品结构图+产品业务流程图+产品信息图+餐饮系统
- 本周ASP.NET英文技术文章推荐[??/?? - 09/22]:VS 2008、.NET 3.5、asp:ListView、DotNetNuke、ASP.NET AJAX...
- 你可能还不知道的关于JavaScript类型的细节?
- iOS CoreData版本升级和数据库迁移