著者名: Roland Lannuzel

Roland Lannuzel
- プロダクトオーナー&4Dエキスパート -電子工学を学んだ後、産業用ITの分野で開発者兼コンサルタントとして、さまざまなデータベースやテクノロジーを使って顧客のためのソリューションを構築。80年代後半に4Dに惚れ込み、会計、請求書作成、メールシステムなどのビジネスアプリケーションの作成に4Dを使用してきました。現在も、新機能やデータベース開発ツールの定義など、4Dの未来を積極的に切り開いています。
製品 blank

4D Write Pro : フローティングテキストボックス!

4D Write Pro は、ビジネス文書の作成に欠かせない製品です。これまでも様々なお役立ち機能を順次リリースしていますが、4D v19 R8 では、4D Write Proフローティングテキストボックス が導入されました。

たとえば、コーポレート・アイデンティティに準拠したレターヘッドが必要な場合など、テキストボックスを使った自由度の高いデザインが可能です。

製品 blank

4D Write Pro – ドキュメントの変更を検知

編集モードの 4D Write Pro のドキュメントがエンドユーザーによって変更されたかどうかを知ることは、しばしば役に立ちます。たとえばこの情報を元に、アクションやインターフェースをより使いやすく調整することができます。

4D v19 R7 以降、ドキュメントの変更を検知するのはこれまで以上に簡単になりました。

製品 blank

4D Write Pro: ユーザーフレンドリーな式表示

フォーミュラは 4D Write Pro のドキュメントに不可欠な要素です。これにより、データベースの情報をドキュメントに差し込むことができます。フォーミュラを含むドキュメントやテンプレートの作成は、物理的な制約 (ページ数、用紙サイズ) と相まって、非WYSIWYG なデザインになることがあります。このデザインの問題を解決するために、フォーミュラを新しいモードで表示できるようになりました。

製品 blank

4D Write Pro: キャリーオーバー行を導入

4D Write Pro ドキュメントの表組みは、データソースを関連付けることで 自動的に行を生成 できるようになり、ますます便利になりました。

表組みの行数が多くなると、ページやカラムの区切りにより、表が自動で分割されてしまうことがあります。このような場合、分割された各表の下部に “小計” 行 を (自動的に!) 挿入できたら便利ですね。これは 4D v19 R7 で可能になりました!

製品 blank

ファイル、フォルダー…そしてファイルハンドル!

4D v17 R5 で登場した File と Folder コマンド は、ディスク上のファイルとフォルダーを現代的かつ効率的に管理することを可能にします。

書き込み・読み取りについては、setTextgetText 関数を使えば、内容全体の読み書きができます。しかし、既存のドキュメントを対象に 1行以上を読み書きしたい場合はどうすればよいでしょうか。こういった操作は、4D v19 R7 で登場した新しい “FileHandle” オブジェクトを使うことで、簡単におこなうことができます。

詳しくは記事の続きをご覧ください。

製品 blank

4D Write Pro: 空ピクチャーの非表示化

4D Write Pro のドキュメントには、様々なソースからの多様な形式の画像が含まれることがあります。無効な URL、空の画像を返すフォーミュラ、プラットフォームがサポートしていない形式 などの理由によって、画像は表示できない場合があります。

画像が表示できない場合には、その場所に空の四角が表示されます。この振る舞いを変更し、空の画像を非表示にするには、4D v19 R6 より提供される 新しい表示オプション を使用します。

製品 blank

4D Write Pro: エンティティセレクションやコレクションで表組みを動的に埋める

開発者として、私たちはしばしば複雑で高度な 4D Write Pro ドキュメントを作成します。データを表示するための表組みが必要なとき、その行列の内訳はあらかじめ明確ではないかもしれません。毎回手作業で、表組みにデータを入れていくのは手間です。そこで、データコンテキスト を使って、ORDA とオブジェクト指向開発の手法を 4D Write Pro ドキュメントに取り入れました。

具体的には、4D Write Pro の表組みに対して、”データソース” を定義することが可能になりました。この “データソース” (エンティティセレクションまたはコレクション) は、表組みの行を自動で生成します。

詳しく見ていきましょう!