home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 1.ddi / EXAMPLES.ARC / CH15EX06.PRO < prev    next >
Encoding:
Text File  |  1988-06-21  |  1009 b   |  43 lines

  1. /*
  2.    Turbo Prolog 2.0 Chapter 15, Example Program 6
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  5.    
  6. */
  7.  
  8. constants
  9. % register.bin may be in the programs directory "..\\programs\\register.bin"   
  10.   filename = "register.bin"
  11.    
  12. domains
  13.    Db_selector = myDba
  14.    chainterm  = chain(string, mydom)
  15.    file = outfile
  16.    mydom = city(zipcode, cityname);
  17.    person(firstname, lastname, street, zipcode, code)
  18.    zipcode, cityname, firstname, lastname = string
  19.    street, code = string
  20.  
  21. predicates
  22.    wr(chainterm)
  23.    dumpDba(string, string)
  24.  
  25. clauses
  26.    wr(X) :- write(X), nl.
  27.  
  28.    dumpDba(Db_selector, OutFile) :-
  29.       db_open(myDba, Db_selector, in_file),
  30.       openwrite(outfile, OutFile),
  31.       writedevice(outfile), 
  32.       db_chains(myDba, Chain),
  33.       chain_terms(myDba, Chain, mydom, Term, _),
  34.       wr(chain(Chain, Term)),
  35.       fail.
  36.  
  37.    dumpDba(_, _) :-
  38.       closefile(outfile),
  39.       db_close(myDba).
  40.  
  41. goal
  42.    dumpDba(filename, "register.txt").
  43.