4D Write Proでオブジェクトを4種類の方法で使用!

Deeplからの自動翻訳

率直に言って、私たちはオブジェクトが大好きです。4D Write Proは オブジェクトをコマンドや関数の入出力として使い、ドキュメント、テキスト、段落などを操作します。このブログ記事では、4D Write Proでオブジェクトを使用する 4つの異なる方法を紹介します。

属性を設定する

簡単な例を使ってみましょう。あなたは、選択したテキストのフォント、サイズ、ウェイトを「Arial」、「Bold」、「16pt」に設定したいのです。

まず、選択したテキストを範囲として取り込みます。

$range:=WP Get selection(WParea)

注意:WP Get selection はテキストを返すのではなく、選択されたテキストに一致する範囲を返しますこの範囲は、デバッガで見えるいくつかの属性を持っています。「start”、”end”、”type”、”owner “です。

次に、次のコマンドで属性を定義します。 WP SET ATTRIBUTESコマンドで属性を定義します。

WP SET ATTRIBUTES($range;wk font family; "Arial")
WP SET ATTRIBUTES ($range;wk font size;16)
WP SET ATTRIBUTES ($range;wk font bold;wk true)

このコードは、定数や、場合によってはスマート定数(3行目のwk true のように)のおかげで、読み書きが簡単です。

代替案1:OB SET

$rangeオブジェクトでwk font xxx が属性である以上、同じことをするために OB SETコマンドで同じことができます。

どうでしょう?これは素晴らしい働きです。以下のコードは、まったく同じことをします。

OB SET($range;wk font family; "Arial")
OB SET ($range;wk font size;16)
OB SET ($range;wk font bold;wk true)

同じ定数でも唯一の違いは、このコードが4D Write Proのドキュメントに適用されることが明白でなくなったことです。ふむふむ。2番目の選択肢を見てみましょう。

代替案2:オブジェクト表記法

データベースでオブジェクト記法を有効にしているのであれば、できるだけ使いたいと思いますよね?

このコードもうまくいくでしょうか?

$rangefontFamily:="Arial" . :=16 .
$rangefontSize
$range
fontBold:=。wk true

はい、動きます。コンパクトなコードで読みやすく結果は – もちろん – 全く同じになります。

ちょっとした注意点があります。このように書くと、自動補完はありませんし、定数やsmart constants は大文字と小文字を区別するので、特に注意が必要です(例えば、 fontFamily動作しますが、FontFamilyは動作しません)。ですから、このようなコードを書く場合は、十分に注意することをお勧めします 😉

他の選択肢はありますか?はい、あります。

選択肢3:括弧を使ったオブジェクト記法

オブジェクト記法は実に強力です。属性名は、角括弧 [“myAttribute”] の中にあれば、評価することができるのです。ですから、次のように書くと

contact["name"]:="Brown"

と書くのと全く同じ意味になります。

contact.name:="Brown "と書くのと全く同じです。

4D Write Proにとって、これは何を意味するのでしょうか?簡単に言うと、オブジェクト 記法と定数を使うことができるのです。

$range[wk font family]:="Arial"
$range [wk font size]:=16
$range [wk font bold]:=となります。wk true

この最終的な方法は、コンパクトで読み書きが簡単、そして定数を使用するものです。

属性を読むには?

属性の読み方も同じです。次のようなコード例が有効です。

WP GET ATTRIBUTES($range;wk font family;$family)
WP GET ATTRIBUTES ($range;wk font size;$size)
WP GET ATTRIBUTES ($range;wk font bold;$bold)

選択肢1:OB GET

$family:=OB Get($range;wk font family)
$size :=OB Get($range;wk font size)
$bold :=OB Get($range;wk font bold)

代替案2:オブジェクト表記法

$family:=$range.fontFamily
$size :=$range.fontSize

$bold:=$range.fontBold

代替案3: 大括弧付きのオブジェクト表記法

$family:=$range[wk font family]
$size :=$range[wk font size]
$bold :=$range[wk font bold]

このように、複数の方法でプログラミングをしても、同じ結果になることがあります。どの方向に進むかは、あなた次第です。

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