PFSDllWrapper Class |
When possible, use instead the PFSFile, since it adds error checking and exceptions to the file handling.
Namespace: DHI.PFS
The PFSDllWrapper type exposes the following members.
Name | Description | |
---|---|---|
pfsAddBool |
Write a Boolean value
The Boolean value is written true or false.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddBoolDef |
Request the presence of a Boolean value.
Restrictions: The function is only valid within the scope of a keyword
| |
pfsAddBoolDefS | ||
pfsAddBoolRef |
Save the address of a Boolean variable to be written.
Restrictions: The function is only valid within the scope of a keyword. The value written is the contents of the associated variable when pfsWrite is called.
| |
pfsAddBoolRefS | ||
pfsAddBoolS |
Write a Boolean value to keyword
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddClob |
Add a CLOB param to current keyword.
Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddClobBool |
Write a Boolean to current CLOB.
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobBoolS |
Write a Boolean to current CLOB.
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobDouble |
Write a Double to current CLOB
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobDoubleS |
Write a Double to current CLOB
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobFilename |
Write a Filename to current CLOB
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobFilenameS |
Write a Filename to current CLOB
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobFloat |
Write a Float to current CLOB
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobFloatS |
Write a Float to current CLOB
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobInt |
Write a Integer to current CLOB
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobIntS |
Write a Integer to current CLOB
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobS |
Add a CLOB param to current keyword.
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddClobString |
Write a String to current CLOB
Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddClobStringS |
Write a String to current CLOB
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a Clob. | |
pfsAddDateDef |
Add date definition
| |
pfsAddDateDefS | ||
pfsAddDouble |
Purpose Write a double precision floating-point (real) value.
The output format is some 'default' format. Check if it may cause loss of precision.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddDoubleDef |
Request the presence of a double precision floating-point (real) value
Restrictions: The function is only valid within the scope of a keyword
| |
pfsAddDoubleDefS | ||
pfsAddDoubleRef |
Save the address of a double precision floating-point (real) variable to be written.
Restrictions: The function is only valid within the scope of a keyword. The value written is the contents of the associated variable when pfsWrite is called.
| |
pfsAddDoubleRefS | ||
pfsAddDoubleS |
Purpose Write a double precision floating-point (real) value.
The output format is some 'default' format. Check if it may cause loss of precision. Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddFilename |
Write a null-termindated character string to keyword
Restrictions: The function is only valid within the scope of a keyword. In a Pascal program, the use of null-terminated strings must be enforced using a compiler option. | |
pfsAddFilenameDef |
Request the presence of a character string value.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddFilenameDefS | ||
pfsAddFilenameS |
Write a null-termindated character string to keyword
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. In a Pascal program, the use of null-terminated strings must be enforced using a compiler option. | |
pfsAddFloat |
Write a single precision floating-point (real) value.
The output format is some 'default' format. Check if it may cause loss of precision.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddFloatDef |
Request the presence of a single precision floating-point (real) value.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddFloatDefS | ||
pfsAddFloatRef |
Save the address of a single precision floating-point (real) variable to be written.
Restrictions: The function is only valid within the scope of a keyword. The value written is the contents of the associated variable when pfsWrite is called.
| |
pfsAddFloatRefS | ||
pfsAddFloatS |
Write a single precision floating-point (real) value.
The output format is some 'default' format. Check if it may cause loss of precision.
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddInt |
Write a four-byte signed integer.
Restrictions: The function is only valid within the scope of a keyword
| |
pfsAddIntDef |
Request the presence of a four-byte signed integer value.
Restrictions The function is only valid within the scope of a keyword.
| |
pfsAddIntDefS | ||
pfsAddIntRef |
Save the address of a four-byte signed integer variable to be written.
Restrictions: The function is only valid within the scope of a keyword. The value written is the contents of the associated variable when pfsWrite is called.
| |
pfsAddIntRefS | ||
pfsAddIntS |
Write a four-byte signed integer.
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddKeyword(IntPtr, String) |
Define a keyword, ie the start of a parameter list, within the scope of a target.
| |
pfsAddKeyword(IntPtr, String, Object) |
Define a keyword, ie the start of a parameter list, within the scope of a target, and
add a set of parameters to the keyword.
This is similar to calling first pfsAddKeyword(IntPtr, String) followed by pfsAddParams(IntPtr, Object) | |
pfsAddKeywordDef |
Define the start of a new keyword, ie the start of a parameter list, and its attributes within the scope of a target.
This function is used to define the start of a list of parameters.
It has no counterpart, ie the usage is different from that of
pfsAddSectionDef, which requires a terminating pfsEndSection.
Restrictions: This function must be called within the scope of a target.
| |
pfsAddKeywordDefS | ||
pfsAddKeywordFilename |
Define a keyword, ie the start of a parameter list, within the scope of a target, and
add a filename parameter.
This is similar to calling first pfsAddKeyword(IntPtr, String) followed by pfsAddFilename(IntPtr, String) | |
pfsAddKeywordS |
Define a keyword, ie the start of a parameter list, within the scope of a target.
Silent version that throws exception on failure | |
pfsAddParams |
Purpose a number of parameters to keyword.
Restrictions: The function is only valid within the scope of a keyword. | |
pfsAddSection |
Start a new section within the scope of a target.
| |
pfsAddSectionDef |
Define the start of a new section and its attributes within the scope of a target.
The section definition must be terminated by a pfsEndSection.
Restrictions: The pfsAddSectionDef must be called within the scope of a target.
| |
pfsAddSectionDefS | ||
pfsAddSectionS |
Start a new section within the scope of a target.
Silent version that throws exception on failure | |
pfsAddString |
Write a null-terminated character string.
Restrictions: The function is only valid within the scope of a keyword. In a Pascal program, the use of null-terminated strings must be enforced using a compiler option.
| |
pfsAddStringDef |
Request the presence of a character string value.
Restrictions: The function is only valid within the scope of a keyword.
| |
pfsAddStringDefS | ||
pfsAddStringRef |
Save the address of a null-terminated character string variable to be written.
Restrictions: The function is only valid within the scope of a keyword. The value written is the contents of the associated variable when pfsWrite is called.
| |
pfsAddStringRefS | ||
pfsAddStringS |
Write a null-terminated character string.
Silent version that throws exception on failure Restrictions: The function is only valid within the scope of a keyword. In a Pascal program, the use of null-terminated strings must be enforced using a compiler option. | |
pfsAddTarget |
Add a new target (top-level section) to a parameter file object.
| |
pfsAddTargetS |
Add a new target (top-level section) to a parameter file object.
Silent version that throws exception on failure | |
pfsAddTimeDef |
Add time definition
| |
pfsAddTimeDefS | ||
pfsAddUndefinedPar |
Add a undefined param to current keyword.
| |
pfsAddUndefinedParS |
Add a undefined param to current keyword.
| |
pfsAppend |
Append the contents of a parameter file object to an existing parameter file using the parameter file syntax.
| |
pfsClobReset |
Reset reading of parameters from Clob
| |
pfsClobResetS |
Reset reading of parameters from Clob
| |
pfsClose |
Terminate the access to a parameter file data structure and free the associated internal storage.
| |
pfsCopy |
Copy a sub-tree of a parameter object to a node of a parameter object.
| |
pfsCreate |
Create an empty parameter structure to be used for writing a parameter file, or for creating a parameter definition.
| |
pfsDump |
Dump the contents of a parameter file object with detailed internal information into a text file.
| |
pfseInsertNewKeyword |
Insert new keyword into PFS section, return handle to new section
| |
pfseInsertNewParameterBool |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterClob |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterDouble |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterFileName |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterInt |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterString |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewParameterUndefined |
Insert new parameter into PFS keyword, return handle to new parameter
| |
pfseInsertNewSection |
Insert new section into PFS section, return handle to new section
| |
pfsEndSection |
Terminate a target or a section.
| |
pfsEndSectionS |
Terminate a target or a section.
Silent version that throws exception on failure | |
pfsEquivalent |
To indicate if the contents of two parameter objects are equivalent.
| |
pfsEquivalentExt |
To indicate if the contents of two parameter objects are equivalent.
| |
pfsErrorCodeToErrorMessage |
Return a textual error message for a given PFSErrorCode
reference to an alternative and newer method "pfsGetErrorMessageFromErrorCode"
| |
pfsExplore |
To provide an alternative to the lookup read interface. pfsExplore guides the application programmer through a PFS data structure and calls a user-defined function for each pfsNode encountered. The pfsNode is passed to the user-defined function for processing in the application context. With this approach, the application programmer needs not care about how to traverse the PFS data structure - this is done by pfsExplore - but instead pay attention to the position of the actual pfsNode in the structure.
| |
pfsFindDefault |
Return a reference to a non-default parameter node with a default value for the default parameter node which is passed as argument.
| |
pfsFindSectionByHandle |
Returns the section specified in the sectionPath parameter
| |
pfsGetAnchorFilename |
Get the anchor filename from node
| |
pfsGetBool |
Return the Boolean value from the pfsNode (parameter) passed as argument.
| |
pfsGetClobBool |
Extract a Boolean from current CLOB
| |
pfsGetClobBoolS |
Extract a Boolean from current CLOB
| |
pfsGetClobDouble |
Extract a Double from current CLOB
| |
pfsGetClobDoubleS |
Extract a Double from current CLOB
| |
pfsGetClobFilename |
Extract a Filename from current CLOB
| |
pfsGetClobFilenameS |
Extract a Filename from current CLOB
| |
pfsGetClobFloat |
Extract a Float from current CLOB
| |
pfsGetClobFloatS |
Extract a Float from current CLOB
| |
pfsGetClobInt |
Extract a Integer from current CLOB
| |
pfsGetClobIntS |
Extract an integer from current CLOB
| |
pfsGetClobItem |
Get the next Clob parameter as a PFSParameter handle,
where you can query it for the type of parameter data.
| |
pfsGetClobItemS |
Get the next Clob parameter as a PFSParameter handle,
where you can query it for the type of parameter data.
| |
pfsGetClobString |
Extract a String from current CLOB
| |
pfsGetClobStringS |
Extract a String from current CLOB
| |
pfsGetCustomResultFolder |
Returns the custom result folder.
| |
pfsGetDLLid |
Return a text string containing the path of the DLL containing the current software version.
| |
pfsGetDouble |
Return the double (8-byte double precision floating point) value from the pfsNode (parameter) passed as argument.
| |
pfsGetErrorFromPfsClob |
Extract error string
| |
pfsGetErrorFromPfsData |
Extract error string
| |
pfsGetErrorGlb |
Extract and reset the global error code
| |
pfsGetErrorMessageFromErrorCode |
this method is similar with method pfsErrorCodeToErrorMessage
but this method is call the interpreter from pfs2004 dll
and this method support more error code
| |
pfsGetFilename |
Get the filename from the node
| |
pfsGetFilenameString |
Get the filename from the node
| |
pfsGetFloat |
Return the float (4-byte single precision floating point) value from the pfsNode (parameter) passed as argument.
| |
pfsGetInstanceNo |
Return the instance number of the node (target/section or keyword) passed as argument.
| |
pfsGetInt |
Return the integer value from the pfsNode (parameter) passed as argument.
| |
pfsGetKeywordFilename |
Return the value as a filename of the n'th parameter of the m'th instance of a specific keyword name of the pfsNode (target/section),
or defVal if keyword or parameter was not found.
| |
pfsGetKeywordParamT |
Return the value of the n'th parameter of the m'th instance of a specific keyword name of the pfsNode (target/section),
or defVal if keyword or parameter was not found.
| |
pfsGetLevel |
Return the level in the parameter structure of the pfsNode passed as argument.
| |
pfsGetName |
Return the name of the pfsNode (target/section or keyword) passed as argument.
| |
pfsGetNameGlb |
Return the global name of the pfsNode (target/section or keyword) passed as argument.
| |
pfsGetNoInstances |
Return the number of instances of the pfsNode (target/section or keyword) passed as argument.
| |
pfsGetNoKeywords |
Return the number of keywords connected to the pfsNode passed as argument
| |
pfsGetNoNodes |
Get number of nodes
| |
pfsGetNoParams |
Return the number of parameters connected to the pfsNode passed as argument.
| |
pfsGetNoSections |
Return the number of sections connected to the pfsNode passed as argument.
| |
pfsGetNoTargets |
Return the number of targets present in a parameter file.
| |
pfsGetParamT |
Return the value from the pfsNode (parameter) passed as argument, as the type entered by defVal .
If the pfsNode (parameter) is undefined (Zero then the default value defVal
is returned.
This is a generically typed version of the pfsGet...() | |
pfsGetProjectResultRoot |
Get the project result root folder
| |
pfsGetResultFilename |
Get the filename from the node
| |
pfsGetResultFilenamePath |
Return the result folder path for the pfs file. The node can be any PFS node
in the pfs tree.
| |
pfsGetResultFolderPath |
Return the result folder path for the pfs file. The node can be any PFS node
in the pfs tree.
| |
pfsGetRoot |
Get root of PFS tree
| |
pfsGetString |
Return a string value of the pfsNode (parameter) passed as argument.
| |
pfsGetSyntaxClass |
Return the syntax class of the node which is passed as argument.
| |
pfsGetSyntaxErr |
Return the position in the input file where a parameter file syntax error was detected with an associated error message.
| |
pfsGetVersion |
Return a text string containing the date and time when the current software version was built.
| |
pfsInsert |
Insert parameter object into a src
| |
pfsIsBool |
Indicates if the pfsNode passed as argument refers to a string value.
| |
pfsIsClob |
Tell if a Node is a CLOB
| |
pfsIsClobEnd |
Returns true of the Clob has no more parameters
| |
pfsIsClobEndS |
Returns true of the Clob has no more parameters
| |
pfsIsDefaultPar |
Indicates if the pfsNode passed as argument refers to a default parameter definition.
| |
pfsIsDouble |
Indicates if the pfsNode passed as argument refers to a double (8-byte double precision floating point) parameter value.
| |
pfsIsFilename |
Return true of the node is a filename
| |
pfsIsFloat |
Indicates if the pfsNode passed as argument refers to a float (4-byte single precision floating point) parameter value.
| |
pfsIsInt |
Indicates if the pfsNode passed as argument refers to an integer parameter value.
| |
pfsIsKeyword |
Indicates if the pfsNode passed as argument refers to a keyword of a parameter structure.
| |
pfsIsNumeric |
Indicates if the pfsNode passed as argument refers to a numeric parameter value.
A numeric value is etther an integer, a float, or a double. For the exact type the respecctive type information functions should be called.
| |
pfsIsParam |
Indicates if the pfsNode passed as argument refers to a parameter of a parameter structure.
| |
pfsIsString |
Indicates if the pfsNode passed as argument refers to a string value.
| |
pfsIsTarget |
Indicates if the pfsNode passed as argument refers to a target of a parameter structure.
| |
pfsIsUndefinedPar |
Indicates if the pfsNode passed as argument refers to a string value.
| |
pfsKeywordByNameNum |
Returns a reference to the n'th instance of a specific keyword name of the pfsNode (target/section) passed as argument.
| |
pfsKeywordByNum |
Return a reference to the n'th keyword of the pfsNode (target/section) passed as argument.
| |
pfsKeywordParam |
Return a reference to the n'th parameter of the m'th instance of a specific keyword name of the pfsNode (target/section), Zero if keyword or parameter was not found.
| |
pfsLoadFile |
Open an existing parameter file and create an internal data structure for further processing.
| |
pfsNoChars |
Return the number of characters read from the input parameter file.
| |
pfsNoComments |
Return the number of comments skipped in the input parameter file
| |
pfsNodeByNum |
Get node by number (1 based)
| |
pfsNoLines |
Return the number of lines read from the input parameter file
| |
pfsNoTokens |
Return the number of terminal syntax elements processed
| |
pfsNumericIsIntType |
Indicates if the pfsNode passed as argument refers to a integer type parameter value.
| |
pfsParamByNum |
Return a reference to the n'th parameter of the pfsNode (keyword) passed as argument.
| |
pfsPeekErrorGlb |
Inspect the current value of the global error code without affecting it.
| |
pfsPutListParam |
Write a list of parameters
| |
pfsSectionByNameNum |
Returns a reference to the n'th instance of a specific subsection name of the pfsNode (target/section) passed as argument.
| |
pfsSectionByNum |
Return a reference to the n'th section of the pfsNode (target/section) passed as argument.
| |
pfsSetAnchorFilename |
Set anchor filename of node
| |
pfsSetProjectResultRoot |
Set the project result root folder
| |
pfsTargetByNameNum |
Return a reference to the n'th instance of a specific target name of a parameter file.
| |
pfsTargetByNum |
Return a reference to the n'th target of a parameter file.
| |
pfsWrite |
Write the contents of a parameter file object using the parameter file syntax
|
The MIKE Zero Parameter File Standard (PFS) is intended for storage of a wide range of data, which may be organized or unstructured. Many of those data which do not naturally match the MIKE Zero Data File Standard (DFS) may be stored in a PFS file. Typical applications of PFS files are for storing analysis definition parameters, or for saving internal state parameters between two executions of an application. The structure of the PFS files has been designed with emphasis on robustness and possibilities for a wide extent of automatic data validation. Even if data may easily be exchanged between applications using simple ad hoc file formats, the parameter file concept may be a way to avoid misunderstandings and ease debugging of file based data exchange. The format of a parameter file is defined by a formal syntax which describes how data must be written. Even if the syntax puts limitations on the use of parameter files, it provides possibilities for strictly checking the contents of files and automatic error reporting, with the intension of moving the responsibility for many trivial data validation tasks from the application programmer to the parameter file system. The application programmer accesses a parameter file through a programming interface, and all read/write operations with associated data decoding and encoding are handled by the parameter file system, not by the programmer. The PFS covers components with different levels of specialization and different target groups. The PFS may be transparently integrated into an application without the end-user's knowledge, and for the application programmer, not all components must be mastered. The most general concepts are * parameter text files used for storing actual data * the syntax which describes the format for storing data in text files The application programmer will encounter * a programming interface used to write to and read from parameter files * parameter definition text files defining the data requirement for different applications * runtime instances of parameter files and parameter definitions * (application dependant validation functions) For a first introduction to the PFS it is adequate to think about a parameter file as a text file written to conform with some loosely defined convention, the details of which is initially of minor importance. The PFS has no user dialogs. The external interfaces are the application programming interface, and the actual PFS files. The MIKE Zero Message System is used for error reporting, unless silent version is called. The PFS programming interface is distributed in a Windows DLL and it may be accessed from any programming language supporting the Windows API.