您的位置:首页 > 数据库

使用"类型文件"(typed File),创建自己的"数据库"

2008-09-16 11:57 696 查看
from :http://delphi.about.com/od/fileio/a/fileof_delphi.htm

如果有一个应用想在硬盘上存储一定的信息,而又不想使用paradox等数据库文件,而且不想用textfile等易让其他人读取的文件进行存储,那怎么办?Delphi可以提供typed files 让你解决这个问题。

一、有关files:Delphi里提供了三种类型的Files,分别是typed / text /untyped。

typed可以存储一些有结构的文件,如integer/double/record等。

text可以存储ASCII字符。并以CR/LF (#13#10)为行结束。

untyped可以存储"least impossible"的结构类型信息。

二、使用typed File.

type

TMember = record

Name : string[50];

eMail : string[30];

Posts : LongInt;

end;

var Members : array[1..50] of TMember;

var

F : file of TMember;

向文件中写数据:

var

F : file of TMember;

i : integer;

begin

AssignFile(F,'members.dat') ;

Rewrite(F) ;

try

for j:= 1 to 50 do

Write (F, Members[j]) ;

finally

CloseFile(F) ;

end;

end;

读为数据:

var

Member: TMember

F : file of TMember;

begin

AssignFile(F,'members.dat') ;

Reset(F) ;

try

while not Eof(F) do begin

Read (F, Member) ;

{DoSomethingWithMember;}

end;

finally

CloseFile(F) ;

end;

end;

定位至某一记录:

Code

{go back to the beginning - the first record}

Seek(F, 0) ;

{go to the 5-th record}

Seek(F, 5) ;

{Jump to the end - "after" the last record}

Seek(F, FileSize(F)) ;

更新数据:

procedure ChangeEMail(const RecN : integer; const NewEMail : string) ;

var DummyMember : TMember;

begin

{assign, open, exception handling block}

Seek(F, RecN) ;

Read(F, DummyMember) ;

DummyMember.Email := NewEMail;

{read moves to the next record, we have to

go back to the original record, then write}

Seek(F, RecN) ;

Write(F, DummyMember) ;

{close file}

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐