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;
  • 相关阅读:
    [APM] OneAPM 云监控部署与试用体验
    Elastic Stack 安装
    xBIM 综合使用案例与 ASP.NET MVC 集成(一)
    JQuery DataTables Selected Row
    力导向图Demo
    WPF ViewModelLocator
    Syncfusion SfDataGrid 导出Excel
    HTML Table to Json
    .net core 2.0 虚拟目录下载 Android Apk 等文件
    在BootStrap的modal中使用Select2
  • 原文地址:https://www.cnblogs.com/samsonleung/p/1291561.html
Copyright © 2011-2022 走看看