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;
  • 相关阅读:
    LOJ#3212. 「CSP-S 2019」划分
    矩阵乘法
    SSF信息社团4月训练题目整理
    AtCoder Regular Contest 116
    SSF信息社团3月训练题目整理
    Codeforces Round #704 (Div. 2)
    SSF信息社团寒假训练题目整理(三)
    关于 zzt 得 0.8 分这件事
    Luogu P7244 章节划分
    SSF信息社团寒假训练题目整理(二)
  • 原文地址:https://www.cnblogs.com/samsonleung/p/1291561.html
Copyright © 2011-2022 走看看