製品

複数コレクションの同期ソート

4D には、オブジェクトのコレクションを扱うための強力な機能があります。

たとえば、都市とそれに関連する国や大陸のコレクションを作成することができます。このようなコレクションを、.sort()、.order()、.filter() のようなビルトイン関数で操作するのは簡単です。

4D v20 R3 では、並べ替え処理を簡素化するために、新しい multiSort() 関数が導入されました。この関数を使うことで、複数コレクションの同期ソートが可能です

製品 blank

改良された .distinct() 関数

データ要素のユニークなリストを取得することは、データ操作において常に役に立ちます。各値の出現回数を取得することが不可欠な場合もあります。CollectionEntitySelection クラスの distinct 関数を使うと、ユニーク値のリストを取得できます。4D v20 では、各ユニーク値の出現回数の取得も可能になりました。

それだけではありません!

データベースでオブジェクトを使用して、ユーザーが入力したカスタムデータを保存することができます。これに対応するため、コード側では、このオブジェクトが持つパスのすべてを把握したいところです。 EntitySelection クラスに追加された distinctPaths 関数で、これが可能になりました。

これらの新しい関数について、くわしく紹介していきます。

製品 blank

コレクションとコールバックコマンドにおけるフォーミュラの使用

コレクションのメンバー関数がコールバックを必要とする場合に、もっとわかりやすい方法はないかとのご要望を多数いただきました。

この度、このご要望に応えることができました!

4D v19 R6 より、コレクションのメンバー関数に定義するコールバックのほか、EXECUTE METHOD IN SUBFORMCALL FORM および CALL WORKER コマンドにもフォーミュラが受け渡せるようになりました。もし、コードを簡単な式に減らすことができれば、メソッドを使用せずに直接受け渡すこともできます。

製品 blank

フォームオブジェクトでコレクションとリストを使用する

Deeplからの自動翻訳

4D プログラミングでは、コレクションを使用することが多くなっています。4D v19からは、Form機能を含め、いくつかのインターフェースオブジェクトのコンテンツを定義するために、これらを使用することができます。これは、一般的なインターフェイスの管理に非常に便利です。

また、リストの使用方法にも改良を加えました。詳しく見ていきましょう!

製品 blank

ORDA新4Dタグで簡単ループ

Deeplからの自動翻訳

ORDAのエンティティセレクションやコレクションを扱う際に、For each…End for eachループを使用したことがあるかと思います。その使い方は簡単でわかりやすいものです。 SHTMLページで4Dタグとして使用したいですか?あるいは、PROCESS 4D TAGSコマンドで使用したいですか?

4D v19で、それが可能になりました。もっと詳しく知るために、読み進めてください。

製品 blank

4D View Proでコレクションを使用して書き込みと読み取りを行う。

Deeplからの自動翻訳

何百もの異なる値や数式を読み書きする必要がある場合、コレクションを使用することで、より速く、より簡単に、同時に行うことができます。このために、新しいコマンドが用意されています。 VP SET VALUES, VP Get values, VP SET FORMULASVP Get formulas.

ヒント blank

コードで複数のメソッドのプロパティを一度に変更する

Deeplからの自動翻訳

複数のメソッドのプロパティを、それぞれのメソッドのプロパティダイアログを開かずに変更したい場合があるかと思います。

例えば、すべてのメソッドを「プリエンプティブモードで実行可能」な状態に設定してから、データベースをコンパイルしたいとします。コンパイルエラーで、プリエンプティブに変更するメソッドの概要がわかるわけです。

コマンドを使用して METHOD GET NAMESコマンドを使用してデータベースからメソッドのリストを取得し、次に METHOD SET ATTRIBUTESコマンドを使って属性を変更することで、すべてのメソッドを同時に変更することができます。