Webフォルダを相対パスで設定する
日付 | 2011/07/01 |
---|---|
ID | 76351 (英語原文参照) |
バージョン | v12 |
プラットフォーム | Mac/Win |
Webフォルダは, SET HTML ROOTコマンドで設定できますが, このコマンドには絶対パスを渡す必要があります。データベースフォルダを起点とした相対パスでWebフォルダを設定したい場合, Get 4D folderでデータベースフォルダのパスを取得し, Folder separator定数などと組み合わせて相対パスを絶対パスに変換する下記のようなメソッドを用意すると便利です。
C_TEXT($1;$name_t) C_LONGINT($2;$levelUp_l) C_TEXT($path4D_t;$pathWeb_t;$char_t) C_LONGINT($i;$length_l;$found_l) $name_t:=$1 $levelUp_l:=$2 //get path to the structure file $path4D_t:=Get 4D folder(Database Folder) $length_l:=Length($path4D_t) $found_l:=0 $pathWeb_t:="" //the 4D Path ends with a folder separator, so our search needs to increase by 1 $levelUp_l:=$levelUp_l+1 //iterate through each character of the path For ($i;$length_l;1;-1) $char_t:=$path4D_t≤$i≥ //check for the folder separator character If ($char_t=Folder separator) $found_l:=$found_l+1 If ($found_l=$levelUp_l) //we are at the correct position that we want //now build the new path $pathWeb_t:=Substring($path4D_t;1;$length_l-($length_l-$i)) $pathWeb_t:=$pathWeb_t+$name_t+Folder separator $i:=1 //stop the loop End if End if End for //use the new path as the root folder SET HTML ROOT($pathWeb_t)