オブジェクトでパス要素を使用する

Deeplからの自動翻訳

4Dは、ファイルやフォルダのパスを簡単に管理できる2つの新しいコマンドで、開発者の生活をより快適なものにします。貴重な時間を節約する Path to objectこのコマンドは、1行のコードで、拡張子、ファイル名、親フォルダを抽出します。そして、異なるオブジェクトの属性を変更し、再結合して、新しいパスを構成することができます。 Object to path.

パスの要素を抽出する

を使えば Path to objectを使えば、パスはオブジェクトの属性として返されるいくつかの部分に簡単に分割することができます。

  • 親フォルダ
  • 名称
  • 拡張子
  • フォルダかどうか

// Split a path written with system delimiter
$pathSys:=Pathto object("C:╱D╱resources╱4D.jpg")
//$pathSys.parentFolder="C:╱D╱resources╱4D"×So_2571↩
resources
//$pathSys.name="4D"
//$pathSys.extension=".jpg"
//$pathSys.isFolder=False

このコマンドは、システムパスとPOSIXパスの両方をサポートしていることに注意してください。また、path入力パラメータの最後の文字から、フォルダを渡したかファイルを渡したかを判断することができます。

パスの構築

これで、パスの 要素を 変更して 再構築する簡単な方法ができました。 Object to pathコマンドで再構築できます。簡単ですね。

//
$path:="c:\tmp⇄file.txt"
$o:=Pathto object($path)
// 文書名を変更
$o.name:=$o.name+"_copy"
// 文書をコピーする

COPY DOCUMENT($path;object to path($o))

また、パスを要求するあらゆる4Dコマンドで、返されたオブジェクトを使うことができます。

$o:=Pathto object("C:⇄Resources⇄images⇄.jpg")
$doc:=Selectdocument($o.name+$o.extension;$o.extension; "Save as";ファイル名入力)

Path to objectObject to path コマンドは、非推奨コマンドである_o_Document type_o_SET DOCUMENT TYPE の呼び出しを置き換えるために使用されるようになりました。

パフォーマンスの向上

4D v16 R6では、ファイルやフォルダの操作にmacOSの最新のシステムAPIをフルに活用しています。私たちは、数千のファイルを持つフォルダに対して、フォルダの内容の一覧表示、ファイルのプロパティのチェック、小さなファイルの読み取りやコピーなど、様々な操作を行うベンチマークテストを実施しました。

その結果、実行時間は一般的に6倍、指定した場所に存在するファイルをリストアップする場合は最大30倍も高速化されることが判明しました。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。