zoukankan      html  css  js  c++  java
  • 使用"类型文件"(typed File),创建自己的"数据库"

    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..50of 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

    更新数据:

    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;
  • 相关阅读:
    Python 五个知识点搞定作用域
    python中的三元表达式(三目运算符)
    Python中 sys.argv的用法简明解释
    pycharm多行批量缩进和反向缩进快捷键
    Python终端如何输出彩色字体
    第8周LeetCode记录
    第7周Leetcode记录
    《Java核心技术》第九章读书笔记(集合)
    《Java核心技术》第八章读书笔记(泛型)
    《Java核心技术》第七章读书笔记(异常处理)
  • 原文地址:https://www.cnblogs.com/samsonleung/p/1291561.html
Copyright © 2011-2022 走看看