VS:GetFileN: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
(remove since doens't display)
m (fix chars)
 
(4 intermediate revisions by the same user not shown)
Line 47: Line 47:
<remark>
<remark>


([[User:Orso.b.schmid|Orso]] 2017.01.22): Prompts for selection of a file of type "mask", assigns found path to var "fileName". Mask is case sensitive, returns path with slashes on Mac.
([[User:CBM-c-|_c_]] 2017.01.22): Prompts for selection of a file of type "mask". The parameter "defaultFolder", if not empty, must be a posix path (with slashes). A HFS path (with colons) to the default folders can be obtained with [[VS:GetFolderPath]], you will need to use [[VS:ConvertHSF2PosixPath]] for converting it into posix for older Vectorworks versions. Assigns the found path to var "fileName". Mask is case sensitive. The returned path is posix.
* mask := '*.vwx'; allows selection of files of type .vwx  
* mask = 'vwx' allows selection of files of type .vwx  
* mask := '****'; allows selection of any kind of files  
* mask = ′′ allows selection of any kind of files  
* mask = 'vwx;txt' allows range of selection (from Pat Stanford on the VS list)




Line 70: Line 71:
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
<sample>
<sample>
==== VectorScript ====
<code lang="pas">
<code lang="pas">
PROCEDURE Example;
PROCEDURE Example;
VAR
VAR
fileName, title :STRING;  
    fileName, title : STRING;  
defaultFolder :STRING;  
    defaultFolder : STRING;  
mask :STRING;  
    mask : STRING;  
BEGIN
BEGIN
title := 'Select the object library file...';
    title := 'Select the object library file...';
defaultFolder := '';
    defaultFolder := '';
mask := '*.vwx';
    mask := 'vwx';
fileName := 'Drafting Tools.vwx';
    pathName := 'Drafting Tools.vwx';
 
    IF GetFileN(title, defaultFolder, mask, pathName) THEN
        AlrtDialog(pathName);
END;
RUN(Example);
</code>
 
 
==== Python ====
 
<code lang="py">
title = 'Select the object library file...'
defaultFolder = ''
mask = 'vwx'


IF GetFileN(title, defaultFolder, mask, fileName) THEN
boo, pathName = vs.GetFileN(title, defaultFolder, mask)
AlrtDialog(fileName);
if boo:
END;
    vs.AlrtDialog(pathName)
RUN(Example);</code>
</code>
</sample>
</sample>



Latest revision as of 04:18, 25 April 2022

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

Description

Returns the fully-qualified pathname of the selected file.

FUNCTION GetFileN(
title :STRING;
defaultFolder :STRING;
mask :STRING;
VAR fileName :STRING) : BOOLEAN;
def vs.GetFileN(title, defaultFolder, mask):
    return (BOOLEAN, fileName)

Parameters

title STRING
defaultFolder STRING
mask STRING
fileName STRING

Remarks

(_c_ 2017.01.22): Prompts for selection of a file of type "mask". The parameter "defaultFolder", if not empty, must be a posix path (with slashes). A HFS path (with colons) to the default folders can be obtained with VS:GetFolderPath, you will need to use VS:ConvertHSF2PosixPath for converting it into posix for older Vectorworks versions. Assigns the found path to var "fileName". Mask is case sensitive. The returned path is posix.

  • mask = 'vwx' allows selection of files of type .vwx
  • mask = ′′ allows selection of any kind of files
  • mask = 'vwx;txt' allows range of selection (from Pat Stanford on the VS list)


The GetFileN uses the SDK interface IFileChooserDialog

VCOM:Working with File/Folder Choose Dialogs

the ‘mask’ parameter goes as input to fileChooser->SetDefaultExtension(mask);

VCOM:VectorWorks:Filing:IFileChooserDialog::SetDefaultExtension

(MaKro, 2016.10.18):

Mask format change in VW2016 on a Windows 7 machine
Python mask example: '*.txt' if VW-Version < 2016 else 'txt'

Example

VectorScript

PROCEDURE Example;
VAR
    fileName, title : STRING; 
    defaultFolder : STRING; 
    mask : STRING; 
	
BEGIN
    title := 'Select the object library file...';
    defaultFolder := '';
    mask := 'vwx';
    pathName := 'Drafting Tools.vwx';

    IF GetFileN(title, defaultFolder, mask, pathName) THEN 
        AlrtDialog(pathName);
END;
RUN(Example);


Python

title = 'Select the object library file...'
defaultFolder = ''
mask = 'vwx'

boo, pathName = vs.GetFileN(title, defaultFolder, mask)
if boo:
    vs.AlrtDialog(pathName)

Version

Availability: from Vectorworks 2014