| 4D v18Get 4D folder | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 Get 4D folder 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get 4D folder {( folder {; *} )} -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| folder | 倍長整数 |   | フォルダータイプ (省略時 = Active 4D folder) | |||||
| * | 演算子 |   | ホストデータベースのフォルダーを返す | |||||
| 戻り値 | 文字 |   | 指定したフォルダーのパス名 | |||||
Get 4D folderコマンドは、カレントアプリケーションのアクティブな4Dフォルダー、またはfolder引数で指定された4D環境フォルダーへのパス名を返します。このコマンドを使用して、4Dアプリケーションで使用されるフォルダーの実際のパス名を取得できます。このコマンドを使用すれば、記述したコードがローカライズされたどのシステムのプラットフォームでも動作することが保障されます。
folderには4D Environmentテーマの次のいずれかの定数を渡します:
| 定数 | 型 | 値 | 
| 4D Client database folder | 倍長整数 | 3 | 
| Active 4D Folder | 倍長整数 | 0 | 
| Current resources folder | 倍長整数 | 6 | 
| Data folder | 倍長整数 | 9 | 
| Database folder | 倍長整数 | 4 | 
| Database folder Unix syntax | 倍長整数 | 5 | 
| HTML Root folder | 倍長整数 | 8 | 
| Licenses folder | 倍長整数 | 1 | 
| Logs folder | 倍長整数 | 7 | 
| MobileApps folder | 倍長整数 | 10 | 
各フォルダーについて以下で説明します:
フォルダー名に関する予備的な説明: 
 
4D環境は、以下の情報を保存するために特定のフォルダーを使用します:
アクティブな4Dフォルダーは、デフォルトでは以下の場所に作成されます:
マシンのライセンスファイルを含むフォルダーです。
Licensesフォルダーは以下の場所に作成されます:
注:
カレントのデータファイルを含んでいるフォルダへのパスです。パス名はカレントのプラットフォームでの標準のシンタックスを使用して表現されます。
各4Dクライアントマシンに作成された4Dデータベースフォルダ。リーソス、プラグイン、Resourcesフォルダー等データベースに関連したファイルやフォルダーを格納するためのフォルダです。
4D Client Database Folderはそれぞれのクライアントマシン上の以下の場所に置かれます:
注: 同じマシン上でクライアントアプリの別のインスタンスが起動した場合、key の値はインクリメントされます。また4D データベースのローカルのフォルダは複製されます。
データベースストラクチャファイルを含むフォルダーです。 パス名は、現在のプラットホームの標準のシンタックスを使用して表現されます。
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フォルダーで、データファイルと同じ階層にあります。カレントデータベースの次のログがこのフォルダーに格納されます:
注:
データベースのカレントHTMLルートフォルダー。返されるパス名は、プラットフォームの標準シンタックスで表現されます。HTMLルートフォルダーは、リクエストされたページやファイルを4D Webサーバが探すフォルダーです。デフォルトで、このフォルダーの名前はWebFolderで、ストラクチャーファイルと同階層 (またはリモートモードの4Dの場合、そのローカルコピー) に置かれます。この場所はデータベース設定のWeb/設定ページ、またはWEB SET ROOT FOLDERコマンドで動的に変更できます。
Get 4D folderコマンドがリモートの4Dが呼ばれた場合、返されるパスはリモートマシンのものです。4D Serverのものではありません。
オプションの * 引数は、コンポーネントを使用するアーキテクチャにおいて有用です。ホストデータベースとコンポーネント、どちらのフォルダーのパス名を取得するか指定するために使用します。この引数はDatabase Folder、Database Folder、Unix Syntax、Current Resources folderのみで使用できます。他の場合、この引数は無視されます。
このコマンドがコンポーネントから呼び出されると:
返されるデータベースフォルダー (Database FolderとDatabase Folder Unix Syntax) はコンポーネントのアーキテクチャにより異なります:
- .4dbase フォルダー/パッケージの場合、コマンドは.4dbase フォルダー/パッケージのパス名を返します。
- .4dbまたは.4dcファイルの場合、コマンドは“Components”フォルダーのパス名を返します。
- エイリアスやショートカットの場合、コマンドはオリジナルのマトリクスデータベースが格納されているフォルダーのパス名を返します。結果は、先に説明したと おり、このデータベースのフォーマット (.4dbase フォルダー/パッケージ、または.4db/.4dcファイル) により異なります。
コマンドがホストデータベースから呼ばれた場合、* 引数が渡されているかどうかにかかわらず、コマンドは常にホストデータベースのフォルダーのパス名を返します。
モバイルアプリユーザーセッション(4D for iOS アプリのためのセッション)を参照するために4D アプリケーションによって使用される、全ての既存のセッションファイル(.json ファイル)を格納しているフォルダ。セッションファイルはアプリケーションサブフォルダごとにグループ分けされており、自動的に作成されます。詳細な情報については、4D for iOS のドキュメントを参照してください。
フォルダはカレントの4D データファイルと同じ階層に位置しています。
シングルユーザの4Dで、起動時に、4Dフォルダにある設定ファイルを読み込み (または作成) したいとします。これを行うために、On Startupデータベースメソッド, に以下のように記述できます:
 $vsPrefDocName:=Get 4D folder+"MyPrefs.prf" //Build pathname to the Preferences file
  // ファイルが存在するかチェック
 If(Test path name($vsPrefDocName)#Is a document)
    $vtPrefDocRef:=Create document($vsPrefDocName.prf) // 存在しなければ作成
 Else
    $vtPrefDocRef:=Open document($vsPrefDocName.prf) // 存在すれば開く
 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に設定されます。
									COMPONENT LIST
									
									System folder
									
									Temporary folder
									
									Test path name
									
									WEB SET ROOT FOLDER
									
	プロダクト: 4D
	テーマ: 4D環境
	番号: 
        485
        
        
        
	
	変更: 4D v11 SQL Release 2
	変更: 4D v13
	変更: 4D v16
	変更: 4D v17 R2
Folder
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加