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

  1. /*
  2.    Turbo Prolog 2.0 Chapter 19, Example Program 2
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  5.    
  6. */
  7.    
  8. domains
  9.    dom = f(INTEGER)
  10.    list = integer *
  11.  
  12. database - mydba
  13.    p1(INTEGER, STRING, CHAR, REAL, DOM, LIST)
  14.  
  15. predicates
  16.    repeat
  17.    handleconsulterr(STRING, INTEGER)
  18.  
  19. clauses
  20.    repeat.
  21.    repeat:-repeat.
  22.  
  23.    handleconsulterr(File, Err):-
  24.       Err>1100, Err<1110, !,
  25.       retractall(_, mydba),
  26.       consulterror(_, LinePos, Filepos),
  27.       Pos=LinePos+FilePos,
  28.       % may need a path to "..\\prolog.err"
  29.       errormsg("prolog.err", Err, Msg, _), 
  30.       file_str(File, Str),
  31.       edit(Str, Str1, "Consult error", File, Msg, Pos,"prolog.hlp", 1, 1, 1, 0, _, RetStatus),
  32.       RetStatus=0,
  33.       file_str(File, Str1).
  34.    handleconsulterr(_, Err):-
  35.       exit(Err).
  36.  
  37. goal
  38.    repeat,
  39.       File="dd.dat",
  40.       trap(consult(File, mydba), Err, handleconsulterr(File,Err)),
  41.       write("\nSUCCESS\n"),
  42.       save(con, mydba).
  43.