Library Reference
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
andserviceImplementation
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 withforeach
.stream
provides generic stream support.string
andstring8
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.