Template:FileIO: Difference between revisions

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

Latest revision as of 18:17, 25 August 2017

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()