扩展名为 .pas 的文件是 delphi 的单元代码源文件,取名 pas 是缘于 delphi 是基于 Pascal 语言之上的扩展,其语法等使用的是 pascal 的语法。
pas 文件的内容由以下几部分组成:
//单元名称Unit unit1
//类型声明
type
TMyArray = array[0..19] of Byte
//接口部分
//可定义常量、变量、函数、过程等。
interface
//接口部分的单元引用
uses
Windows, Messages,Controls, Forms, Dialogs
//实现部分
implementation
//实现部分的单元引用
uses
MyLib, Unit2
//初始化部分(可省略)
initialization
//最终结束部分(可省略)
finalization
//单元文件结尾(end后必须以句号结尾)
end.
以下是当新建一个工程时,自动生成的 unit.pas 常规内容:
unit Unit1interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end
var
Form1: TForm1
implementation
{$R *.dfm}
end.
.cfg根据dof文件生成的编译器和连接器的命令行参数。.dof(Delphi OptionFile)包含编译器、连接器的参数,以及其他在Delphi菜单命令Project->Options中可以设置的内容。
.dpr(Delphi PRoject)工程主文件。
.res资源文件。
.pas(Pascal)各个单元的源文件。
.dfm(Delphi ForM)窗体文件
首先要说说的是Delphi中一个project(工程)的结构。工程的主文件是必不可少的,扩展名为.dpr(Delphi PRoject),格式跟一般的unit(单元)基本一样。然后在这个dpr中一般还要引用到其他的单元(在Delphi中使用“use”一词,类似C中的include),这些单元文件一般以pas作为扩展名,格式当然就是从以前的Pascal扩展的。前面说到dpr的格式与单元文件的格式基本一样,而且dpr是整个工程程序的入口,与Pascal中是一模一样的!Delphi中使用菜单命令Project->View Source就可以查看到dpr中的内容。
另外如果工程中添加了form(窗体),则还会有一些.dfm(Delphi ForM)文件,其实是包含窗体及其中控件属性的一个资源文件,也就是说可以像res文件一样打开。提到res文件,这种文件也是工程中常见的,里面包含程序图标、版本信息等资源,以后将会说明这种文件在不同场合的用途。
对应dpr文件一般还会有一个dof(Delphi OptionFile)和一个cfg文件。Dof文件中包含编译器、连接器的参数,以及其他在Delphi菜单命令Project->Options中可以设置的内容。Cfg文件是根据dof文件生成的编译器和连接器的命令行参数。
最后一种文件是dcu(Delphi Compiled Unit)文件,也就是已编译的单元文件,根据工程的编译器设置,里面一般还会包含调试信息等,默认设置是编译器生成调试信息到dcu中,但连接器不会把调试信息连接到exe里面。
用record来处理,给个小示例Header = record //假设是个头文件的数据格式
Count: Integer
end
Play = record //假设是记录的数据格式
Account: String[20]
Name: String[20]
end
File: TFileStream//假设加载了文件
读取头部信息:
var
H:Header
P:Play
I: Integer
begin
File.Seek(0, smFromBeging)//这个参数名我记不清楚,自己查下
File.ReadBuffer(@H, SizeOf(Header))
for I = 0 to H.Count -1 do
File.ReadBuffer(@P, SizeOf(Play)) //这里读取一个记录后,即可针对记录做些处理
end
大致就是这样读取了,写入的方式差不多,用Writebuffer就可以 。你声明相应的头文件格式和记录的格式,按照我这个思路去处理就行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)