オブジェクト記法が開発者の生活をいかに簡素化するかをご覧ください。
4D v16 R4でプレビューとして利用できるオブジェクト記法を使えば、あなたのコードはよりシンプルになり、読みやすく、より自然な思考ができるようになります。 それは事実です。しかし、あなたは、本当にオブジェクト記法の可能性を完全に理解したのでしょうか?
4D v16 R4以前は、オブジェクトフィールドから連絡先を入力する詳細フォームを作りたい場合 、変数データソースにOB GET ([CONTACT]Info; “City”) のような式を書くしかなかったのです。属性値を取得することはできても、それを変更することはできない。 しかも、属性ごとにOB GET コマンドでloadRecordメソッドを書き、属性ごとにOB SET コマンドでsaveRecordメソッドを書かなければならなかった。
このシナリオでは、オブジェクトの表記はどのように変わるのでしょうか?4D v16 R4から、変数データソースに[CONTACT]Info.Cityと書くだけです!この変数は、Read/Writeで使用できます。 この変数は、Read/Write モードで使用できます。OB GET とOB SET コマンドは、もはや必要ありません。 以上です。これで、全貌が見えてきましたね。
4D Write Proはテーブルに対応しています
あなたの願いがついに叶いました。4D Write Pro のドキュメントに、プログラミングで表を挿入したり、塗りつぶしたりできるようになったのです。これは、バータブを模倣した表ではなく、「本物の」表です。テキストが定義した列のサイズに合うように自動的に折り返され、データが変更されても「壊れる」ことのない表です。
この機能は、従来の4Dライトの機能セットを超える最初の大きな改良点です。数行のコードで、表を含む請求書を完全にプログラミングで作成し、思い通りのスタイルにすることができるようになりました。もう1つのシナリオは、アプリケーションのUIで、あらかじめ定義された行数、列のサイズを持つテーブルを挿入するボタンをユーザーに提供し、ユーザーが自分でコンテンツを編集し、スタイルを設定できるようにすることができるようになったことです。
コーディングのもう一つの方法: オブジェクト記法
オブジェクトは素晴らしい、誰もがそう言います。その素晴らしい柔軟性に加え、信じられないほどの速さです。何百万ものレコードをほんの一瞬で検索することができるのです。4D v16 では、オブジェクト属性による並べ替えや、Sum や Average のような計算も可能です。
4D v16 R4 では、オブジェクト記法 のサポートにより、4Dランゲージが大幅に強化され、オブジェクトをより快適に使用できるようになりました。高速で、フレキシブルで、効率的、そしてエレガントです。
オブジェクト記法に備える
Object Notation を使ってコーディングを始めようと思っていませんか?確かに、Object Notation は開発者としてのあなたの人生をより快適にしてくれるでしょう。しかし、既存のアプリケーションに適用する前に、コードの準備が整っていることを確認する必要があります。
新しいObject Notation の シンタックスでは、4D 言語が以下の 3 つの文字を予約記号と見なすため、いくつかの制約があります。” .”, ” [ ” and” ] ” (すなわち、ドット、開き括弧、閉じ括弧)。
その結果、データベースでオブジェクト表記を有効にすると、変数名、メソッド名、テーブル名、フィールド名でこれらの記号を使用することができなくなります。もちろん、既存のコードにも同じことが言えます。
ですから、この機能を有効にする前に、あなたのアプリケーションにこれらの記号が含まれていないことを確認することが重要です。しかし、MSCがそれを行ってくれますので、ご心配なく!
4D Write Proのために独自のコンテクストメニューを作成する
4Dは、あなたのビジネスアプリケーションに完全に適合するように、 4D Write Pro のユーザーインターフェイスをカスタマイズする新しい可能性を提供します。デフォルトの4D Write Pro コンテキストメニューを使用する代わりに、4D開発者は、提供したい アクションの正確なリストを含む独自のコンテキストメニューを作成することができます。
スタイルドテキストエリアの標準アクションの追加
Styledテキストエリア用の ツールバーを素早く作成 したい。テキストのフォントを変更したり、4Dエクスプレッションを計算したり、フリーズさせたり、一行もコードを書かずに行いたい。スタイル付きテキストエリア用の新しい標準アクションを使えば、それが可能です。
各ボタンオブジェクトに標準アクションを関連付けるだけで、4D がすべてを自動的に処理します:アクションのトリガーはもちろん、現在のコンテキストでアクションが利用できない場合は、ボタンのアクティブ化または非アクティブ化も処理します。
macOS Sierraでウィンドウをタブに統合する
macOS Sierraのおかげで、アプリケーションは、マルチウィンドウの代わりに タブウィンドウを使用する機会を得ました。4D v16 R3から、4D Developer Edition 64-bitは、このAppleのデザイン環境の新機能を活用することができます。
タブ化できるウィンドウの種類は、メソッドとフォームエディタです。エクスプローラーやツールなど、他のウィンドウは別のままです。
タブウィンドウをベースとした他のアプリケーションと同様に
- 各タブは、タブバーからタブをドラッグすることで、新しいウィンドウに移動することができます。
- 各タブは、既存のウィンドウに移動することができます。
デザイン内検索」ダイアログの結果のエクスポート
デザイン環境内のすべてのオブジェクトを検索すると、4Dは結果を階層リストに表示します。4D v16 R3からは 、 これらの結果をテキストファイルとしてエクスポートし、例えばスプレッドシートを使って開くことができますので、リファクタリング作業を簡単に派遣したり、結果をドキュメントに保存して後で作業をすることができます。
新規オブジェクト:オブジェクトを初期化する簡単な方法
New object, は、オブジェクトを初期化するための 4D の新しいコマンドです。このコマンドは、空のオブジェクトを作成するか、いくつかの初期プロパティと値を持つオブジェクトを作成することができます。OB SET は、いくつかの状況で不要になりつつあり、New object で十分です。
New object また、 や コマンドのように、オブジェクトをパラメータとして要求する 4D コマンドに直接渡すこともできます。Get database measures GRAPH
この新しいコマンドは、多くの状況で 4D コードの書き方を変えます。New object はオブジェクトを作成し、それへの参照を返します。これにより、コードの柔軟性が高まります。 このコマンドは、オブジェクトに関連する一連の新機能の最初のものです …ご期待ください。
4D Write Proのインターフェイスを自分で作成する
メニューバーを作成し、各エリアを管理することができます。 4D Write Pro エリアを管理するためのメニューバーをすばやく作成したいですか?エンドユーザーのために、独自のコンテクストメニューを作成したいですか?ドキュメントの背景を変更するためにカラーモザイクを作成したいですか?この機能は、そんなあなたのために作られました。しかも、一行もコードを書く必要がありません。
4D Write Pro の領域を処理するための標準アクションを追加しました。これらは、設計段階やプログラミングで定義することができます。80以上のアクションが用意されており、その一部を紹介します。フォントスタイル(太字、斜体、下線)、フォントカラー、背景色、テキスト配置(左、中央、右、両端…)、ボーダー(スタイル、カラー、幅、半径…)、スペルチェッカーアクション…。
インターフェイスオブジェクトに割り当てられると、標準的なアクションは、コンテキストに応じて自動的にオブジェクトの有効化/無効化を処理することに注意してください。簡単ですね。