Library Reference


Revision as of 00:33, 14 May 2019 by Mark Green (talk | contribs) (Created page with "The reference to the standard Visual Prolog library, the Prolog Foundation Classes, is contained within Visual Prolog itself. This ensures that you will always be viewing the...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The reference to the standard Visual Prolog library, the Prolog Foundation Classes, is contained within Visual Prolog itself. This ensures that you will always be viewing the correct documentation for the version of Visual Prolog you are using. PDC have requested that the PFC documentation is not placed on the wiki.

To view the Library Reference for your copy of Visual Prolog, follow the steps below:

From within Visual Prolog

  • Create a project and open one of its source files (.pro files) in the text editor.
  • Place the text cursor over the name of a PFC library or predicate and press F1.

If pressing F1 opens this Wiki on a page related to getting started or the text editor, then the text cursor was not over the name of a PFC library or predicate when you pressed F1. (Note that the text cursor must be over the name, not the mouse cursor.)

If you are writing a new program or learning Visual Prolog, you can place the cursor on the word core of the open core line at the top of the project template. Once the Library Reference is open you can view the documentation for any class.

Without Visual Prolog

If you wish to browsre the PFC reference without connecting to the Visual Prolog IDE, you can find it by opening the directory where you installed Visual Prolog (usually \Program Files (x86)\Visual Prolog 9 or the appropriate version number) and looking in the subfolder `appData\doc`. Double clicking the file vip.chm will open the Library Reference.

List of Packages

The list of PFC libraries is shown below. These give an overview of the functionality available in PFC and can be used in the editor to open the documentation on each one.

  • 5xVip contains predicates for compatibility with Visual Prolog v5.
  • action provides standard classes for passing event messages between listeners.
  • application provides support for calling external processes or foreign DLLs.
  • asynchronous supports asynchronous networking via winSock.
  • basis provides base classes for iterators, cancelable operations and disposable resources.
  • binary provides support for raw binary data.
  • boolean provides support for C-style int-booleans and logical operations.
  • chainDB contains support for external databases.
  • codePageId contains constants representing standard code pages.
  • collection contains standard classes for maps, queues, trees and sets.
  • commandLineParser contains support for parsing command line options.
  • communications contains support for pipes and synchronous sockets.
  • console provides console I/O.
  • cryptography provides support for encryption and decryption, hashing, and also base64 encoding.
  • dataType contains support for disjoint sets.
  • environment provides support for manipulating environment variables.
  • event provides fully general purpose event message passing with variable numbers of parameters.
  • exception holds the basic exception classes.
  • fileSystem contains file operations.
  • gui contains GUI support.
  • guid provides support for manipulating Globally Unique IDs (GUIDs)
  • hash provides incremental hashing.
  • htmlHelp provides an interface to the Microsoft HTML Help engine, as used to display the Library Reference.
  • InternetExplorer contains classes for interfacing with web browsers.
  • list contains standard list manipulation predicates.
  • log provides support for logging to the console, databases, streams, or files.
  • math contains standard math operations.
  • memory allows direct C-style manipulation of system memory.
  • multiThread provides support for multithreaded applications.
  • namedValue contains support for lists of named values.
  • ODBC provides connections to ODBC databases.
  • pie contains the Prolog Inference Engine.
  • presenter contains support for Presenters.
  • printing provides support for print jobs.
  • profile provides support for execution profiling.
  • programControl allows direct control over the program's execution flow.
  • reflection provides support for reflection of defined predicates.
  • regEx provides support for regular expression matching.
  • registry provides support for manipulating the Windows registry.
  • service and serviceImplementation provide support for remotely executed services.
  • shellDDEServer provides connection with Windows Explorer (the file browser, distinct from Internet Explorer)
  • smapi provides an interface to Windows' SMAPI interface.
  • std provides predicates for looping, likely used together with foreach.
  • stream provides generic stream support.
  • string and string8 provide support for Unicode and ASCII strings respectively.
  • syntax contains predicates supporting the LALR Parser Generator.
  • systemTray provides support for the Windows System Tray.
  • templateExpander provides support for defining output templates.
  • testSupport provides support for automated testing.
  • time contains date/time handling.
  • timingStatistics provides code for timing sections of the program.
  • vpi provides further GUI support.
  • watchDirectory allows a file system directory to be watched for changes.
  • web contains support for XHTML, XML, JSON and MIME, an HTTP client and an interface to CGI.
  • windowsApi contains predicates for directly calling the Windows API.