ファイルやフォルダを扱うためのオブジェクト表記法

Deeplからの自動翻訳

4D はすでにファイルやフォルダを扱うコマンドを提供していますが、オブジェクト記法のパワーを活用した新しいコマンドはどうでしょうか。

オブジェクトは、多くの 4D 開発者がコードを書く方法を変え、より一般的で、柔軟で、簡単で、高速なものにしました。そして今、この変化の波は、ファイルとフォルダにも及んでいます。このブログでは、ファイルやフォルダの属性を取得するために、オブジェクトを操作することがいかに簡単かを紹介します(複数のコマンドを呼び出して、複数の変数に情報を格納するのではなく)。物事がとても簡単になりますよ

データベースの例

フォルダーの操作

新しい4Dコマンド

新しい Folderコマンドが追加され、定数、POSIX パス、プラットフォーム・パスからフォルダ・オブジェクトを作成できるようになりました。

myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\Archives";Platform path)

新規 Folder オブジェクト

Folder オブジェクトは、プロパティとメソッドを提供し、フォルダーの作成と操作を行うことができます。

以下は、フォルダーのプロパティの例です。

// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.
modificationDate
// Modification time
$time:=myFolder.modificationTime

また、メソッドも用意されています!次のことができます。 create(), moveTo(), rename(), delete()などがあります。

// Move to
myMoveTo:=myFolder.moveTo(destinationFolder)
// Rename
myRename :=myFolder.rename("NewName")
// Delete
myFolder .delete(Delete with contents)
// List of files in myFolder
colFiles:=myFolder.files()

フォルダ・オブジェクトは、ディスク上に既に存在する場合もあれば、存在しない場合もあるフォルダへの参照を含んでいます。たとえば、新しいフォルダを作成するために Folderメソッドを実行し、新しいフォルダを作成すると、有効なフォルダ・オブジェクトが作成されますが create()メソッドを呼び出すまで、実際には何もディスクに保存されません。

newFolder=Folder(fk documents folder).folder("Archives/2019")
$result :=newFolder.exists // return False

newFolder :=newFolder.create()
$result :=newFolder.exists .
// return True

ファイルの取り扱い

新しい4Dコマンド

また Fileコマンドも追加され、定数、POSIXパス、またはプラットフォーム・パスからファイル・オブジェクトを作成できるようになりました。

myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)

新規ファイルオブジェクト

フォルダと同様に、新しいファイルオブジェクトを使うと、ファイルの属性にアクセスしたり、ファイルを操作したりすることができます。

// Name
$name
$time:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date
$date :=myFile.creationDate
// Creation time
:=myFile.creationTime

また、フォルダと同様に、ファイルにもメソッドがあります。 ファイルの内容を書き込んだり読んだり移動したり、削除したりすることができます。

// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .delete()

属性とメソッドの完全なリストについては、doc centerを参照してください。

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。