JCL_file_GetFromResourcesFolder

フォルダ名とファイル名を与えると、リソースフォルダ内のファイルの中身が返ってくる。

使い方:
$blob:=JCL_file_GetFromResourcesFolder($inFolder; $inFile; $inEncoding)

引数1($1): フォルダ名
引数2($2): ファイル名
引数3($3): エンコーディング テキストファイルの文字エンコーディングを指定。
戻り値($0): ブロブデータ テキストファイルの内容

ソース

  //JCL_file_GetFromResourcesFolder
  //20180122 wat
  //リソースフォルダの 所定のフォルダから 所定のファイルを 所定のエンコードで取得

C_TEXT($1;$inFolder)
$inFolder:=$1
C_TEXT($2;$inFileName)
$inFileName:=$2
C_TEXT($3;$inEncode)
$inEncode:=$3
C_TEXT($fileText;$0)
$fileText:=""
C_TEXT($folderPath;$filePath)
C_BLOB($blob)

$folderPath:=JCL_file_MakeFilePath (Get 4D folder(Current resources folder);$inFolder)
$filePath:=JCL_file_MakeFilePath ($folderPath;$inFileName)

  //ファイルの内容を読み込んで エンコード
DOCUMENT TO BLOB($filePath;$blob)
$fileText:=Convert to text($blob;$inEncode)

$0:=$fileText

【注意】
このコードではフォルダ階層が2個以上またはリソースフォルダにフォルダなしで置いたファイルに対応できてない。別のJCL4Dコマンド「JCL_file_MakeFilePath」が必要。エンコーディングは外部で指定するので、ここでConvertする必要もないかも。