4D Summit 2016で宮古啓介が4Dタグを紹介しました。

Deeplからの自動翻訳

Keisuke Miyako 4D Japanのテクニカル・サービス・マネージャーである 斉藤が、次のように発表しています。 4D Summit Paris 20164D v16で4D変換タグ機能がどのように強化されたかを紹介しています。もし、あなたがまだ4Dタグを使っていないなら、このビデオを見た後、すぐにでも使いた いと思うことでしょう。

4D v16で強化された4Dタグの強力な機能を紹介するほか、4Dタグの具体的な使用例として、Excelスプレッドシートへのデータ出力と、JSON形式のデータからJavaScriptライブラリを使って美しいチャートを作成する例を紹介します。

テンプレート化原理

4Dタグを使えば、XMLやHTML、あるいはあらゆる種類のテンプレートベースのデータ処理タスクを含む新しい開発において、大幅なショートカットを実現することができます。ただ PROCESS 4D TAGS を使うだけで、あなたのニーズにぴったり合ったテキストベースのファイルを生成できます。

4Dデータに基づいた構造的なドキュメントを構築するために、複雑なコードを一から書く代わりに、既製のフォーマットされたサンプルドキュメントに、様々な4Dタグを自由に使って4Dコードのブロックを追加し、それをテンプレートとして使用することができます。

blank

4D v16 の新機能は?

あなたは、すでに既存の 4D タグをご存知かもしれません。4dtext、4dloop、4dif、4dhtml…。4D v16 は、新しい機能とタグを提供し、可能性を広げます。

  • 新しい 4DCODEタグ
  • 新しい$シンタックスは 、HTMLのコメントシンタックス<!–>に基づいた通常のシンタックスよりもはるかに柔軟性があります。
  • そして、テンプレート内でコードをデバッグすることができます。

新しい4DCODEタグ

4DCODEタグは、4DEVALタグとよく似ています。しかし、4DEVALが1つの4D式を評価するのに対して、4DCODEは複数の行に渡って4Dコードを挿入することが可能です。したがって、既存のメソッドやコードのブロックをコピーして、テンプレート・ドキュメント内の4DCODEタグの中にペーストすればよいのです。

<!--#4DCODE
ALL RECORDS:C47([Product:1])
ORDER BY:C49([Product:1];[Product:1]name:2)
ARRAY TEXT:C222($paramNames;0)
WEB GET VARIABLE.C22($paramNames;0) WEB GET VARIABLE:683($paramNames)
C_LONG INT:C283($f)
$f:=Find in array:C230($paramNames; "year")
If($f#-1)
ALL RECORDS:C47([Inventory:2])
End if
-->

実際、テンプレートには好きなだけ 4DCODE タグを使用することができます。データベースへの問い合わせ、配列、ポインタ、オブジェクトなど、基本的には4Dメソッドでできることは何でもできます。

4DCODEは、4Dコードをフリーハンドで記述できるだけでなく、そのコードをトレースしてデバッグすることも可能です。4DタグのテンプレートでTRACE コマンドを使用するだけで、タグが処理されるときにデバッガが開かれます!

コマンド番号の使用

上記の例では、各コマンドの末尾に:Cxxというサフィックスが付けられていることにお気づきでしょう。このサフィックスの数字がコマンド番号になります。例えば、47は、ALL RECORDS のコマンド番号です。

これはオプションですが、4D コードをプレーンテキストで記述するための、将来を見越した方法 です。4Dコマンドの名前が変更された後の問題を避けるだけでなく、4DCODEタグでフランス語の4Dコマンド名を使用し、英語のシステム環境で実行することができます。さらに、コマンド名全体を省略して、:Cxxを使用することもできます。

コマンドのCode with tokens オプションを使用すると、:Cxxサフィックスが自動的に生成されることに注意してください。 METHOD GET CODEもちろん、手動で行う必要はありません。

新しい$構文でより柔軟に

HTMLコメントを使用する代わりに、4DEVAL4DTEXT4DHTMLタグの前に「$」シンボルを使用し、評価する必要がある4D式を括弧の間に渡すことができるようになりました。例えば

4DTEXT($fontName)

この新しい構文により、例えば、”<“や”>”記号を使用できないXML属性の中に4Dタグを置くことができるようになりました。これにより、開発者は、4Dタグをどのように、あるいはどこで使うかについて、より柔軟性を持つことができます。

もっと詳しく知りたい方は、こちらをご覧ください。この新しいシンタックスの詳細については、こちらの投稿をご覧ください。