Folder
Folder
オブジェクトは Folder
コマンドによって作成されます。 これらのオブジェクトには、(実在しているか否かに関わらず) フォルダーへの参照が格納されます。 たとえば、新規フォルダーを作成するために Folder
コマンドを実行した場合、有効な Folder
オブジェクトが作成されますが、folder.create()
関数を呼び出すまで、ディスク上にはなにも保存されていません。
例題
"JohnSmith" フォルダーを作成します:
Form.curfolder:=Folder(fk database folder)
Form.curfolder:=Folder("C:\\Users\\JohnSmith\\";fk platform path)
パス名
Folder
オブジェクトは、filesystems
や posix
シンタックスを含む、いくつかのパス名をサポートしています。 使用できるパス名についての詳細は パス名 ページを参照ください。
Folder オブジェクト
Folder
履歴
リリース | 内容 |
---|---|
19 R8 | fk home folder をサポート |
17 R5 | 追加 |
Folder ( path : Text { ; pathType : Integer }{ ; * } ) : 4D.Folder
Folder ( folderConstant : Integer { ; * } ) : 4D.Folder
引数 | 型 | 説明 | |
---|---|---|---|
path | Text | -> | フォルダーパス |
folderConstant | Integer | -> | 4Dフォルダー定数 |
pathType | Integer | -> | fk posix path (デフォルト) または fk platform path |
- | -> | ホストデータベースのフォルダーを返すには * を渡します | |
戻り値 | 4D.Folder | <- | 新規フォルダーオブジェクト |
説明
Folder
コマンドは、4D.Folder
型の新しいオブジェクトを作成して返します。 このコマンドは 2種類のシンタックスを受け入れます。
Folder ( path { ; pathType } { ; * } )
path には、フォルダーパス文字列を渡します。 カスタムの文字列または ファイルシステム (例: "/DATA") を渡すことができます。
Folder
コマンドでは絶対パス名のみがサポートされます。
デフォルトで、4D は POSIXシンタックスで表現されたパスを期待します。 プラットフォームパス名 (Windows または macOS) を使用する場合、pathType 引数を使用してそのことを宣言する必要があります。 以下の定数を使用することができます:
定数 | 値 | 説明 |
---|---|---|
fk platform path | 1 | プラットフォーム特有のシンタックスで表現されたパス (プラットフォームパス名の場合には必須) |
fk posix path | 0 | POSIXシンタックスで表現されたパス (デフォルト) |
Folder ( folderConstant { ; * } )
folderConstant には、以下の定数のどれか一つを指定して 4Dビルトインの、またはシステムフォルダーを渡します:
定数 | 値 | 説明 |
---|---|---|
fk applications folder | 116 | |
fk data folder | 9 | 関連づけられたファイルシステム: "/DATA" |
fk database folder | 4 | 関連づけられたファイルシステム: "/PACKAGE" |
fk desktop folder | 115 | |
fk documents folder | 117 | ユーザーのドキュメントフォルダー |
fk home folder | 118 | ユーザーのカレントホームフォルダー (通常は /Users/<username>/ ) |
fk licenses folder | 1 | マシンの 4Dライセンスファイルを格納しているフォルダー |
fk logs folder | 7 | 関連づけられたファイルシステム: "/LOGS" |
fk mobileApps folder | 10 | |
fk remote database folder | 3 | それぞれの 4Dリモートマシン上に作成された 4Dデータベースフォルダー |
fk resources folder | 6 | 関連づけられたファイルシステム: "/RESOURCES" |
fk system folder | 100 | |
fk user preferences folder | 0 | ユーザー環境設定ファイルを保存している、ユーザーホームフォルダー内の 4Dフォルダー |
fk web root folder | 8 | データベースのカレントの Webルートフォルダー: ただし "/PACKAGE/path" のパッケー ジ内にある場合。そうでない場合はフルパス。 |
コマンドがコンポーネントから呼び出されている場合、*
引数を渡してホストデータベースのパスを取得するようにします。 * 引数を省略すると、常に null オブジェクトが返されます。
Windows の場合、統合されたクライアントでは、
ShareLocalResourcesOnWindowsClient
BuildApp キー を使用すると、ビルトインフォルダーの場所が変更されます。
4D.Folder.new()
履歴
リリース | 内容 |
---|---|
18 R6 | 追加 |
4D.Folder.new ( path : Text { ; pathType : Integer }{ ; * } ) : 4D.Folder
4D.Folder.new ( folderConstant : Integer { ; * } ) : 4D.Folder
説明
4D.Folder.new()
関数は、4D.Folder
型の新しいオブジェクトを作成して返します。 この関数の機能は、Folder
コマンドと同一です。
4D.Folder.new()
よりも、短いFolder
コマンドの使用が推奨されます。
.copyTo()
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.copyTo( destinationFolder : 4D.Folder { ; newName : Text } { ; overwrite : Integer } ) : 4D.Folder
引数 | 型 | 説明 | |
---|---|---|---|
destinationFolder | 4D.Folder | -> | 宛先フォルダー |
newName | Text | -> | コピー先フォルダーの名前 |
overwrite | Integer | -> | 既存要素を上書きするには fk overwrite を渡します |
戻り値 | 4D.Folder | <- | コピーされたフォルダー |
説明
.copyTo()
関数は、Folder
オブジェクトを、destinationFolder 引数で指定したフォルダーへとコピーします。
destinationFolder 引数が指定するフォルダーはディスク上に存在している必要があり 、そうでない場合にはエラーが生成されます。
デフォルトで、フォルダーは元の名前を維持したままコピーされます。 コピーの際にフォルダー名を変更したい場合、新しい名前を newName に渡します。 新しい名前は命名規則に則っている必要があります (例: ":", "/", 等の文字を含んでいない、など)。そうでない場合、エラーが返されます。
destinationFolder 引数が指定するフォルダー内に同じ名前のフォルダーが既に存在する場合、4D はデフォルトでエラーを生成します。 overwrite に fk overwrite
定数を渡すことで、既存のフォルダーを無視して上書きすることができます:
定数 | 値 | 説明 |
---|---|---|
fk overwrite | 4 | 既存要素があれば、それを上書きします |
戻り値
コピーされた Folder
オブジェクト。
例題
ユーザーのドキュメントフォルダーにあるピクチャーフォルダーを、データベースフォルダー内にコピーします。
var $userImages; $copiedImages : 4D.Folder
$userImages:=Folder(fk documents folder).folder("Pictures")
$copiedImages:=$userImages.copyTo(Folder(fk database folder);fk overwrite)
.create()
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.create() : Boolean
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Boolean | <- | フォルダーが正常に作成された場合には true、それ以外の場合は false |
説明
.create()
関数は、
Folder
オブジェクトのプロパティに基づいてディスク上にフォルダーを作成します。
必要であれば、 関数は platformPath あるいは path プロパティの詳細に基づいてフォルダー階層を作成します。 フォルダーがディスク上にすでに存在する場合、関数は何もせず、false を返します (エラーは返されません)。
戻り値
- フォルダーが正常に作成された場合には true
- すでに同じ名前のフォルダーが存在する、あるいはエラーが発生した場合には false
例題 1
データベースフォルダー内に空のフォルダーを作成します:
var $created : Boolean
$created:=Folder("/PACKAGE/SpecialPrefs").create()
例題 2
データベースフォルダー内に "/Archives2019/January/" フォルダーを作成します:
$newFolder:=Folder("/PACKAGE/Archives2019/January")
If($newFolder.create())
ALERT($newFolder.name+" フォルダーが作成されました。")
Else
ALERT($newFolder.name+" フォルダーは作成できませんでした。")
End if
.createAlias()
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.createAlias( destinationFolder : 4D.Folder ; aliasName : Text { ; aliasType : Integer } ) : 4D.File
引数 | 型 | 説明 | |
---|---|---|---|
destinationFolder | 4D.Folder | -> | エイリアスまたはショートカットの作成先フォルダー |
aliasName | Text | -> | エイリアスまたはショートカットの名称 |
aliasType | Integer | -> | エイリアスリンクのタイプ |
戻り値 | 4D.File | <- | エイリアスまたはショートカットのフォルダー参照 |
説明
.createAlias()
関数は、destinationFolder オブジェクトで指定されたフォルダー内に、aliasName が指定する名称で、対象フォルダーへのエイリアス (macOS) またはショートカット (Windows) を作成します。
aliasName には、作成するエイリアスまたはショートカットの名前を渡します。
macOS 上では、この関数はデフォルトで標準エイリアスを作成します。 aliasType 引数を渡すことで、シンボリックリンクを作成することもできます。 以下の定数を使用することができます:
定数 | 値 | 説明 |
---|---|---|
fk alias link | 0 | エイリアスリンク (デフォルト) |
fk symbolic link | 1 | シンボリックリンク (macOSのみ) |
Windows 上では、常にショートカット (.lnk ファイル) が作成されます (aliasType 引数は無視されます)。
返されるオブジェクト
isAlias
プロパティが true に設定された 4D.File
オブジェクトを返します。
例題
データベースフォルダー内のアーカイブフォルダーへのエイリアスを作成します:
$myFolder:=Folder("C:\\Documents\\Archives\\2019\\January";fk platform path)
$aliasFile:=$myFolder.createAlias(Folder("/PACKAGE");"Jan2019")
.creationDate
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.creationDate : Date
説明
.creationDate
プロパティは、フォルダーの作成日を返します。
このプロパティは 読み取り専用 です。
.creationTime
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.creationTime : Time
説明
.creationTime
プロパティは、フォルダーの作成時刻を返します (00:00 からの経過秒数の形式)。
このプロパティは 読み取り専用 です。
.delete()
履歴
リリース | 内容 |
---|---|
17 R5 | 追加 |
.delete( { option : Integer } )
引数 | 型 | 説明 | |
---|---|---|---|
option | Integer | -> | フォルダー削除のオプション |