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を参照してください。