4D v19の新機能

Deeplからの自動翻訳

このドキュメントは、4D v19で利用可能なすべての新機能を まとめたものです。各機能には、具体的な例を紹介する関連ブログ記事があることに注意してください。これらのブログ記事は、機能のタイトルをクリックすることでアクセスすることができます。

また、blank タグの付いたセクションは、4D v18 R6 と 4D v19 の間にリリースされたすべての新機能に関連しています。

このドキュメントは、7つのセクションに分かれています。

ネイティブシリコンサポート

Appleの画期的な発表(新しいシリコンMac)を受けて、私たちはできるだけ早くシリコンネイティブ版の4Dを提供するために、予定より6ヶ月早く4D v19をリリースしました。目覚ましいパフォーマンスの向上に加え、以下のような新機能を搭載しています。

Silicon Macは、Intel MacやPCのようなx86プロセッサ・アーキテクチャを使用しなくなったため、同じコンパイルされたコードを実行することができません。そのため、Silicon専用のコンパイラを強化する必要がありました(プロジェクトモードでのみ使用可能)。これにより、Intelアーキテクチャ(WindowsとIntel Mac)、Siliconアーキテクチャ(Silicon Mac)、またはその両方のアーキテクチャ用にアプリケーションをコンパイルできるようになりました。

プラグイン

プラグインにも若干の影響があります。プラグインを Intel と Silicon Mac の両方で動作させるには、ユニバーサルバイナリとしてコンパイルする必要があります。また、サードパーティのプラグインを使用する場合は、Siliconネイティブまたはユニバーサルバイナリ版をダウンロードするようにしてください。

もっと時間が必要ですか?

もちろん、4D v19は、Rosettaで動作し続けます。もし、アプリケーションをネイティブで動作させるのに時間が必要であれば、Rosetta上で実行することはいつでも可能です。

プロジェクトモード機能

プロジェクトは、4Dアプリケーションを大きく前進させるアーキテクチャの一種です。プロジェクトは、ソース管理ツールの活用、共同プログラミング、コード共有、モジュール化など、様々な機能を追加します。このマニュアルを執筆している時点で、プロジェクト・アーキテクチャと、ソース管理システムを介してプロジェクト・アプリケーションのソースコードを共有する機能のおかげで、45以上のリポジトリを GitHubに公開しています。これには、HDI、コンポーネント、完全なサンプルアプリケーションが含まれます。

4D v19は、あなたのプログラミング体験を大きく向上させる、全く新しい機能のセットを提供します。

クラス

プロジェクトモードのおかげで、クラスが導入されました。クラスは、プロパティと関数を通して、オブジェクトの動作を定義することができます。クラスが定義されると、このクラスのオブジェクトをコード内の任意の場所でインスタンス化することができます。各オブジェクトは、そのクラスのインスタンスとなります。クラスは、他のクラスを拡張し、その機能を継承することができます。

4D では、2 種類のクラスが利用可能です:ビルトイン 4D クラス(4Dコマンドで返されます)とユーザークラス(csコマンドで返されます)です。

クラスのインスタンスとしてオブジェクトを作成するには、csコマンドとnewメンバ関数を使用します。もう一つ重要な用語として、コンストラクターがあります。コンストラクターは、デフォルトの属性を持つオブジェクトを作成し、インスタンス化するために使用されます。オブジェクトが初期化されるときに自動的に呼び出されます。クラスの作成は、ツールバーの「新規作成」メニュー、または「エクスプローラ」ダイアログから行います。クラスエディタが表示され、クラスのコンストラクタや関数を作成することができます。ドキュメントを読む

クラスの継承

継承では、あるクラスが他のクラス(クラス)の振る舞いを継承することができます。親クラスから子クラスを派生させるには、Class extendsキーワードを使用します。これにより、親クラスのコンストラクタが自動的に呼び出されます (クラス用に特定のコンストラクタを定義していない場合)。また、Superコマンドを使用して、親クラスのコンストラクタを呼び出すこともできます。ドキュメントを読む

メソッドと関数のパラメータの命名

中間変数を経由する必要がなく、宣言時にパラメータや結果に名前を付けることができるようになりました。

  • プロジェクトメソッドを宣言する際に、パラメータや結果に名前を付けることができるようになりました。
  • トリガー
  • データベースメソッド
  • フォームメソッド。
  • クラスのコンストラクタ
  • クラス関数ドキュメントを読む

フォームエディターでの CSS プレビュー

この機能は、私たちの機能要求フォーラムで最も投票数の多い機能要求であり、最も早く上位の投票数になった機能要求です。この機能により、最終的な CSS レンダリングを Form エディタでプレビューすることができます。ツールバーの新しいアイコンにより、CSS レンダリングの有無や、Mac や Windows で特定の CSS レンダリングを行った場合のフォームの見え方を確認することができます。

CSS モードでのプロパティのオーバーライドに関しては、新しいシールドタイプ (Object Method や Entry Order のシールドに似たもの) が Form エディタに表示されます。これで、どのオブジェクトが CSS スタイリングの影響を受けているかを簡単に確認することができます。ドキュメントを読む

サーバーコードの開発

プロジェクトアプリケーションのサーバコードの開発とデバッグが容易になりました。チーム開発モードでは、複数の開発者がシングルユーザーで開発を行い、その変更をバージョン管理システムにコミットすることが一般的です。RELOAD PROJECTコマンドは、git pullなどのコマンドと組み合わせて、テスト用、あるいは本番用に再起動することなく、実行中のサーバーを新しいコードで更新することを可能にします。

4D Developerクライアントが同じコンピュータ上の4Dサーバーに接続する場合、.4DZファイルはサーバーからクライアントに転送されません。4D Remoteは、プロジェクトファイル(メソッド、フォーム、リソースなど)を4Dシングルユーザークライアントと同じように管理します。プロジェクトファイルは、4Dサーバーと4Dリモートで共有されます。このようにして、コードを修正し、その場でテストすることができます。

変更したファイルをサーバーに再読み込みさせたい場合は、開発環境からアプリケーションモードに切り替えてください。4D Server を前面に移動するか、4D Remote の“File / Save all”メニューを選択します(または新しいRELOAD PROJECTコマンドを使用します)。

クライアント側でメソッドを実行すると、自動的に“Save all” アクションが実行され、その結果、サーバ側で変更されたファイルが再ロードされることを忘れないでください ドキュメントを読む

マクロ

フォームエディターでマクロが利用できるようになりました。フォームマクロを使用すると、次のことができます。

  • ボタンの色や幅を変更するなど、1つまたは複数のフォームオブジェクトのプロパティを変更、削除、追加する。
  • 1つまたは複数のフォームオブジェクト(関連するオブジェクトメソッドを含む)を追加または削除する。
  • エディタでのフォームオブジェクトの選択、非選択
  • モーダルダイアログを表示し、その場でパラメータを入力する
  • フォームオブジェクトの理想的な位置を計算し、それらを移動する
  • フォームオブジェクトからCSSクラスを作成し、テンプレートとして使用する
  • フォーム内の画像パスが有効であることを確認する
  • ディスク上のファイルを検索する代わりに、CSSエディタでCSSファイルを開くことができる
  • XLIFFの参照先がXLIFFファイルに対応しているかどうかを確認できます。
  • などなど。

フォームマクロは、コンテクストメニューから利用できます。ホストデータベースマクロが最初に表示され、その後にコンポーネントマクロが表示されます。マクロを実行するには、そのメニュー項目をクリックするだけです。フォームマクロを作成するには、プロジェクトのSourcesフォルダの最初の階層にあるformMacros.jsonファイルでマクロを宣言します。GitHubで公開されているマクロのサンプルを確認してください。あなたのアプリケーションにコンポーネントとして組み込んで、テストすることができます。ドキュメントを読む

メソッドのドキュメント

データベース、トリガー、プロジェクト、テーブルフォームのメソッドについて、独自のドキュメントを作成することができます。ドキュメントは、ドキュメントフォルダ内のメソッドまたはフォームと同じ名前のMarkdownファイルに保存されます。Markdownはドキュメンテーションの標準的なフォーマットで、拡張されたフォーマットスタイルが可能です。このフォーマットは、4DエクスプローラやGitHub、その他のツールで表示することができます。ドキュメントには、要素の説明だけでなく、その要素がデータベースでどのように機能するかを理解するために必要な情報を含めることができます。プロジェクトデータベースにドキュメントファイルを作成・編集するには、エクスプローラから「作成」ボタンをクリックするか、「ドキュメントを編集」メニュー項目を選択します。4Dは、対応するファイルを作成し、プリセットのテンプレートでデフォルトのエディターで開きます。ドキュメントを読む

4Dは、各プラットフォームのガイドラインを尊重した、3つの自動フォントテーマを提供しています。4D v19では、これらの自動テーマのサイズをオーバーライドすることができ、テキストの表示方法をよりコントロールすることができます。ドキュメントを読む

iOS用4D

4D v19で、4D for iOSの機能セットが拡張されました。

オフラインでの作業blank

オフラインで作業し、非常に柔軟な方法で4Dサーバーとインタラクトする機能が追加されました。

ネットワークが利用できないときは、タスクはキューに入れられ、サーバーが利用できるようになるのを待ちます。これは、遅延なく動作するアプリで、非常にスムーズで効率的な作業方法を保証します。ドキュメントを読む

ディープリンク

ディープリンクを使用すると、電子メールなどでURLを共有することができます。URLをクリックすると、4D for iOSアプリの特定のレコードを直接開くことができます。プッシュ通知と組み合わせて、営業マンに新しい見積もりを知らせたり、保険代理店に新しい案件を知らせたりすることができます。シングルクリックで、アプリを直接開き、該当するレコードを表示します。ドキュメントを読む

プッシュ通知

プッシュ通知は、iOSアプリケーションのユーザーを引き付け、情報を提供し続けるための最適な方法です。

iOSデバイスで同期を開始するプッシュ通知を設定することができます。これにより、ユーザーインターフェイスが瞬時に更新され、通知を受け取ったユーザーが確認できるリアルタイムのデータを提供することができます。ドキュメントを読む

新しいパラメータ形式署名とバーコード

アプリをよりインタラクティブにするために、4D for iOSに新しいパラメータフォーマットが追加されました。

  • 署名フォーマット:指先でサインして、アプリからサーバーに直接署名を送信します。これは、例えば、荷物の配送後に顧客のサインを集めるのに便利です。
  • バーコード形式:任意の値をバーコード(EAN13、EAN8、QRコードなど)に関連付け、Actionフォームからスキャンするだけで抽出することができます。これは、例えば、アプリから直接QRコードをスキャンしてアイテムリファレンスを追加するような、非常に便利な方法です。ドキュメントを読む

構造セクションのMany to OneリレーションからOne to Manyリレーションにアクセスし、パブリッシュすることができます。つまり、Many to Manyリレーションを表示できるようになり、これまで以上に人間工学に基づいたiOSアプリを提供できるようになります。これには、フィールドにリレーションをドロップしてインタラクションを追加したり、Oneto Manyリレーションのクリックから対応するレコード番号を表示したりといった機能が追加されています。ドキュメントを読む

バーコードスキャンに対応

バーコードスキャンのサポートにより、検索機能が大幅に強化されました。これにより、現場の状況に適応したアプリを持つことが可能になります(例えば、倉庫の在庫管理のニーズなど)。

より専門的に言えば、この機能でできることは

  • コードの値によってリストフォームをフィルタリングする。バーコードの値と一致するレコードがあれば、そのレコードの詳細フォームが自動的に開く。
  • ディープリンクと組み合わせると、URLスキームまたはユニバーサルリンクの値を持つバーコードをスキャンするだけで、特定のリストと詳細フォームを表示することができます。ドキュメントを読む

QRCodeでサインインblank

4D for iOSは、ログインするための新しいモダンな方法を提供します。SignInWithQRCodeログインフォームテンプレートは、アプリのユーザーがQRCodeをスキャンすることでログインしたり、すでに認証されている場合はアプリに直接アクセスしたりすることを可能にします。ドキュメントを読む

データ同期の最適化

4D for iOSのデータ同期処理が最適化され、データ同期速度が最大25倍向上しました。ドキュメントを読む

メール認証

4D for iOSは、あなたのアプリにログインしようとする人の真偽や正当性を判断することができます。このプロセスにより、ユーザーのセッションステータスが更新され、アプリケーションへのアクセスが可能になります。

  1. ログインフォームで、ユーザーがメールアドレスを入力してログイン ボタンをクリックすると、セッションステータスが「保留」に更新され、そのメールアドレスに検証用リンクが記載されたメールが送信されます。
  2. ユーザーが検証リンクをクリックすると、セッションのステータスが「保留」から「受理」に変更されます。
  3. ユーザーは、アプリを再び開くことができます。セッションのステータスが「accepted」になったため、アクセスが許可されます。

このプロセスを処理し、より簡単にするコンポーネントが用意されているので、認証プロセスを自分のニーズに合わせて変更することができます。ドキュメントを読む

詳細フォームのテンプレートを作る

詳細フォームはスクロール可能なので、詳細フォームのテンプレートに好きなだけフィールドをドロップすることができます。詳細フォームにフィールドを追加するには、さまざまな方法があります。

  • 白紙のテンプレートを選択し、その上にすべてのフィールドをドロップします。
  • フィールドをビューの任意の場所にドラッグ&ドロップして、最後に追加したフィールドの直後に追加して表示したり、フィールドの間にドロップしたりできます。
  • フィールドをダブルクリックすると、リストの末尾に追加されます。
  • 左側の「フィールド」テーブルで利用可能なフィールドのいずれかを右クリックします。メニューが表示されるので、足りないフィールドを詳細フォームに追加することができます。ドキュメントを読む

すぐに使えるテンプレート

プロジェクトエディタには、すぐに使えるテンプレートが40種類以上用意されています。このギャラリーは、GitHub で公開されている最新のテンプレートの動的なリストに基づいています。テンプレートを使用するために、リストと詳細フォームの両方に詳細」アイコンが用意されています。それをクリックすると、フォームセクションからテンプレートの全リストが表示されます。テンプレートを選択すると、4D for iOSがインストールを処理します。その後、あなたのニーズに合わせてアレンジすることができます。ドキュメントを読む

ORDA

4D v19では、ORDAの機能強化が継続されています。利用可能な多様な機能(下記参照)に加えて、ORDAはデータモデルの上に高レベルのクラス関数を作成することを可能にします。これにより、ビジネス指向のコードを書いて複雑さを隠し、エラーを減らし、開発プロセスをスピードアップすることができます。さらに、RESTサーバーで APIと同じようにプロジェクトを公開することもできます。

データモデルを扱うORDAクラス

ORDAの構造(データストア、データクラス、エンティティ、エンティティ選択)は、特定のORDAクラスにリンクされた強型オブジェクトで構成されています。これは、データの物理的な実装の複雑さを隠すような関数を書くことができることを意味します。

4Dでは、以下のものが自動的に作成されます。

  • エンティティクラス。エンティティクラス:エンティティに関連する関数を実装するためのもの(例えば、現在の見積書の送料を計算するため。特定のレコードに割り当てられたコード)。
  • EntitySelectionクラス。エンティティ選択に関連する関数を実装する(例えば、選択されたレコードの統計情報を実行する。選択項目に割り当てられたコード)
  • DataClass クラス。データクラスに関連する関数を実装するためのもの(テーブルに関連するコードを実行するが、特定のレコードや選択範囲には依存しない。例えば、提供されたパラメータに基づいて新しいレコードを作成するために)
  • データストア。データストアに関連する関数の実装(テーブルやレコードに関連しないコードの実行、汎用プロジェクトメソッドのようなもの)。ドキュメントを読む

ORDAデータモデルクラスとREST

ORDAデータモデルに定義されたクラス関数をRESTリクエストで呼び出し、対象となる4Dアプリケーションプロジェクトの公開APIを利用することができます。AngularやReactのようなWebフレームワークのような他のツールのために、コントロールされたAPIでビジネスロジックを公開する(あなたのクラスを通して)。ドキュメントを読む

関数のスコープと実行コンテキスト

デフォルトでは、クライアント/サーバーモードでは、ORDAクラスの関数はサーバー上で実行されます。新しいlocalキーワードを使用すると、一部の関数をクライアント上で実行するように選択することができます。また、新しいexposedキーワードにより、どの関数をRESTクライアント用のAPIとして公開するか(しないか)を選択することができます。ドキュメントを読む

新しい4Dタグによるループblank

新しい4Dタグとして、4DEACHタグが利用可能になりました。これは、PROCESS 4D TAGSコマンドと同様にSHTMLページの4Dタグとして使用でき、PROCESS 4D TAGSやSHTMLでORDAやオブジェクトをよりシンプルに使用できるようになりました。ドキュメントを読む

モデルの更新

スタンドアローンモードで4Dを使用する場合、構造が更新されたときに、最新のデータストアを持つために、データベースを再起動する必要はありません。

クライアント/サーバモードで作業している場合、4Dサーバ上で動作しているコードでは、これは問題ありません。リモートクライアントの場合は、構造体の更新が必要なクライアントを再起動するだけでよいのです。ドキュメントを読む

共有可能なエンティティ選択

時には、エンティティセレクションを他のプロセスと共有したり、すべてのプロセスで利用できるようにしたい場合があります。たとえば、期限切れの請求書をすべて検索し、エンドユーザーがその一部(またはすべて)を選択し、支払いの催促メールを送信するという複雑なクエリを実行する場合を考えてみましょう。メールの送信は、ユーザーをブロックしないように、別のプロセスで行うのがベストです。

他のプロセスに渡す主キーのリストを作成する代わりに、共有エンティティの選択を直接他のプロセスに渡すことができます。共有エンティティセレクションは、ストレージオブジェクトにアタッチして、全プロセスで共有することもできます。

一言で言えば、エンティティセレクションは共有可能か非共有可能かです。

  • 共有可能なエンティティセレクションは、共有オブジェクトまたは共有コレクションに格納でき、複数のプロセスまたはワーカー間で共有することができます。この場合、新しいエンティティを追加することはできません。共有可能なエンティティセレクションにエンティティを追加しようとすると、エラーが発生します。
  • 非共有型エンティティセレクションは、プロセス間で共有したり、共有オブジェクトやコレクションに保存したりすることはできません。共有可能でないエンティティセレクションを共有オブジェクトやコレクションに格納しようとすると、エラーが発生します。ただし、非共有型エンティティセレクションは、新しいエンティティの追加を受け付けます。ドキュメントを読む

エンティティセレクションの新しいメソッド

新しいメンバーメソッドを自由に使用できます。

  • extract(): エンティティセレクションからデータを抽出します。これにより、エンティティ選択データで完全にカスタマイズされたコレクションを構築することができます。抽出するデータクラス属性とその名前は、結果のコレクションで指定できます。
  • refresh() : ORDAキャッシュ内のエンティティセレクションデータを無効にする。これは、次にデータを使用するときにサーバーからの更新をトリガーします。デフォルトでは、ORDAキャッシュは30秒後に失効するので、最新のデータがすぐに必要な場合はこのメンバメソッドを使用します。ドキュメントを読む

4D言語とその他のプログラミング機能

macOSのダークモード対応blank

4Dは、Dark Modeをサポートし、macOSレベルでDark Modeがオンになっていれば自動的に適用されるようになりました。これは始まりに過ぎず、全てのコンポーネント(例:4D Write Proウィジェット)、デザインモードのサポートなど、今後のバージョンでさらにリリースされる予定です。ドキュメントを読む

コードエディタに複数のテーマを追加blank

4Dは、あなたの好みに合わせてリッチ化できる基本的なテーマを提供しています。

  • 「デフォルトライトテーマ” (クラシックカラーエディタに基づく)
  • “デフォルトダークテーマ” (新しい色)

もし、同僚のテーマの色が好きだったり、GitHubなどでより好みのテーマを見つけたら、JSONテーマファイルを追加してインポートすることができます。

  • macOSの場合、”<diskName>/Users/<userName>/Application Support/4D/4DEditorTheme” にあります。
  • Windowsの場合は “<diskName>:\Users/<userName>AppData</Roaming</4D>DEditorTheme” です。ドキュメントを読む
プログラミングによるコンパイルの起動blank

継続的インテグレーションシステムでは、コードが送信されるたびに、または毎時ごとに、ソースコードのコンパイルが自動的に開始されます。この方法だと、コード管理サーバーでマージを確認することができます。4D v19から、新しいCompile Projectコマンドで、コードのコンパイルを開始できるので、このタイプのシステムをセットアップすることができます。ドキュメントを読む

アプリケーションの情報を管理するblank

アプリケーションをビルドするには、BUILD APPLICATIONコマンドに、ビルドされたアプリケーションを設定するためのXMLキーをセットして使用します。ビルドプロセスの後、アプリケーションの会社、著作権、バージョンなどの情報を追加することが可能です。4D v19からは、XML言語やinfo.plistファイルの構造をマスターしなくても、WindowsやmacOSプラットフォームで、それらの情報を読み、追加、変更することができます。

そのために、Fileクラスに2つの新しい関数を追加し、アプリケーション情報の読み書きができるようにしました。

  • .exe (Windows) または .plist (macOS) ファイルに情報を追加するには、設定したい属性を持つオブジェクトをsetAppInfo関数で渡します。
  • .exeまたは.plistファイルから情報を読み取るには、getAppInfoを使用するだけで、すべての属性を1つのオブジェクトで取得できます。ドキュメントを読む

4D Archive Clientの作成を簡素化します。blank

macOS Big Surから、署名されていないアプリケーションは実行できなくなりました。過去には、Windowsサーバー上で動作し、Macクライアントからの接続を受け入れるクライアントサーバーアプリケーションを構築するワークアラウンドをリリースしてきました。4D v19のリリースに伴い、4Dでのアプリケーション構築を更新し、このシナリオに対応できるようにしました。

4Dログフォーマットの進化blank

最近、読みやすさと自動解析への準拠を向上させるために、ログフォーマットを見直しました。私たちは、実際に経験した状況に対応してこれらの改善を行い、4Dログの利用を制限していた問題に直接対処しました。ドキュメントを読む

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

4D v19 からは、Form 関数の使用を含め、いくつかのインターフェイスオブジェクトの内容を定義するために、コレクションを使用することができます。これは、一般的なインターフェイスの管理に非常に便利です。また、リストの使用方法にも改良が加えられています。

リストの使い方が改善されました。
– 階層的なリスト
– タブコントロール(最初の使用例)

以下のオブジェクトで、コレクションを参照として使用できるようになりました。
– ドロップダウン・リスト(ポップアップ・リストとも呼ばれる)
– コンボボックス
– タブコントロール(2つ目の使用例)。ドキュメントを読む

新しい宣言構文

変数を宣言するための新しい構文が利用できるようになりました。これは、var キーワード、変数名、およびその型を使用します。この新しい構文により、変数を宣言する際のオートコンプリートを大幅に強化することができます。同じデータベースで、従来の構文と新しい構文の両方を使用して変数を宣言することができます。ドキュメントを読む

プロトタイプの表示と簡単な説明

エディタでのコード作成を簡素化し、容易にするために、関数のプロトタイプと短い説明がコードエディタに表示されます。

サジェストリストには、インテリジェントなコード補完(短い説明付き)とプロトタイプが表示されるので、より速く、正確にコードを書くことができます。また、関数を書いている間、4Dは関数のプロトタイプと簡単な説明を表示します。また、現在補完しているパラメータをハイライト表示します。ドキュメントを読む

電子メール

OAuth 2.0サポート

OAuth 2.0 は、ユーザーの身元や資格情報を明らかにせずにデータへのアクセスを提供し、ユーザーデータを保護する認証・認可規格です。最近、メールサーバーは、セキュリティを高めるためにこの規格に移行し始めています。Office365やGmailでは、メールを扱うのにOAuth2.0を使うことを推奨しています。

4D v19から、OAuth 2.0をセットアップする方法を提供しています。IMAP、SMTP、POP3トランスポーターは、OAuth 2.0プロトコルをネイティブでサポートするようになりました。ドキュメントを読む

IMAPフラグの管理

IMAP プロトコルでは、追加情報を管理するために、フラグのリストをメッセージに関連付けることができます。IMAPフラグを追加・削除するための関数群をIMAPトランスポーターオブジェクトに追加しました。

IMAP プロトコルでは、5 つのフラグを管理できます。

  • \¦メッセージが読まれました。メッセージは読み込まれました。
  • \¦Answered:メッセージに応答しました。
  • \¦フラグ付き。メッセージに緊急/特別な注意のための “フラグ “が設定されています。
  • \¦消去しました。メッセージに “削除” のマークが付けられました。削除はexpunge()関数が呼ばれたとき、メールボックスを切り替えたとき、または接続を閉じたときに有効に なります。このフラグはdelete()関数で既に付加されています。
  • \Όταμμαメッセージの作成が完了していない(下書きとしてマークされている)。ドキュメントを読む

IMAPによるメールボックスの作成、削除、名前の変更 blank

メールボックスをプログラミングで管理するための関数が用意されています。それには、メールボックスの作成、名前の変更、削除が含まれます。メールボックスは、Microsoft OutlookやApple Mailなどのメールクライアントでは、フォルダーとして表示されます。ドキュメントを読む

特定のメールボックスにメールを保存する

4Dからメールを送信する際、顧客がOutlookやApple Mailで表示される「送信済み」メールボックスにコピーを取得することを期待している場合、送信後にそのコピーを保存することができます。

  1. 2つのトランスポーターを作成します:クライアントにメールを送信するためのSMTPトランスポーターと、メールサーバーにメールをアップロードするためのIMAPトランスポーターです。
  2. SMTPでメールを送信した後、IMAPトランスポーターのappend()関数を使用します。ドキュメントを読む

メールの検索とダウンロード

searchMailsメソッドを使うと、すべての未読メールや過去4週間以内の特定の人からのすべてのメールなどの条件に基づいて、メッセージのリストを取得することができます。このコマンドは、メール ID のコレクションを返すので、新しいgetMailsメソッドで直接使用できます(たとえば、ダウンロードする場合など)。 ドキュメントを読む

メールのコピー、移動、削除

IMAPトランスポーターに、copy()move()delete()の3つの新しい関数が追加されました。ドキュメントを読む

POP3 を使用したメールの受信

新しいPOP3 New transporterコマンドにより、POP3 を介して電子メールをローカルにダウンロードしたり、電子メールサーバーから削除したりすることができます。Post Office Protocol (POP) は、メールサーバーからメールを取得するために使用されるインターネット標準プロトコルです。この規格は、POP3 サーバーへの接続、メッセージの取得による自動処理(ローカルデータベースへの保存)、サーバーからの削除などの動作に便利です。さらに、電子メールの処理を強化するために、いくつかのメソッドが追加されています。

  • getMailInfoList()。メールボックス内のすべてのメッセージに関する情報を返します。
  • getMailInfo()。1つのメッセージに関する情報を返します。
  • getMail()getMailInfoList()で返されたメッセージ番号をパラメータとして渡すことにより、特定のメッセージをダウンロードすることができます。
  • delete():指定されたメッセージを削除するフラグを立てる。セッションの終了時に、指定されたメッセージを削除するようフラグを立てる。
  • getBoxInfo():メールボックス内のメール数およびメールボックスのサイズを返します。ドキュメントを読む

IMAPを使用してメールを受信する

SMTP と POP3 と同様に、新しいIMAP New transporterコマンドは、IMAP プロトコルを扱います。メールボックスの選択とメールのダウンロードを可能にするコマンドを追加しました。ドキュメントを読む

MIMEフォーマットでメールをダウンロード

4D v19では、メールを変換されていない、受信したオリジナルのフォーマットで保存できるようにするコマンドを用意しています。POP3_transporter.getMIMEAsBlob( ) メソッドを使用すると、特定のメッセージのMIMEコンテンツを含むBLOBを取得でき、データベースや他の場所に保存することができます。ドキュメントを読む

4Dアルゴリズムで自分自身のデータを暗号化するblank

4Dは、 データを暗号化するためのシンプルで強力な方法を提供します。また、データの暗号化に使用されているものと同じアルゴリズム(AES-256)を、あなた自身のニーズに応じて使用することができるようになりました。そのため、新しいコマンドのセットで、どんな情報でも暗号化・復号化できるようになりました。データBLOBの暗号化とデータBLOBの復号化。ドキュメントを読む

新しい CryptoKey クラス

新しい CryptoKey クラスは、一般的な暗号化操作(署名と検証、暗号化、復号化など)を実行するためのメソッドのセットを提供します。これは、以下を保証する方法を提供します。

  • 機密性 (不正なアクセスからデータを保護する)
  • 完全性(データが完全かつ正確であることを保証する)。
  • 真正性 (メッセージや送信者/受信者の真正性を検証する)ドキュメントを読む

ウェブ

スケーラブルなウェブセッション

4D Web Serverは、Webアプリケーションのパフォーマンスを大幅に向上させる新しいタイプのWebセッションであるスケーラブルWebセッションをサポートするようになりました。

スケーラブルウェブセッションは、プリエンプティブモードで複数のプロセスを処理することができます。つまり、複数のユーザーエージェントのリクエストを同時に処理することができ、これらのプロセス間でデータを共有することもできます。ドキュメントを読む

クッキーのSameSite属性とSecure属性blank

クッキーは長年にわたって進化してきましたが、いくつかのレガシーな問題を残しています。これを処理し、Cookieのセキュアバイデフォルトモデルを可能にするために、ブラウザ(Safari、Chrome、Firefox、Edgeなど)はSameSite属性とSecure属性に関する挙動を変更しています。そのため、4D v19ではいくつかの機能拡張が行われています。ドキュメントを読む

クロスオリジンリソース共有(CORS)のサポート

CORSプロトコルは、Webページがそれ自身のドメイン以外のドメインにリクエストを行うことを防止します。しかし、データを取得または送信するために、他のサイトがあなたのサーバーにHTTPリクエストを行うことを許可する必要がある場合、今ではそれを介して可能です。

  • プログラミング:WEB SET OPTIONと WEB Server コマンドのおかげです。これらのコマンドは、特定のアクション(GET、POST、HEAD、PUT)を許可するためのドメイン・パラメータを取ります。
  • データベース設定:設定 > ウェブ>オプション (II)ウィンドウで利用可能なオプションのおかげです。ドキュメントを読む

データエクスプローラ(プレビュー)

4D v19は、4D Data Explorerのプレビュー版を提供します。4D開発者と管理者は、Webサーバーのライセンスがなくても、Webブラウザで簡単にアプリケーションデータを探索することができるようになりました。このビデオで製品の動作をご確認ください。

マージされた4Dサーバーのためのカスタマイズされた4Dキャッシュフォルダー

異なる4Dバージョンで構築されたマージサーバーアプリケーションをホストするマシンの場合、共有される4D構造フォルダーに起因する問題が発生する可能性があります。異なる4Dバージョンでビルドされたマージサーバーアプリケーション間でこのシステムフォルダーを共有しないように、新しいbuildAppキーでビルドアプリケーションプロセス中にフォルダー名を定義して、独自の構造フォルダーを設定することができるようになりました。ドキュメントを読む

マージされた4Dクライアントのためのカスタマイズされた4Dキャッシュフォルダ

リモートアプリケーションを複数のサーバーに接続すると、システム内に大きなローカルリソースフォルダーを取得することになり、多くの時間、ボリューム、帯域幅を消費することがあります。新しいbuildAppキーは、すべての同一のサーバー間で、同じローカルリソースフォルダーを共有することを可能にします。ドキュメントを読む

ジャーナル統合の改善

4D Serverを実稼働させる場合、すべてが完全に自動化され、管理者の介入なしに動作する必要があります。これは、自動更新やヘッドレスモードでの運用で特に重要です。停電やクラッシュの後、ジャーナルに小さなエラーがあると、4Dサーバーの自動再起動が停止することがあります。新しいオプションにより、重要でないエラーメッセージを抑制することができ、システムのダウンタイムを減らすことができます。ドキュメントを読む

ユーザー権限の動的な付与

独自のエンドユーザー管理システムとSET USER ALIASコマンドを使用する機能に続いて、エンドユーザーのパーミッションを管理する機能が追加されました。新しいSET GROUP ACCESSコマンドは、グループ・メンバーシップを動的に設定することができます。 ドキュメントを読む

ユーザー・エイリアスをジャーナルに保存する

SET USER ALIASコマンドの動作は、4D v19で拡張され、誰が何をしたのかが分かるようになりました。エイリアスが設定されると、ジャーナルにも保存されるようになりました。これにより、複数のユーザーが同じコンピューターやシステムアカウントを共有している場合でも、正しいユーザーを検索することができます。ユーザー名は、MSCのアクティビティ解析とロールオーバーに表示されます。

  • MSCのアクティビティ分析およびロールバックタブ
  • CHECK LOG FILEコマンドで表示されるダイアログ
  • LOG FILE TO JSONで生成されたJSONファイルドキュメントを読む

遅い操作の監視

サーバーの処理速度を低下させている操作を検出するには、新しいSTART MONITORING ACTIVITY コマンドを使用します。これは、指定された期間を超える操作をメモリに記録します。

このコマンドで設定した仕様に基づき、Get Monitored Activity()コマンドで記録されたすべてのアクティビティを取得することもできます。4Dアプリケーションのアクティビティ記録を停止したり、アクティビティリストを空にする場合は、STOP MONITORING ACTIVITYコマンドを呼び出してください。 ドキュメントを読む

リストボックス

編集したセルのクリックを管理する

クリックされた

フォームイベントは、セルが編集されているかどうかに関係なく発生します。これは、編集中のセルに対して可能な値を表示したい場合、例えばコンテクストメニューを使用すると便利です。行を選択すると、その行やセルに対して色の選択を提供することができます。

互換性を確保するために、on clicked イベントで実行されるコードをすでに持っている場合、編集中のセル内でクリックが発生したときにそのコードの実行を停止させたい場合があります。この場合、あらかじめis editing text関数でセルの状態をテストしておくだけでよい。ドキュメントを読む

タイムズカラムとフッターの計算 blank

コレクションやエンティティ選択を使用する新しいリストボックスは、より多くの可能性を提供しますが、配列やレコードを表示するリストボックスとは異なり、フッターに時間表示や自動計算を行うことは出来ませんでした。

現在では、すべてのタイプのリストボックスで、カラムに時間を表示し、フッターに計算を表示することができます。ドキュメントを読む

タイプ先行の改善

通常、リストボックスは編集モードでのみキーストローク・イベントを受け取ることができます。このため、ユーザーがキーボードや入力不可能なリストボックスを使用しているときに、リストの自動フィルタリングやエントリーの選択を行うことができませんでした。

現在では、リストボックスにフォーカスがあり、セルにデータが入力されていなくてもキーが入力されるとすぐにOn before Keystrokeイベントが生成されます。これにより、4Dはどのキーが押されたかを知ることができ、新しい検索を開始したり、現在の選択範囲を変更するなどの判断を(プログラミングによって)行うことが可能になります。

新しいIs editing textコマンドは、On before keystrokeイベントが発生したときに、進行中の入力があるかどうかを判断するのに役立つように追加されました。例えば、リストボックスを編集可能な状態にし、タイプアヘッド機能をサポートします。On before keystrokeOn after keystrokeイベントは、é、ä、アジア文字などの発音区分符号を選択するためのシステムヘルプダイアログをサポートするようになりました。このイベントは、エンドユーザーが最後の文字を選択するまで遅延されます。このイベントを自分で処理する必要はありません。ドキュメントを読む

プロリストボックスの機能を無償で

これらの高度な機能を使用するために、4D View Proのライセンスはもう必要ありません。リストボックスを最大限に活用することができます。

  • 各行の高さを内容に応じて自動的に調整し、テキストや画像を完全に表示する。
  • オブジェクトの配列を列で使用し、1つのリストボックスの列で様々なタイプの値を入力、表示することができます。

コードによる移動可能な行の設定

デザインモードでは、配列ベースのリストボックスを使用する場合、エンドユーザーが行を移動できるかどうかを定義できます例:行の並べ替えやグループ化など)。LISTBOX SET PROPERTYLISTBOX Get propertyコマンドは、新しいlk movable rowsプロパティをサポートするように更新されました。ドキュメントを読む

リストボックスの行の選択

新しいLISTBOX SELECT ROWS コマンドは、エンティティ選択における行の選択を容易にします。これは、パラメータとして実体選択を取り、実体選択に一致する行を直感的に選択することができます(選択から追加または削除された行を含む)。コレクションリストボックスの場合は、選択したいオブジェクト参照を含むコレクションを渡すことができます。ドキュメントを読む

作業領域をコントロールする

macOSのドックやWindowsのタスクバーなどのグラフィックシステム要素が考慮され、利用可能なワークエリア全体を使用できるようになりました。SCREEN COORDINATESコマンドに新しいオプションパラメータが追加されました。スクリーンワークエリアこれにより、アプリケーションのウィンドウが表示可能な範囲にあることを確認できます(特にWindowsのSDIモードの場合)。ドキュメントを読む

XMLXPathサポートの強化

4D v19から、XPathの実装がより準拠し、 //, @, *, last() のような表現をサポートすることで、検索を簡素化することができます。互換性の理由から、変換後のデータベースでは、以前の非標準の実装がデフォルトで維持されます。変換後のデータベースで拡張機能を利用するには、「 互換性」ページで「標準の XPath互換性を使用する」オプションを選択します。ドキュメントを読む

オブジェクトとコレクションの強化

OB Copy()コマンドとcollection.copy()メンバメソッドが強化されました。これらには、共有オブジェクトやコレクションに標準オブジェクトを追加する機能が追加され、この標準オブジェクトの内容を共有オブジェクトやコレクションにコピーすることがより簡単にできるようになりました。これに加えて、オブジェクトをハッシュマップとして扱うための新しいコマンドが利用できるようになりました。

  • OB Keys: オブジェクトのプロパティ名をコレクションとして返す。
  • OBValues: オブジェクトのプロパティの値をコレクションとして返す。
  • OB Entries: キープロパティ(プロパティ名)と値(プロパティ値)を持つオブジェクトのコレクションを返す。ドキュメントを読む

オフスクリーンウェブエリアの作成

4D v19では、WA Run offscreen areaコマンドでオフスクリーンモードでウェブエリアを使用することができます。これは、メモリ上にWebエリアを作成し、Webエリアに関連するすべての情報をパラメータとして受け取ります(例:以下のような情報)。

  • ロードするURL
  • 領域の名前
  • ウェブ領域によってイベントがスローされたときに呼び出される数式

オフスクリーンのウェブ領域のデバッグを簡単にするために、新しいWA OPEN WEB INSPECTOR コマンドが追加されました。ウェブインスペクタを開き、ページが正しくロードされているか、JavaScript コードがエラーを投げていないかどうかを確認できます。ドキュメントを読む

プログラミングでフォームオブジェクトの値にアクセス

変数や式に関係なく、フォームオブジェクトの値にアクセスするのに役立つ2つの新しいコマンドが利用できます。OBJECT Get valueと OBJECT SET VALUEです。

  • フォーム・オブジェクトの値を取得するには、OBJECT Get valueコマンドを使い、パラメータとしてフォーム・オブジェクトの名前を渡します。
  • フォーム・オブジェクトの値を設定するには、OBJECT SET VALUEコマンドを使い、パラメータとして名前と新しい値を渡します。ドキュメントを読む

文字列比較の改良

4Dには、文字列の検索と比較のための多機能なツールが用意されています。これらのツールは、様々な状況や文脈に適応させることができます。

4D v19では、Positionコマンドにアップデートが行われ、新たにCompare stringsコマンドが追加されました。

  • 位置:このコマンドは、「大文字と小文字を区別する」や「アクセントを区別する」など、より多くの比較能力を持つようになり、次の検索オプションが利用できるようになりました。
    • 日本語(ひらがな/カタガナ)
    • 文字幅
    • “単語全体”
  • 文字列を比較:この新しいコマンドは、Positionコマンドに追加されたものと同じオプションで文字列を比較することができます。このコマンドは、データベースの設定で定義された言語に基づいています。これは、例えば、特定のソートを可能にするのに便利です。ドキュメントを読む

4Dデバッガーの機能強化

4D v19には、新しいオプションと追加情報が含まれており、コードのトレースと解析がより簡単になります。

    • パラメータメソッドや関数の入出力パラメータとその型を知ることは、コードのデバッグに欠かせません。宣言行は、デバッガーウィンドウの左上に表示されます。コールチェーンペインでは、パラメータの型の表示/非表示を選択することができます。
    • コメントメソッドや関数の説明を容易にするために、コードブロックの先頭にコメントを記述することが一般的に行われています。これらのコメントは、デバッガーで表示されるようになりました。ドキュメントを読む

リモートデバッガ

この機能により、サーバー コードをデバッグする場所 (クライアント側またはサーバー側) を決定することができます。クライアントサイドのデバッグは、サーバーをヘッドレスモードまたは Windows サービスとして実行する場合に特に便利です。

デバッガーのアタッチメントを管理するために、2 つの新しいメニュー項目が両サイドに追加されました。

  • デバッガのアタッチ / デタッチ]。クライアントまたはサーバーにデバッガーを即座にアタッチまたはデタッチします。
  • 起動時にデバッガーをアタッチする。クライアントまたはサーバーの起動時にデバッガーをアタッチします。

デバッガは、一度に1つの4Dインスタンスにしかアタッチできないことに注意してください。例えば、デバッガーをクライアントからデタッチせずに、サーバーにアタッチしようとすると、デバッガーのオーナーに関する情報を含むエラーメッセージが表示されます。

デバッガーやエラーウィンドウがサーバーからのものか、クライアントからのものかを区別できるように、これらのウィンドウの外観を変更しました。ドキュメントを読む

4D Write Pro

Word文書を4D Write Pro形式に変換します。blank

.docxドキュメントを4D Write Proにインポートすることができるようになりました。これを行うには、既存のWPインポートドキュメントコマンドで、新しいwk docx定数を使用します。4D Write Proは、4D Write Proでサポートされていないものを除いて、MS Wordドキュメントの内容のほとんどをインポートすることに注意してください(ドキュメントの章で詳しく説明しています。.docx フォーマットのインポートとエクスポート)。 また、インポート処理中に、インポートログが生成され、4Dライトプロ文書自体の中に統合されます。オリジナルと変換されたドキュメントの間に潜在的な違いがあるかどうかを確認するために、このログを参照することができます。ドキュメントを読む

PDFへの直接エクスポート

4D Write Proの文書は、印刷ドライバーや追加のソフトウェアをインストールすることなく、PDFフォーマットへ直接エクスポートすることが可能です。ダイレクト書き出しは、印刷ドライバーよりも速く、信頼性が高いだけでなく、仕上がりをよりコントロールすることができます。ハイパーリンクのサポート、画像サイズの最適化など、さまざまな機能があります。WP EXPORT DOCUMENTコマンドは、新しい定数wk pdfを受け入れるように更新されました。ドキュメントを読む

検索と置換 blank

4D Write Proの文書内のテキストを検索し、置き換えることは、WP Get textや WP Set textなどの基本的なコマンドですでに可能です。新しいWP Find allコマンドは、このプロセスをこれまで以上に高速にします。ドキュメントを読む

すべてのブレークを検索する blank

4D Write Proのドキュメントは、5種類の改行をサポートしています。

  • 改行
  • パラグラフブレーク
  • ページ区切り
  • セクションブレーク
  • 列の改行

時には、ある種の改行を探して別のものに置き換えたり、文書中にあるその改行をすべて削除したりする必要があります。これを可能にするために、私たちは新しい関数を開発しました。WP Get breaksです。ドキュメントを読む

数式:キャリッジリターンの動作を管理

数式内の新しいドキュメントプロパティwk break paragraphsは、キャリッジリターンがどのように扱われるべきかを定義することができます。これは、2つの可能な値を持っています。

  • wk true: 段落の区切りとして解釈されます。
  • wk false: (デフォルト値) 改行として解釈されます。ドキュメントを読む

UIの強化

4D Write Proのインターフェースウィジェットに新しいタブが追加されました。これは、異なるフォーマットのドキュメントをインポート、エクスポートすることができます。また、ツールバーとサイドバーの改善も行いました。今、あなたはすることができます。

  • テキストのインクリメントとデクリメント
  • ルーラーをコピー&ペースト
  • 段落の背景色を変更
  • 単語のスタイルを変更(大文字、小文字など)。ドキュメントを読む

表示するウィジェットページを選択する

4Dは、コレクションで言及されたページのみを、コレクションの順番で表示します。これにより、機能セットを減らして、エンドユーザーにとってよりシンプルなものにすることができます。スタイルオプションだけが必要な場合は、他の機能を表示しない方が良いでしょう。4D Write Proウィジェットでは、新しいWP ShowTabPagesコンポーネントメソッドで、表示するページを選択する機能があります。メソッドを呼び出すときに、ウィジェット名と表示するページのコレクションを渡すだけです。ドキュメントを読む

10進数タブの選択文字

様々なソースからのドキュメントがある場合、数字がニーズに合わせて正しくフォーマットされていないことがあります。4D Write Proでは、この設定を文書ごとに指定することができるようになりました。数字の整列は、次のどちらかを選択できます。

  • ポイント
  • カンマ
  • 最初に見つかったセパレータ(ポイントまたはカンマ)
  • オペレーティングシステムで定義されたセパレータ

MS Wordとの互換性を高めるため、新規作成時にはデフォルトで#3のオプションが使用されます。4D Writeドキュメントを4D Write Proに移行する場合、システムで定義されたセパレータがデフォルトで使用されます。ドキュメントを読む

ソフトハイフンの管理

ソフトハイフンの挿入は、新しい標準アクションと、4D Write Pro インターフェースウィジェットの新しいボタンにより、簡単になりました。

2つの新しい標準アクションが利用可能です。

  • insertSoftHyphen
  • removeSoftHyphens

また、この機能は、4D Write Proインターフェイスウィジェットのツールバーウィジェットとサイドバーウィジェットに追加されました。ドキュメントを読む

テーブルとその要素のための新しい標準アクション

4D v19では、テーブル、行、セルを対象とした新しい標準アクションが4D Write Proに追加されました。これにより、表のボーダータイプ、セルの背景色、行のテキストの垂直方向の配置、文書内の表自体の配置、マージン、パディング、その他40以上のオプションを定義することができます。その結果、4D Write Proのインターフェイスは、表の処理能力の面で強化されました。表、行、列、セルの外観を変更するための4つの新しいボタンが追加されました。ドキュメントを読む

保護属性のサポート

4D v19では、4D Write Proドキュメントの指定された部分(またはすべての部分)を「編集不可」にすることができます。2つのレベルの保護が可能です。まず、ドキュメントのどの部分を保護するかを定義します(デフォルトでは、すべての部分が保護されます)。次に、ドキュメントの保護フラグを有効にし、設定した内容が考慮されるようにします。このために、WP SET ATTRIBUTES コマンドで2つの新しい属性を使用することができます。

  • wk protected(ドキュメントに属するほぼすべてのタイプのターゲットに設定可能)
  • wk protection enabled(グローバルなドキュメント保護を有効または無効にする).ドキュメントを読む

ドキュメント内の数式を管理する

4D v19には、4D Write Proドキュメント内の数式を管理するためのコマンド群が含まれています。

  • WP 数式を取得します。WP Get formulas: 特定のターゲット(文書全体、および本文、第2セクション、左ヘッダーなど、より特定の部分)内のすべての数式を取得します。
  • WP Insert formula:任意の範囲に数式オブジェクトとして式を挿入します。
  • WP Compute formula WP Freeze formulas。WP Compute formula と WP Freeze formula: 非常によく似た方法で使用可能ターゲットを使用)。ドキュメントのすべての式を再評価するか、または単にフッターに属する式だけを凍結します。ドキュメントを読む

ピクチャの削除

新しいWP DELETE PICTURE コマンドで、インラインまたはアンカーで固定された画像を削除できるようになりました。削除したい画像をID(WP Get element by IDを使用) または位置(WP Get elementsを使用)で取得し、コマンドを呼び出すだけでよいのです。ドキュメントを読む

4D ビュープロ

SpreadJS v14での機能強化 blank

4D v19には、新しい4D View Proリボンが付属しています。新しい外観に加え、SpreadJS v14の新機能をサポートするために新しい機能を追加しました。

この新しいツールバーは、次のような新機能をもたらします。

  • アクセシビリティのサポート。 スクリーンリーダーなどの支援技術を利用する障がいのあるユーザーに対して、適切なアクセシビリティサポートを提供します。詳細については、アクセシビリティサポートを参照してください。
  • コメントインジケーターのカスタマイズ。インジケーターの色や大きさを変更できるようになりました。
  • Excelからの画像コピーExcelから画像をコピーして、シートに貼り付けられるようになりました。貼り付けられた画像は、Excelと同じサイズ、ボーダー、背景を持つようになります。
  • 塗りつぶし効果およびパターン。セルにパターンやグラデーションの効果を適用して、スプレッドシートのセル外観を向上させることができます。詳しくは、「パターン塗りつぶし」と「グラデーション塗りつぶし」を参照してください。

6カ国語対応

英語に加えてフランス語ドイツ語スペイン語日本語ポルトガル語のサポートを追加しました!4D v19以上のユーザーで、サポートされている言語と一致するオペレーティングシステムを使用している場合、4D View Proの全ての要素が翻訳されていることに気がつくでしょう(リボン、ツールバー、コンテクストメニュー、エラーメッセージなど)。

ドキュメントの読み込み終了

計算が完了したことを知ることができる、2つの新しいイベントが利用できます。 VP Range Changedと Timerイベントです。

これは、例えば、多くの数式を含む大きな4D View Proドキュメントを読み込んで、計算が完了するまでに時間がかかる場合や、オフスクリーン領域を使用して、ドキュメントをPDFやExcel形式にエクスポートする場合などに便利です。このような場合、計算が終了するのを待ってから処理を進める必要があります。ドキュメントを読む

検索と置換

4D View Proのドキュメントを初期化するときに、いくつかの値やタグを見つけて、4Dから発行されたデータに置き換える必要がある場合があります。VPの検索コマンドを使えば、簡単にできます。このコマンドのおかげで、データ、数式、タグを検索し、シート全体または特定の部分のみを置換することができます。ドキュメントを読む

スプレッドシートの4D数式

VP SET CUSTOM FUNCTIONSコマンドは、4D View Pro で 4D 数式を実行するためのカスタム関数を作成することができます。4D View Pro で単純な変数を使用するためのメソッドを作成する必要はなく、数式にパラメータとして渡すだけでよいのです。さらに、このコマンドは、ヘルプテキストとパラメータ名を提供することで、エンドユーザーのタイプアヘッドを簡素化します。大規模な構造体では、このコマンドを使用することで、一般的なSET FIELD TITLESコマンドを使用するよりもはるかに高速になります。ドキュメントを読む

オフスクリーン領域

新しいVP Run offscreen areaコマンドは、4D View Proのコマンドと関数をオフスクリーンエリアで操作することができます。使用するには、エリアの情報をパラメータとして渡すだけです(エリア名や、4D View Proエリアからイベントがスローされたときに呼び出されるメソッドなど)。ドキュメントを読む

セルのマージとアンマージ

プログラミングでセルのグループをマージしたり、アンマージしたりするための新しいコマンド群が自由に使えるようになりました。

  • マージされたセルを作成するには、結合したいすべてのセルで範囲を定義し、それを新しいVP ADD SPANコマンドのパラメータとして渡すと、セルが1つのスパンのセルに結合されます。
  • 結合されたすべてのセルを取得するには、VP Get spansコマンドを使用します。
  • 文書内のスパンされたセルを削除するには、VP REMOVE SPANコマンドを使用します。ドキュメントを読む

計算式:再計算、中断、再開

3つの新しいコマンドにより、いつでも好きな時に数式の計算を開始することができます。

  • VP RECOMPUTE FORMULASを使用すると、データが変更されたときに計算式を再計算します。
  • VP SUSPEND COMPUTINGVP RESUME COMPUTING を使用して、それぞれ計算を一時停止および再開します。ドキュメントを読む

ワークシートをカスタマイズするためのオプションが増えました

新しいVP SET SHEET OPTIONSは、4D View Proの領域の様々なシートオプションを定義することができます。例えば、このコマンドでは、以下のことができます。

  • ワークシートのセルを編集できないように保護する。
  • ワークシートのタブ、凍結線、グリッド線、選択範囲の背景や境界線の色をカスタマイズする。
  • ワークシートのグリッドライン、行/列のヘッダーの可視性を管理する。ドキュメントを読む

行と列の管理

4D v19には、列と行を管理するための新しいコマンドが含まれています。これらのコマンドを使用することで、よりニーズに合ったドキュメントを作成することができます。列と行は、以下のコマンドで、追加と削除、サイズ、可視性、ヘッダーラベルを定義することができます。

  • VP INSERT ROWSまたはVP INSERT COLUMNS: 最初の列または行をパラメータとして含む範囲と、追加する行または列の数を渡して、行または列を追加します。
  • VP SET COLUMN COUNTおよびVP SET ROW COUNT。表示される列や行の数を定義します。デフォルトでは、4D View Pro のシートは、100 列と 1,000 行を含んでいます。
  • VP DELETE ROWSまたはVP DELETE COLUMNS。特定の行または列を削除します。
  • VP SET COLUMN ATTRIBUTESおよびVP SET ROW ATTRIBUTES 。VP SET COLUMN ATTRIBUTES および VP SET ROW ATTRIBUTES: 列幅や行高の指定、印刷時の改ページの追加、列や行の非表示や表示、ユーザーによる列や行のサイズ変更の有効化や禁止、列や行のヘッダーラベルの変更などができます。ドキュメントを読む

行や列をロックする

新しいVP SET FROZEN PANESコマンドは、ペインを作成するのに役立ちます。大きな表データを扱う場合、ワークシートのある領域を表示したまま、別の領域にスクロールできるようにすると便利です。このコマンドを使用すると、領域に最大4つのペインを作成できます: 左に1つ、上に1つ、右に1つ、下に1つ。ドキュメントを読む

R-リリースの詳細