version 11 (Modified)
Select folder ({message}{; }{defaultPath}) 文字列
| 引数 | 型 | 説明 | |
| message | 文字列 | ウィンドウのタイトル | |
| defaultPath | 文字列 | 倍長整数 | デフォルトのパス名、 | |
| または、デフォルトのユーザフォルダを表示する空の文字列 | |||
| (Windowsでは"My documents"、 | |||
| Mac OSでは"Documents")、 | |||
| または記憶されたパス名の番号 | |||
| 戻り値 | 文字列 | 選択されたフォルダへのアクセスパス |
説明
Select folderコマンドは、フォルダを選択するダイアログボックスを表示し、フォルダへの完全なアクセスパスを検索します。オプションの引数defaultPathを使用して、フォルダの場所を指定します。そのフォルダは最初にフォルダ選択ダイアログボックスに表示されます。
Note: このコマンドは、4Dのカレントフォルダを変更しません。
Select folderコマンドはワークステーションのボリュームおよびフォルダ内をナビゲートするための標準のダイアログボックスを表示します。
オプションの引数messageを指定すると、ダイアログボックス内に表示されます。以下の例では "Select a destination folder" を表示しています。
Windows
Mac OS
引数defaultPathを使用して、フォルダ選択ダイアログボックスにあるデフォルトフォルダの場所を表示します。3タイプの値をこの引数に渡します:
・カレントプラットフォームのシンタックスを使用している有効なフォルダのパス名。
・システムのデフォルトユーザフォルダを表示する空の文字列(“”) (“WindowsではMy documents” 、 Mac OSでは“Documents”) 。
・記憶されたパス名の番号 (1から32,000) 。それに結び付いているフォルダを表示します。これは、選択ボタンをクリックすると開いているフォルダのパス名が記憶されることを意味します。つまり、ユーザによって選択されたフォルダを指します。このコマンドの最初の呼び出し時に任意の数字 (例えば5) を渡すと、コマンドはシステムのデフォルトユーザフォルダを表示します(空の文字列を渡すことに対応する) 。ユーザはハードディスク上の複数のフォルダをブラウズし、選択ボタンをクリックすると、パス名が番号5に結び付けられます。次に数値の5を渡してこのコマンドを呼び出すと、記録されたパス名がデフォルトで使用されます。新しい場所が選択されると、5に対応するパスが更新されます。
このメカニズムを利用して、32,000までのパス名を記憶できます。Windowsではセッションの間のみパスが保持ます。Mac OSでは、一つのセッションから次のセッションまで、パスが保持されています。パス名が正しくないと、引数defaultPathは無視されます。
Note: このメカニズムは、Select documentコマンドで使用しているメカニズムと同じです。記憶されたパス名の数は、この二つのコマンド間で共有されます。
ユーザがフォルダを選択してOK ボタン (Windows) またはSelect ボタン (Mac OS) をクリックすると、フォルダへのアクセスパスが返されます。
・Windowsでは、アクセスパスは、次のフォーマットで返されます:
“C:\Folder1\Folder2\SelectedFolder\”
・Mac OSでは、アクセスパスは、次のフォーマットで返されます:
“Hard Disk:Folder1:Folder2:SelectedFolder:”
Note: Mac OSでは、ダイアログボックス内でフォルダの名前を選択しているかどうかで、返ってくるパスは違うものになる場合があります。
4D Server: この関数は、クライアントワークステーションに接続されているボリュームを見ることができるようにするものです。ストアードプロシージャからこの関数を呼び出すことはできません。
ユーザがダイアログボックスを受け入れるとシステム変数OKは1になります。Cancel ボタンをクリックすると、システム変数OKは0になり、関数は空文字を返します。
Note: Windowsでは、ユーザが"ワークステーション" や "ごみ箱" のような何らかの誤った要素を選択すると、ユーザがダイアログボックスを受け入れてもシステム変数OKは0になります。
例題
次の例ではフォルダを選択し、ピクチャライブラリ内のピクチャを保存します。
$PictFolder:=Select folder("Select a folder for your pictures.")
PICTURE LIBRARY LIST (pictRefs;pictNames)
For ($n;1;Size of array(pictNames))
$vRef:=Create document($PictFolder+pictNames{$n};"PICT")
If (OK=1)
GET PICTURE FROM LIBRARY(pictRefs{$n};$vStoredPict)
SAVE PICTURE TO FILE($vRef;$vStoredPict)
CLOSE DOCUMENT($vRef)
End if
End for
参照
CREATE FOLDER, FOLDER LIST, Select document.