home *** CD-ROM | disk | FTP | other *** search
/ Chip: 25 Years Anniversary / CHIP_25Jahre_Jubilaeum.iso / downloads / 401065 / WPO11 / Data1.cab / _7EED2C5F895A430A8B33001A165298F1 < prev    next >
Text File  |  2003-03-07  |  24KB  |  714 lines

  1. OLEObject := Object
  2.  
  3. Syntax 1
  4.  
  5. (ObjectVariable: variable; [ObjectType: string]; [Options: enumeration]
  6.  
  7. Description 1
  8.  
  9. Defines an OLE object variable prefix.
  10.  
  11. After a prefix variable is defined, the prefix is used to identify all object method (command) calls and properties (values). Before methods and properties can be accessed, an object instance must be assigned to this variable by the CreateObject or GetObject commands.
  12.  
  13. Parameters 1
  14.  
  15. ObjectVariable: variable    Name of the object variable that is used in a macro.
  16.  
  17. ObjectType: string (optional)    OLE object class name for this object. If missing, this is a generic object.
  18.  
  19. Options: enumeration (optional)    Options for defining this object. If missing, no options are used.
  20.  
  21. Default! All non-prefixed commands are assumed to belong to this object.
  22.  
  23. Syntax 2
  24.  
  25. (<Value>: OLEObject)
  26.  
  27. Description 2
  28.  
  29. Object lets you specify the type and format of a parameter. You can use Object to pass parameters in calls to OLE automation methods or properties. Object generates a compile-time error if used outside an OLE automation call. Object is similar to the inline parameter functions for DLLCall.
  30.  
  31. Return Value 2
  32.  
  33. Object returns an OLE Object.
  34.  
  35. Parameter 2
  36.  
  37. <Value>: OLE Object    The value to be converted and passed as a parameter
  38.  
  39. Note
  40.  
  41.   This command is not available for use on a Linux operating system.
  42.   
  43. OLEObject := Object
  44.  
  45. Syntax
  46.  
  47. (<Value>: OLEObject)
  48.  
  49. Description
  50.  
  51. Object lets you specify the type and format of a parameter. You can use Object to pass parameters in calls to OLE automation methods or properties. Object generates a compile-time error if used outside an OLE automation call. Object is similar to the inline parameter functions for DLLCall.
  52.  
  53. Return Value
  54.  
  55. Object returns an OLE Object.
  56.  
  57. Parameter
  58.  
  59. <Value>: OLE Object    The value to be converted and passed as a parameter
  60.  
  61. Note
  62.  
  63.   This command is not available for use on a Linux operating system.
  64.   
  65. Object
  66.  
  67. Syntax
  68.  
  69. (ObjectVariable: variable; [ObjectType: string]; [Options: enumeration]
  70.  
  71. Description
  72.  
  73. Defines an OLE object variable prefix.
  74.  
  75. After a prefix variable is defined, the prefix is used to identify all object method (command) calls and properties (values). Before methods and properties can be accessed, an object instance must be assigned to this variable by the CreateObject or GetObject commands.
  76.  
  77. Parameters
  78.  
  79. ObjectVariable: variable    Name of the object variable that is used in a macro.
  80.  
  81. ObjectType: string (optional)    OLE object class name for this object. If missing, this is a generic object.
  82.  
  83. Options: enumeration (optional)    Options for defining this object. If missing, no options are used.
  84.  
  85. Default! All non-prefixed commands are assumed to belong to this object.
  86.  
  87. Note
  88.  
  89.   This command is not available for use on a Linux operating system.
  90.   
  91. any := ObjectInfo
  92.  
  93. Syntax
  94.  
  95. (ObjectVariable: any; [InfoItem: enumeration])
  96.  
  97. Description
  98.  
  99. Return information about an OLE object.
  100.  
  101. Return Value
  102.  
  103. Specified item. If the variable specified is not an object variable, False is returned.
  104.  
  105. Parameters
  106.  
  107. ObjectVariable: any    Get information about this OLE object.
  108.  
  109. InfoItem: enumeration (optional)    Information item to obtain. If missing, IsObject! is used.
  110.  
  111. IsObject! boolean Return whether the specified variable is an OLE object variable.
  112.  
  113. IsConnected! boolean Return whether the OLE object is connected to the OLE server.
  114.  
  115. ClassName! string Return the class name associated with this OLE object.
  116.  
  117. Note
  118.  
  119.   This command is not available for use on a Linux operating system.
  120.   
  121. string := OemString
  122.  
  123. Syntax
  124.  
  125. (<Value> string)
  126.  
  127. Description
  128.  
  129. Pass a variable address (DLL call in-line parameter and OLE type casting function). See DLLCall and OLE Automation.
  130.  
  131. Parameter
  132.  
  133. <Value> string    Value of the OEM string
  134.  
  135. Note
  136.  
  137.   This command is not available for use on a Linux operating system.
  138.   
  139. OLE Automation
  140.  
  141. PerfectScript can send commands to WordPerfect, Corel Presentations and Corel QuattroPro. Through a Windows standard interface known as OLE Automation, PerfectScript can also send commands to programs such as Microsoft Excel and Microsoft Word. These programs are called OLE Automation servers. PerfectScript is an OLE Automation controller. OLE Automation is not limited to these programs. PerfectScript can send commands and control any OLE Automation server.
  142.  
  143. OLE Automation servers define objects. These object have names that are registered with Windows (refer to a program's documentation for the names of objects they define).
  144.  
  145. OLE objects can have methods and properties. A method is a command or function that performs an action on that object. A property is a value that the object has (like system variables in WordPerfect). This value can be retrieved and set. An example of a method for the "Excel.Application" object is,
  146.  
  147. Worksheets ().Activate
  148.  
  149. A property of the "Excel.Application" object is,
  150.  
  151. ActiveSheet.Name
  152.  
  153. Methods, like product commands, can require parameters, and may or may not return values. Unlike system variables in WordPerfect, properties can be set by placing the property name on the left hand side of an assignment statement. Properties can also take parameters when being retrieved or when being set. This makes the retrieval of a property very similar to a method call.
  154.  
  155. Object Support
  156.  
  157. Support for OLE Automation objects is provided through the following commands:
  158.  
  159. Object
  160.  
  161. CreateObject
  162.  
  163. GetObject
  164.  
  165. With
  166.  
  167. EndWith
  168.  
  169. ObjectInfo
  170.  
  171. Before using an OLE object in PerfectScript, the Object statement must be used. The Object statement is similar to the Application statement for products. This statement defines an object prefix variable that is used to call methods, and to retrieve and set object properties. The name of the object is also specified, and whether this prefix is to be used as the default object for non-prefixed method calls and properties.
  172.  
  173. The object prefix variable specified in the Object statement identifies a variable that will contain an instance handle to the object at run time. As a variable, it can be used in many places where other macro variables can be used, but not all. For example, the macro language operators "+" and "-" cannot be used with object variables, and automatic type conversions are not defined for object variables. Object variables can be assigned to other object variables of the same type, and can be passed as parameters to user defined macro routines.
  174.  
  175. As with other macro variables, object variables exist at run time in a specific macro variable pool. Specify this pool with Declare, Local, Global and Persist statements. If the pool is not specified, it exists in the local variable pool (unless PersistAll is in effect, and then the object variable exists in the persistent variable pool).
  176.  
  177. Before making a call to an object's methods, and before an object's properties can be retrieved or set, an instance handle to a specific object must be obtained through the CreateObject or GetObject statement. These statements return an instance handle to a specific instance of an object. Because many OLE Automation servers support multiple instances of the objects they define, an instance handle to a specific object must be obtained to distinguish instances of the same object. Multiple object variables can be created, and multiple instances can be obtained if the OLE Automation server supports multiple instances.
  178.  
  179. After getting an instance handle, an object variable is said to be connected to the OLE Automation server. Like other variables, the Exists statement can be used on object variables to find out if an object variable exists, and which variable pool it exists in. Even though an object variable exists, it may not be currently connected to the OLE Automation server. This information may be obtained from the ObjectInfo command.
  180.  
  181. When an instance of an OLE object is no longer needed, the connection can be terminated with the Discard statement. Like other variables, OLE object variables are automatically discarded when the macro terminates, or when the user defined routine ends in which the variable is defined. If connected, this automatically disconnects the object from an OLE Automation server.
  182.  
  183. After an object is connected to its OLE Automation server, the methods and properties of that object can be accessed. This is done by prefixing the method or property name with the OLE object prefix variable name and a ".". If the OLE object variable is the default object variable (specified by Default! in the Object statement, or specified in a With statement), the object prefix variable can be omitted. It replaced by two leading periods (".."). Leading periods are necessary to inform the macro compiler that the method name being called is not the name of a user defined macro routine, but the method name (or property) of the current default OLE object.
  184.  
  185. To establish a new default object for a localized block of code, use the With/EndWith compound statement. The object prefix variable is specified in the With statement, and all statements to access methods and properties preceded by ".." until the EndWith statement are assumed to be references to that object.
  186.  
  187. The NewDefault statement can be used to establish a new default object variable prefix for the remainder of the macro (or until the macro encounters another NewDefault statement).
  188.  
  189. PerfectScript Macro Example
  190.  
  191. Object (Doc; "SomeObject.Document")
  192.  
  193. Object (Ss; "SomeOtherObject.SpreadSheet"; Default!)
  194.  
  195. Doc := CreateObject (SomeObject.Document")
  196.  
  197. If (not Exists (Ss))
  198.  
  199. Ss := GetObject ("SomeOtherObject.SpreadSheet")
  200.  
  201. EndIf
  202.  
  203. Ss.RecalculateCells ()
  204.  
  205. ..SelectCell ("A1")
  206.  
  207. Doc.MarginTop := 1.5"
  208.  
  209. With (Doc)
  210.  
  211. Doc.MarginBottom := 2.0"
  212.  
  213. ..MarginLeft := 1.5"
  214.  
  215. ..MarginRight := 0.5"
  216.  
  217. ..Type ("First line")
  218.  
  219. Ss.SelectCell ("A12")
  220.  
  221. With (Ss)
  222.  
  223. ..Copy ()
  224.  
  225. Doc.Paste ()
  226.  
  227. EndWith
  228.  
  229. a := ..MarginLeft
  230.  
  231. Prompt ("The first line has been entered")
  232.  
  233. Pause
  234.  
  235. EndWith
  236.  
  237. Discard (Doc)
  238.  
  239. Quit
  240.  
  241. Inline Parameter Functions
  242.  
  243. The following functions allow the specification of a parameter's specific type and format. They can only be used to pass parameters in calls to OLE automation methods or properties. These functions generate a compile-time error if used outside an OLE automation call. They are similar to the inline parameter functions for DLLCall.
  244.  
  245. The return value from these functions is a value of the specified type.
  246.  
  247. <Value> or <VariableName> is the value or variable to be converted and passed as a parameter.
  248.  
  249. unsigned 1 byte numeric := Byte (<Value>numeric)
  250.  
  251. boolean := Bool (<Value>boolean)
  252.  
  253. boolean := Boolean (<Value>boolean)
  254.  
  255. signed 2 byte numeric := Integer (<Value>numeric)
  256.  
  257. signed 4 byte numeric := Long (<Value>numeric)
  258.  
  259. numeric := Currency (<Value>numeric)
  260.  
  261. numeric := Date (<Value>numeric)
  262.  
  263. 4 byte floating point numeric := Single (<Value>numeric)
  264.  
  265. 8 byte floating point numeric := Double (<Value>numeric)
  266.  
  267. OLEObject := Object (<Value>OLEObject)
  268.  
  269. any := Variant (<Value>any)
  270.  
  271. ansi string := String (<Value>string)
  272.  
  273. ansi string := AnsiString (<Value>string)
  274.  
  275. ansi string := OEMString (<Value>string)
  276.  
  277. ansi string := WPString (<Value>string)
  278.  
  279. unsigned 2 byte numeric := Word (<Value>numeric)
  280.  
  281. unsigned 4 byte numeric := DWord (<Value>numeric)
  282.  
  283. variable := Address (<VariableName>variable)
  284.  
  285. variable := &<VariableName>variable
  286.  
  287. Note
  288.  
  289.   This command is not available for use on a Linux operating system.
  290.   
  291. label := OnCancel
  292.  
  293. Example
  294.  
  295. Syntax
  296.  
  297. ([Label: label])
  298.  
  299. Description
  300.  
  301. Specify a Label or routine (function or procedure) to execute when a Cancel condition occurs.
  302.  
  303. A macro with more than one OnCancel executes the last OnCancel before a Cancel condition occurs. A Cancel condition stops a macro unless preceded by OnCancel.
  304.  
  305. Return Value
  306.  
  307. The previous Label set to execute by the OnCancel command. If there is no label, "" is returned.
  308.  
  309. Parameter
  310.  
  311. Label: label (optional)    A Label to execute when a Cancel condition occurs. If a label is not specified, the macro halts when a Cancel condition occurs. For example: OnCancel().
  312.  
  313. label := OnCancel Call
  314.  
  315. Example
  316.  
  317. Syntax
  318.  
  319. ([Label: label])
  320.  
  321. Description
  322.  
  323. Specify a Label-Return statement or routine (function or procedure) to execute when a Cancel condition occurs.
  324.  
  325. Return directs macro execution to the first statement after the Cancel condition.
  326.  
  327. A macro with more than one OnCancel Call executes the last OnCancel Call before a Cancel condition occurs. A Cancel condition stops a macro unless preceded by OnCancel Call.
  328.  
  329. Return Value
  330.  
  331. The previous Label set to execute by the OnCancel Call command. If there is no label, "" is returned.
  332.  
  333. Parameter
  334.  
  335. Label: label (optional)    A Label to call when a Cancel condition occurs.
  336.  
  337. label := OnCondition
  338.  
  339. Syntax
  340.  
  341. (Conditon: enumeration or numeric; [Label: label])
  342.  
  343. Description
  344.  
  345. Specify a Label or routine (function or procedure) to execute when a Cancel, Error, NotFound, or user-defined condition occurs.
  346.  
  347. A macro with more than one OnCondition executes the last Condition command before a Cancel, Error, NotFound, or user-defined condition occurs. One of these conditions stops a macro unless preceded by OnCondition.
  348.  
  349. A user-defined condition number must be greater than or equal to 100. It is expressed as UserDefinedCondition! + numeric, or as a numeric. For example, UserDefinedCondition! + 1 is equal to the numeric value 101. Use Assert to cause the user-defined condition.
  350.  
  351. Return Value
  352.  
  353. The previous Label set to execute by the OnCondition command. If there is no label, "" is returned.
  354.  
  355. Parameters
  356.  
  357. Condition: enumeration or numeric    Associate a condition with label. Use one of the enumerations below, or any numeric value greater than or equal to 100 (user-defined condition). See Note above.
  358.  
  359. CancelCondition!
  360.  
  361. ErrorCondition!
  362.  
  363. NotFoundCondition!
  364.  
  365. ExitCondition! Equivalent to OnExit(label).
  366.  
  367. VarErrChkCondition! Lets you specify the label to jump to or call if an undefined variable is accessed.
  368.  
  369. UserDefinedCondition! Adds 100 to a user-defined condition value (see Note above). For example, OnCondition (UserDefinedCondtion! + 1; Label101), sends macro execution to a label named Label101 on Assert (101).
  370.  
  371. Label: label (optional)    A Label to execute when the specified condition occurs. If a Label is not specified, the macro halts on the associated condition. For example: label := OnCondition (CancelCondition!).
  372.  
  373. label := OnCondition Call
  374.  
  375. Syntax
  376.  
  377. (Conditon: enumeration or numeric; [Label: label])
  378.  
  379. Description
  380.  
  381. Specify a Label-Return statement or routine (function or procedure) to execute when a specified condition occurs. See Condition.
  382.  
  383. Return directs macro execution to the first statement after the specified condition.
  384.  
  385. A macro with more than one OnCondition Call executes the last Condition command before a Cancel, Error, NotFound, or user-defined condition occurs. One of these conditions stops a macro unless preceded by OnCondition Call.
  386.  
  387. A user-defined condition number must be greater than or equal to 100. It is expressed as UserDefinedCondition! + numeric, or as a numeric. For example, UserDefinedCondition! + 1 is equal to the numeric value 101. Use Assert to cause the user-defined condition.
  388.  
  389. Return Value
  390.  
  391. The previous Label set to execute by the OnCancel Call command. If there is no label, "" is returned.
  392.  
  393. Parameters
  394.  
  395. Condition: enumeration or numeric    Associate a condition with label. Use one of the enumerations below, or any numeric value greater than or equal to 100 (user-defined condition). See Note above.
  396.  
  397. CancelCondition!
  398.  
  399. ErrorCondition!
  400.  
  401. NotFoundCondition!
  402.  
  403. ExitCondition! Equivalent to OnExit(label).
  404.  
  405. VarErrChkCondition! Lets you specify the label to jump to or call if an undefined variable is accessed.
  406.  
  407. UserDefinedCondition! Adds 100 to a user-defined condition value (see Note above). For example, OnCondition Call (UserDefinedCondtion! + 1; Label101), sends macro execution to a label named Label101 on Assert (101).
  408.  
  409. Label: label (optional)    A Label to execute when the specified condition occurs. If a Label is not specified, the macro halts on the associated condition. For example: label := OnCondition Call (ErrorCondition!).
  410.  
  411. enumeration := OnDDEAdvise Call
  412.  
  413. Syntax
  414.  
  415. (ConversationID: numeric; ItemName: string; Label: label)
  416.  
  417. Description
  418.  
  419. Establish a link with an application and test for changes in the value of the DDERequest ItemName parameter.
  420.  
  421. Return Value
  422.  
  423. One of the following enumerations:
  424.  
  425. Success!
  426.  
  427. AdvActTimeout!
  428.  
  429. Busy!
  430.  
  431. DataAckTimeout!
  432.  
  433. DllNotInitialized!
  434.  
  435. DllUsage!
  436.  
  437. ExeAckTimeout!
  438.  
  439. InvalidParameter!
  440.  
  441. LowMemory!
  442.  
  443. MemoryError!
  444.  
  445. NotProcessed!
  446.  
  447. NoConvEstablished!
  448.  
  449. PokeAckTimeout!
  450.  
  451. PostMsgFailed!
  452.  
  453. Reentrancy!
  454.  
  455. ServerDied!
  456.  
  457. SysError!
  458.  
  459. UnAdvAckTimeout!
  460.  
  461. UnfoundQueueId!
  462.  
  463. Refer to a Microsoft SDK (DdeGetLastError function) for detailed information on each enumeration.
  464.  
  465. Parameters
  466.  
  467. ConversationID: numeric    The value of the DDERequest ConversationID parameter.
  468.  
  469. ItemName: string    The value of the DDERequest ItemName parameter.
  470.  
  471. Label: label    The Label to call when the value of ItemName changes.
  472.  
  473. label := OnError
  474.  
  475. Example
  476.  
  477. Syntax
  478.  
  479. ([Label: label])
  480.  
  481. Description
  482.  
  483. Specify a Label or routine (function or procedure) to execute when an Error condition occurs.
  484.  
  485. A macro with more than one OnError statement executes the last OnError before an Error condition occurs. An Error condition stops a macro unless preceded by OnError.
  486.  
  487. Return Value
  488.  
  489. The previous Label set to execute by the OnError command. If there is no label, "" is returned.
  490.  
  491. Parameter
  492.  
  493. Label: label (optional)    A Label to execute when an Error condition occurs. If a label is not specified, the macro halts when an Error condition occurs. For example: OnError().
  494.  
  495. label := OnError Call
  496.  
  497. Example
  498.  
  499. Syntax
  500.  
  501. ([Label: label])
  502.  
  503. Description
  504.  
  505. Specify a Label-Return statement or routine (function or procedure) to execute when an Error condition occurs.
  506.  
  507. Return directs macro execution to the first statement after the Error condition.
  508.  
  509. A macro with more than one OnError Call statement executes the last OnError Call before an Error condition occurs. An Error condition stops a macro unless preceded by OnError Call.
  510.  
  511. Return Value
  512.  
  513. The previous Label set to execute by the OnError Call command. If there is no label, "" is returned.
  514.  
  515. Parameter
  516.  
  517. Label: label (optional)    A Label to call when an Error condition occurs.
  518.  
  519. label = OnExit
  520.  
  521.  
  522.  
  523. Syntax
  524.  
  525. ([Label: label])
  526.  
  527. Description
  528.  
  529. Specifies a label or routine (function or procedure) to execute when an Exit condition occurs.
  530.  
  531. A macro calls this label when it encounters one of the following exit conditions: Quit command, Return command from the main body of a macro, all macro statements have been executed (macro ends), Exitcondition! asserted (see Assert).
  532.  
  533. Return Value
  534.  
  535. Previous exit handler label. If one does not exist, an empty string ("") is returned.
  536.  
  537. Parameter
  538.  
  539. Label: label (optional)    Exit handler label. If missing, the exit handler is cleared.
  540.  
  541. label := OnNotFound
  542.  
  543. Example
  544.  
  545. Syntax
  546.  
  547. ([Label: label])
  548.  
  549. Description
  550.  
  551. Specify a Label or routine (function or procedure) to execute when a Not Found condition occurs.
  552.  
  553. A macro with more than one OnNotFound statement executes the last OnNotFound before a Not Found condition occurs. A Not Found condition stops a macro unless preceded by OnNotFound.
  554.  
  555. Return Value
  556.  
  557. The previous Label set to execute by the OnNotFound command. If there is no label, "" is returned.
  558.  
  559. Parameter
  560.  
  561. Label: label (optional)    A Label to execute when a Not Found condition occurs. If a label is not specified, the macro halts when a Not Found condition occurs. For example: OnNotFound().
  562.  
  563. label := OnNotFound Call
  564.  
  565. Example
  566.  
  567. Syntax
  568.  
  569. ([Label: label])
  570.  
  571. Description
  572.  
  573. Specify a Label-Return statement or routine (function or procedure) to call when a Not Found condition occurs.
  574.  
  575. Return directs macro execution to the first statement after the Not Found condition.
  576.  
  577. A macro with more than one OnNotFound Call statement calls the last OnNotFound Call before a Not Found condition occurs. A Not Found condition stops a macro unless preceded by OnNotFound Call.
  578.  
  579. Return Value
  580.  
  581. The previous Label set to execute by the OnNotFound Call command. If there is no label, "" is returned.
  582.  
  583. Parameter
  584.  
  585. Label: label (optional)    A Label to call when a Not Found condition occurs.
  586.  
  587. label: := OnVarErrChk
  588.  
  589. Example
  590.  
  591. Syntax
  592.  
  593. ([Label: label])
  594.  
  595. Description
  596.  
  597. Lets you specify a Label or routine to execute when a Cancel condition occurs.
  598.  
  599. Return Value
  600.  
  601. The previous Label set to execute by the OnVarErrChk command. If there is no label, "" is returned.
  602.  
  603. Parameter
  604.  
  605. Label: label (optional)    A label to execute when a Cancel condition occurs. If a label is not specified, the macro halts when a Cancel condition occurs. For example: OnVarErrChk ().
  606.  
  607. label := OnVarErrChk Call
  608.  
  609. Example
  610.  
  611. Syntax
  612.  
  613. ([Label: label])
  614.  
  615. Description
  616.  
  617. Lets you specify a Label or routine to execute when a Cancel condition occurs.
  618.  
  619. Return Value
  620.  
  621. The previous Label set to execute by the OnVarErrChk command. If there is no label, "" is returned.
  622.  
  623. Parameter
  624.  
  625. Label: label (optional)    A label to execute when a Cancel condition occurs. If a label is not specified, the macro halts when a Cancel condition occurs. For example: OnVarErrChk ().
  626.  
  627. numeric := OpenFile
  628.  
  629. Example
  630.  
  631. Syntax
  632.  
  633. (Name: string; [AccessMode: enumeration]; [ShareMode: enumeration]; [DataType: enumeration])
  634.  
  635. Description
  636.  
  637. Open a file for reading and writing text data.
  638.  
  639. Close the file when it is no longer needed, or system resources will be lost. The file is closed automatically when the macro ends. See CloseFile.
  640.  
  641. Return Value
  642.  
  643. The file ID, or a negative number if an error occurs. The following file I/O (input/output) commands require a file ID:
  644.  
  645. CloseFile
  646.  
  647. FileIsEOF
  648.  
  649. FilePosition
  650.  
  651. FileRead
  652.  
  653. FileTruncate
  654.  
  655. FileWrite
  656.  
  657. Parameters
  658.  
  659. Name: string    Include the full path. If the path is not included, the file is searched for in the following directories: the shared PerfectFit directory, current, Windows system, Windows, DOS PATH, network (mapped).
  660.  
  661. AccessMode: enumeration (optional)    Default: Read!
  662.  
  663. Read!
  664.  
  665. ReadWrite!
  666.  
  667. Write! Override existing data if the position marker is not at the end of the file (see FilePosition).
  668.  
  669. WriteNew! Delete existing data and create a new file.
  670.  
  671. Append!
  672.  
  673. Exists! Open and close the file to test if the file exists.
  674.  
  675. If file does not exist: Read! and ReadWrite! cause macro to fail; Write!, WriteNew!, and Append! create a new file.
  676.  
  677. ShareMode: enumeration (optional)    Default: None!
  678.  
  679. None!
  680.  
  681. Compatibility! Allow one or more macros to open a file any number of times.
  682.  
  683. Exclusive! Deny read and write access to more than one macro.
  684.  
  685. DenyNone! Does not deny other macros read and write access.
  686.  
  687. DenyRead! Deny other macros read access.
  688.  
  689. DenyWrite! Deny other macros write access.
  690.  
  691. DataType: enumeration (optional)    Default: AnsiText!
  692.  
  693. AnsiText!
  694.  
  695. OEMText!
  696.  
  697. WPText! Read or write WP character strings. It does not create a WordPerfect document.
  698.  
  699. boolean := boolean OR boolean
  700.  
  701. Description
  702.  
  703. Operator. Precedence level 9. Combine two relationship expressions.
  704.  
  705. Return Value
  706.  
  707. True if at least one expression is true, False if not.
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.