Core Function FileOpenDialog

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "<pre> FileOpenDialog ( <title>, <dir>, <filter>, <options>, <default name> ) </pre> === Description === Initiates a Load File Dialog. === Parameters === ==== title ==== Titl...")
 
m (1 revision)
 
(7 intermediate revisions by 2 users not shown)
Line 19: Line 19:
 
==== filter ====
 
==== filter ====
  
File type filter such as "All (*.*)" or "Text files (*.txt)"
+
File type filter such as "All|*.*" or "Text files|*.txt"
  
 
==== options ====
 
==== options ====
Line 25: Line 25:
 
Optional;
 
Optional;
 
<pre>
 
<pre>
[optional] Dialog Options: To use more than one option, add the required values together.
+
[optional] Dialog Options: To use more than one option, use a + sign to separate them (eg: 1 + 4).
   1 = File Must Exist (if user types a filename)
+
   1 = File Must Exist (if user types a filename) -- Default FALSE
   2 = Path Must Exist (if user types a path)
+
   2 = Path Must Exist (if user types a path) -- Default FALSE
   4 = Allow MultiSelect
+
   4 = Allow MultiSelect -- Default FALSE
   8 = Prompt to Create New File (if does not exist)
+
   8 = Automatically adds an extension to a file name if the user omits the extension -- Default FALSE
16 = Prompt to OverWrite File (see FileSaveDialog)
+
 
</pre>
 
</pre>
  
Line 39: Line 38:
 
=== Return Value ===
 
=== Return Value ===
  
Success: Returns the full path of the file(s) chosen. Results for multiple selections are "Directory|file1|file2|..."
+
Success: Returns all the chosen files as an array.
  
Failure: Returns empty string.  
+
Failure: Returns null if user cancelled.
  
 
=== Remarks ===
 
=== Remarks ===
  
 
Separate the file filters with a semicolon as shown in the example.
 
Separate the file filters with a semicolon as shown in the example.
 
Note: At this time, multiple groups of filters are not supported.
 
  
 
If default name is given, options must also be given. If none of the options are wanted, use 0 for options.
 
If default name is given, options must also be given. If none of the options are wanted, use 0 for options.
Line 56: Line 53:
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
$message = "Hold down Ctrl or Shift to choose multiple files.";
+
$var = FileOpenDialog($message, @WinDir, "Image Files|*.bmp;*.png", 4 + 1 );
 
+
$var = FileOpenDialog($message, @WinDir, "Images (*.jpg;*.bmp)", 1 + 4 );
+
 
+
 
If (!$var)
 
If (!$var)
 
{
 
{
Line 66: Line 61:
 
Else
 
Else
 
{
 
{
     $var = Replace($var, "|", @CRLF);
+
    foreach($var as $i)
 +
    {
 +
        println("Item '$i'");
 +
    }
 +
     $var = Join($var, @CRLF);
 
     MsgBox("You chose $var");
 
     MsgBox("You chose $var");
 
}
 
}

Latest revision as of 12:38, 14 June 2015

FileOpenDialog ( <title>, <dir>, <filter>, <options>, <default name> )

Contents

Description

Initiates a Load File Dialog.

Parameters

title

Title text of the Dialog GUI.

dir

Initial directory selected in the GUI file tree.

filter

File type filter such as "All|*.*" or "Text files|*.txt"

options

Optional;

[optional] Dialog Options: To use more than one option, use a + sign to separate them (eg: 1 + 4).
  1 = File Must Exist (if user types a filename) -- Default FALSE
  2 = Path Must Exist (if user types a path) -- Default FALSE
  4 = Allow MultiSelect -- Default FALSE
  8 = Automatically adds an extension to a file name if the user omits the extension -- Default FALSE

default name

Optional; File name to suggest to the user to save the file with.

Return Value

Success: Returns all the chosen files as an array.

Failure: Returns null if user cancelled.

Remarks

Separate the file filters with a semicolon as shown in the example.

If default name is given, options must also be given. If none of the options are wanted, use 0 for options.

Special Windows folders (such as "My Documents") can be sometimes be set as the init dir.

Example

$var = FileOpenDialog($message, @WinDir, "Image Files|*.bmp;*.png", 4 + 1 );
 
If (!$var)
{
    MsgBox("No File(s) chosen");
}
Else
{
    foreach($var as $i)
    {
        println("Item '$i'");
    }
    $var = Join($var, @CRLF);
    MsgBox("You chose $var");
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox