VS:Append: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
m (1 revision)
 
m (1 revision)
(No difference)

Revision as of 14:25, 12 August 2013

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Procedure Append opens the specified file for writing and appends the data to the end of the file. Existing data in the file is NOT overwritten.

If the filename includes a fully qualified path, the path has to use the appropriate notation for the local operating system:

<dir>Macintosh HD:Applications:VectorWorks:Plug-Ins:Data:Notes.txt</dir> <dir>C:Program FilesVectorWorksPlug-InsDataNotes.txt</dir> If the filename includes a path relative to the location of the VectorWorks executable, the subfolder delimiters have to be backslashes:

<dir>Plug-InsDataNotes.txt</dir> If the filename does not include a path, the file is assumed to exist in the same folder as the VectorWorks executable.

PROCEDURE Append(
fileName :STRING);
def vs.Append(fileName):
    return None

Parameters

fileName STRING Name of file to open for writing.

Example

VectorScript

PROCEDURE Example;
VAR
  fileName :STRING; 
  major, minor, maintenance, platform :INTEGER;
BEGIN
  GetVersion(major, minor, maintenance, platform);
  IF platform = 1 THEN BEGIN
    fileName := 'Macintosh HD:Example.txt';
  END ELSE BEGIN
    fileName := 'C:\Example.txt';
  END;
  Append(fileName);
  WriteLn('example text');
  Close(fileName);
END;
RUN(Example);


Writing binary data:

Write of ARRAY OF INTEGER with write two bytes per INTEGER. So, 10 bytes will be written for 'arr'.
This code will produce file with the following bytes(hex): 01 02 FF FE 00 00 00 00 00 00
  arr : ARRAY [1..5] OF INTEGER;
	
  FUNCTION MixBytes(b1, b2: INTEGER) : INTEGER;
  BEGIN
    MixBytes := b1 + b2 * 256;
  END;
BEGIN
  arr[1] := MixBytes( 1, 2 );
  arr[2] := MixBytes( 255, 254 );
  Write(arr);

Python

def Example():
	major, minor, maintenance, platform = vs.GetVersion()
	if platform == 1:
		fileName = 'Macintosh HD:Example.txt'
	else:
		fileName := 'D:\\Example.txt'
	vs.Append(fileName)
	vs.WriteLn('example text')
	vs.Close(fileName)
Example()

Version

Availability: from All Versions