4D v14.3

Get 4D folder

ホーム

 
4D v14.3
Get 4D folder

Get 4D folder 


 

Get 4D folder ( {folder}{;}{*} ) -> 戻り値 
引数   説明
folder  倍長整数 in フォルダタイプ (省略時 = Active 4D folder)
演算子 in ホストデータベースのフォルダを返す
戻り値  文字 in 指定したフォルダのパス名

説明   

Get 4D folderコマンドは、カレントアプリケーションのアクティブな4Dフォルダー、またはfolder引数で指定された4D環境フォルダーへのパス名を返します。このコマンドを使用して、4Dアプリケーションで使用されるフォルダーの実際のパス名を取得できます。このコマンドを使用すれば、記述したコードがローカライズされたどのシステムのプラットフォームでも動作することが保障されます。

folderには4D Environmentテーマの次のいずれかの定数を渡します:

定数
4D Client database folder 倍長整数 3
Active 4D Folder 倍長整数 0
Current resources folder 倍長整数 6
Database folder 倍長整数 4
Database folder Unix syntax 倍長整数 5
Extras folder 倍長整数 2
HTML Root folder 倍長整数 8
Licenses folder 倍長整数 1
Logs folder 倍長整数 7

各フォルダーについて以下で説明します:

フォルダー名に関する予備的な説明:

  • {Disk} はシステムがインストールされたディスクを示します。
  • Userという単語は、セッションを開いたユーザーの名前を示します。

4D環境は以下の情報を保存するために4Dフォルダーを使用します:

  • 4D環境アプリケーション、ツール、およびユティリティプログラムが使用する環境設定ファイル
  • Shortcuts.xml ファイル (カスタマイズされたキーボードショートカット)
  • Macros v2 フォルダー (メソッドエディターで使用するマクロコマンド)
  • Favorites v11、Favorites v12およびFavorites v13フォルダー (開いたローカルおよびリモートデータベースのパス名)

デフォルトで4Dフォルダーは以下の場所に作成されます:

  • Windows 7以上: {Disk}:\Users\Current user\AppData\Roaming\4D
  • OS X: {Disk}:Users:Current user:Library:Application Support:4D

マシンのライセンスファイルを含むフォルダーです。

Licensesフォルダーは以下の場所に作成されます:

  • Windows 7以上: {Disk}:\ProgramData\4D\Licenses
  • OS X: {Disk}:Library:Application Support:4D:Licenses

注:

  • 4D Volume Desktopとマージされたアプリケーションの場合、Licensesフォルダーはアプリケーションのパッケージに含まれます。
  • 権限が足りないためLicensesフォルダーがシステムに作成できない場合、フォルダーは以下の場所に作成されます:
    - Windows 7以上: {Disk}:\Users\Current user\AppData\Roaming\4D\Licenses
    - OS X : {Disk}:Users:Current user:Library:Application Support:4D:Licenses

クライアントマシン毎にダウンロードされる、カスタマイズされたコンテンツを格納するフォルダー。

互換性に関する注意: 4D v11 SQLのバージョン11.2より、サーバとリモートマシン間でカスタマイズされたファイルの交換を行うためのExtrasフォルダーの利用は推奨されなくなりました。この目的ではResourcesフォルダーの利用を推奨します (以下の Current Resources Folderの説明参照)。Extras フォルダーは既存のアプリケーションの互換性を保つために、4D Serverによりサポートされます。

注: データベースにExtrasフォルダーが存在しない場合、Get 4D folderコマンドにExtras Folder定数を渡して実行すると、フォルダーが作成されます。

各4Dクライアントマシンに作成された4Dデータベースフォルダ。リーソス、プラグイン、Resourcesフォルダー等データベースに関連したファイルやフォルダーを格納するためのフォルダです。

4D Client Database Folderはそれぞれのクライアントマシン上の以下の場所に置かれます:

  • Windows 7以上: {Disk}:\Users\Current user\AppData\Local\4D\DatabaseName_Address
  • OS X: {Disk}:Users:User:Library:Caches:4D:DatabaseName_Address

データベースストラクチャファイルを含むフォルダーです。 パス名は、現在のプラットホームの標準のシンタックスを使用して表現されます。
4Dクライアントアプリケーションの場合、この定数は前述の4D Client Database Folder定数とまったく同じです。 コマンドはローカルに作成されたフォルダーのパス名を返します。

データベースストラクチャファイルを含むフォルダーです。 この定数は前述のフォルダーと同じものですが、パス名は/Users/...のようなUNIXシンタックス (POSIX) で表現されます。このシンタックスは主に、Mac OSで LAUNCH EXTERNAL PROCESS コマンドを使用する場合に使用されます。

データベースのリソースフォルダー。このフォルダーにはデータベースのインタフェースで使用される、ピクチャーやテキストなどの追加の項目が置かれます。コンポーネントはそれぞれ独自のResourcesフォルダーを持ちます。Resourcesフォルダーはデータベースストラクチャーと同階層に置かれます。
クライアント/サーバーモードでは、サーバーマシンとクライアントマシン間でピクチャーやファイル、サブフォルダーなどのカスタムデータを交換するために使用できます。このフォルダーのコンテンツはクライアントマシンが接続するたびに自動で更新されます。Resourcesフォルダーに関連付けられたすべての参照メカニズムは、クライアント/サーバーモードでもサポートされます (.lproj フォルダー、XLIFF、ピクチャーなど)。さらに4Dではリソースエクスプローラーなどさまざまなツールを通じ、このフォルダの管理と更新を動的に行えるようになっています。

注: データベースにResourcesフォルダーが存在しない場合、Get 4D folderコマンドにCurrent Resources folder定数を渡して実行すると、フォルダーが作成されます。

データベースのLogsフォルダー。このフォルダーにはカレントデータベースのログが格納されます。フォルダーはストラクチャファイルと同階層に作成され、以下のログが格納されます:

  • データベース変換
  • Webサーバリクエスト
  • データ検証と修復
  • ストラクチャ検証と修復
  • バックアップ/復元処理のジャーナル
  • コマンドデバッグ
  • 4D Serverリクエスト (クライアントマシンとサーバー上で生成)

注: データベースにLogsフォルダーが存在しない場合、Get 4D folderコマンドにLogs Folder定数を渡して実行すると、フォルダーが作成されます。

データベースのカレントHTMLルートフォルダー。返されるパス名は、プラットフォームの標準シンタックスで表現されます。HTMLルートフォルダーは、リクエストされたページやファイルを4D Webサーバが探すフォルダーです。デフォルトで、このフォルダーの名前はWebFolderで、ストラクチャーファイルと同階層 (またはリモートモードの4Dの場合、そのローカルコピー) に置かれます。この場所はデータベース設定のWeb/設定ページ、またはWEB SET ROOT FOLDERコマンドで動的に変更できます。
Get 4D folderコマンドがリモートの4Dが呼ばれた場合、返されるパスはリモートマシンのものです。4D Serverのものではありません。

オプションの * 引数は、コンポーネントを使用するアーキテクチャにおいて有用です。ホストデータベースとコンポーネント、どちらのフォルダーのパス名を取得するか指定するために使用します。この引数はDatabase FolderDatabase FolderUnix SyntaxCurrent Resources folderのみで使用できます。他の場合、この引数は無視されます。
このコマンドがコンポーネントから呼び出されると:

  • * 引数が渡されていれば、コマンドはホストデータベースのフォルダーパス名を返します。
  • * 引数が渡されていなければ、コマンドはコンポーネントのフォルダーパス名を返します。

返されるデータベースフォルダー (Database FolderDatabase Folder Unix Syntax) はコンポーネントのアーキテクチャにより異なります:
- .4dbase フォルダー/パッケージの場合、コマンドは.4dbase フォルダー/パッケージのパス名を返します。
- .4dbまたは.4dcファイルの場合、コマンドは“Components”フォルダーのパス名を返します。
- エイリアスやショートカットの場合、コマンドはオリジナルのマトリクスデータベースが格納されているフォルダーのパス名を返します。結果は、先に説明したと おり、このデータベースのフォーマット (.4dbase フォルダー/パッケージ、または.4db/.4dcファイル) により異なります。
コマンドがホストデータベースから呼ばれた場合、* 引数が渡されているかどうかにかかわらず、コマンドは常にホストデータベースのフォルダーのパス名を返します。

シングルユーザの4Dで、起動時に、4Dフォルダにある設定ファイルを読み込み (または作成) したいとします。これを行うために、に以下のように記述できます:

 MAP FILE TYPES("PREF";"PRF";"Preferences file")
  ` PREF Mac OSファイルタイプと.PRF Windowsファイル拡張子をマップ
 $vsPrefDocName:=Get 4D folder+"MyPrefs" ` 環境設定ファイルへのパス名
  ` ファイルが存在するかチェック
 If(Test path name($vsPrefDocName+(".PRF"*Num(On Windows)))#Is a document)
    $vtPrefDocRef:=Create document($vsPrefDocName;"PREF") ` なければ作成
 Else
    $vtPrefDocRef:=Open document($vsPrefDocName;"PREF") ` あれば開く
 End if
 If(OK=1)
  ` ドキュメントの中身を処理
    CLOSE DOCUMENT($vtPrefDocRef)
 Else
  ` エラー処理
 End if

以下の例は、Mac OS上でDatabase Folder Unix Syntax定数を使用し、データベースフォルダの内容を取り出します:

 $posixpath:="\""+Get 4D folder(Database folder Unix syntax)+"\""
 $myfolder:="ls -l "+$posixpath
 $in:=""
 $out:=""
 $err:=""
 LAUNCH EXTERNAL PROCESS($myfolder;$in;$out;$err)

Note: Mac OSでは、スペースがファイルやフォルダ名に含まれる場合、パス名をクォートで括らなければなりません。文字列にクォートを挿入するために、エスケープ文字"\"を使用できます。あるいはChar(Double quote)を使用することもできます。

folder 引数が無効または返されたパス名が空の場合、OKシステム変数は0に設定されます。

 
プロパティ 

プロダクト: 4D
テーマ: 4D環境
番号: 485

このコマンドはOKシステム変数を更新しますリモートモードでは動作が異なります。

 
履歴 

変更: 4D v11 SQL Release 2
変更: 4D v13

 
参照 

COMPONENT LIST
System folder
Temporary folder
Test path name
WEB SET ROOT FOLDER

 
タグ 

Folder

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)

Inherited from : Get 4D folder ( 4D v11 SQL Release 6)
Parent of : Get 4D folder ( 4D v13.5)