version 11 (Modified)
SET FORMAT ({*; }object; displayFormat)
| 引数 | 型 | 説明 | |
| * | 指定時, Objectはオブジェクト名 (文字列) | ||
| 省略時, Objectはフィールドまたは変数 | |||
| object | フォームオブジェクト | オブジェクト名 (* 指定時), または | |
| フィールドまたは変数 (* 省略時) | |||
| displayFormat | 文字列 | オブジェクトに設定する表示フォーマット |
説明
SET FORMAT は、objectで指定したオブジェクトの表示フォーマットをdisplayFormatで渡したフォーマットに設定します。新しいフォーマットは現在の表示にのみ有効です。フォームには保存されません。
オプションの * 引数を指定した場合、objectはオブジェクト名です (文字列) 。オプションの * 引数を省略すると、objectはフィールドまたは変数です。この場合、文字列ではなくフィールドまたは変数参照 (フィールドまたは変数のみ) を指定します。オブジェクト名に関する詳細はオブジェクトプロパティの節を参照してください。
SET FORMAT は入力および出力フォーム (表示または印刷) 両方で使用でき、(入力可/不可) フィールドや変数に適用できます。
オブジェクトのデータタイプに適応する表示フォーマットを使用しなければなりません。
ブール
ブールフィールドをフォーマットするには二つの方法があります:
・一つの値をdisplayFormatに渡す。この場合、フィールドはチェックボックスとして表示され、指定した値がラベルになります。
・セミコロン (;) で区切った二つの値をdisplayFormatに渡す。この場合フィールドは2つのラジオボタンとして表示されます。
日付
日付フィールドや変数をフォーマットするには、Char(n)をdisplayFormatに渡します。このときnは4Dにより提供される以下の定義済み定数のうちいずれかです:
| 定数 | 型 | 値 |
| System date short | 倍長整数 | 1 |
| System date abbreviated | 倍長整数 | 2 |
| System date long | 倍長整数 | 3 |
| Internal date short special | 倍長整数 | 4 |
| Internal date long | 倍長整数 | 5 |
| Internal date abbreviated | 倍長整数 | 6 |
| Internal date short | 倍長整数 | 7 |
| ISO date | 倍長整数 | 8 |
| Blank if null | 倍長整数 | 100 |
Note: Blank if null は他の定数に加算されなければなりません。この定数は日付がヌル値の時、00/00/00ではなく空のエリアとして表示するよう4Dに指示します。
時間
時間フィールドや変数をフォーマットするには、Char(n)をdisplayFormatに渡します。このときnは4Dにより提供される以下の定義済み定数のうちいずれかです:
| 定数 | 型 | 値 |
| HH MM SS | 倍長整数 | 1 |
| HH MM | 倍長整数 | 2 |
| Hour Min Sec | 倍長整数 | 3 |
| Hour Min | 倍長整数 | 4 |
| HH MM AM PM | 倍長整数 | 5 |
| MM SS | 倍長整数 | 6 |
| Min Sec | 倍長整数 | 7 |
| ISO time | 倍長整数 | 8 |
| System time short | 倍長整数 | 9 |
| System time long abbreviated | 倍長整数 | 10 |
| System time long | 倍長整数 | 11 |
| Blank if null | 倍長整数 | 100 |
Note: Blank if null は他の定数に加算されなければなりません。この定数は日付がヌル値の時、00:00:00ではなく空のエリアとして表示するよう4Dに指示します。
ピクチャ
ピクチャフィールドや変数をフォーマットするには、Char(n)をdisplayFormatに渡します。このときnは4Dにより提供される以下の定義済み定数のうちいずれかです:
| 定数 | 型 | 値 |
| Truncated Centered | 倍長整数 | 1 |
| Scaled to Fit | 倍長整数 | 2 |
| On Background | 倍長整数 | 3 |
| Truncated non Centered | 倍長整数 | 4 |
| Scaled to fit proportional | 倍長整数 | 5 |
| Scaled to fit prop centered | 倍長整数 | 6 |
| Replicated | 倍長整数 | 7 |
文字と数値
文字や数値のフィールドや変数をフォーマットするには、displayFormat 引数に直接フォーマットラベルを渡します。
表示フォーマットに関する詳細は4D Design Referenceマニュアルを参照してください。
Note: ツールボックスであらかじめ定義した表示フォーマットをdisplayFormatに使用するには、表示フォーマット名の前に縦棒(|)を挿入します。
ピクチャボタン
ピクチャボタンをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
cols;lines;picture;flags{;ticks}
・cols = ピクチャの列数
・lines = ピクチャの行数
・picture = 使用するピクチャ (ピクチャライブラリ、ピクチャ変数、PICTリソース):
- ピクチャライブラリのピクチャを使用する場合、クエスチョンマークの後にその番号を指定します (例: "?250")。
- ピクチャ変数ののピクチャを使用する場合、変数名を指定します。
- PICTリソースのピクチャを使用する場合、コロンの後にその番号を指定します (例: ":62500")。
・flags = ピクチャボタンの表示モードと処理。この引数には以下の値を指定できます: 0, 1, 2, 16, 32, 64, 128。これらの値はそれぞれ表示モードと処理モードを表します。これらの値は累計することができます。例えばモード1と64を有効にするには、65をflags 引数に渡します。それぞれの値の意味は以下のとおりです:
- flags = 0 (オプションなし)
ユーザがピクチャをクリックすると、順番に次のピクチャを表示します。Shiftキーを押しながらクリックすると、前のピクチャを順に表示します。最後のピクチャに達すると、クリックしてもピクチャは変更されません。つまり最初のピクチャには戻りません。
- flags = 1 (連続してスイッチ)
前のオプションと同様ですが、ユーザがマウスを押したままにするとピクチャは連続して (アニメーションのように) 変更されます。最後のピクチャに到達すると、そこでピクチャの変更は停止します。
- flags = 2 (最初のフレームにループバック)
前のオプションと同様ですが、ピクチャが連続したループで表示される点が異なります。最後のピクチャに達っし、さらにクリックすると、最初のピクチャが表示されます。
- flags = 16 (ロールオーバー時にスイッチ)
ピクチャボタンのコンテンツは、マウスカーソルがボタンの上に来たときに変更されます。マウスがボタンエリアから離れると、最初のピクチャに戻ります。このモードはマルチメディアアプリケーションやHTMLドキュメントでしばしば使用されます。ロールオーバー時に表示されるピクチャはサムネールテーブルの最後のピクチャです。ただし最後のフレームを無効として使用オプション (128) を使用した場合は、最後の前のフレームがロールオーバー時に使用されます。
- flags = 32 (リリース後に元に戻す)
このモードは2つのピクチャで動作します。これはユーザがクリックしたときを除き、常に最初のピクチャを表示します。この場合2番目のピクチャがマウスクリックの間表示され、マウスがリリースされると一番目のピクチャに戻ります。このモードを使用すれば、アイドルとクリック状態を表示するアクションボタンを作成できます。このモードを3D効果を作成したり、アクションを表現するピクチャを表示するために使用できます。
- flags = 64 (透過)
バックグランドピクチャを透過させるために使用します。
- flags = 128 (最後のフレームを無効として使用)
このモードは、最後のサムネールフレームをボタンが無効時に表示させるために使用します。このモードが選択されているとき、4Dは最後のサムネールを、ボタンが無効にされているときに表示します。このモードが、モード0, 1 および 2とともに使用されていると、最後のサムネールは一連の表示には組み込まれません。子のサムネールはボタンが無効のときにのみ表示されます。
・ticks = “n チック毎に表示”モードを有効にし、それぞれのピクチャを表示する間隔を設定します。このオプション引数が渡されると、指定された速度でピクチャボタンのコンテンツが繰り返し表示されます。例えば"2;3;?16807;0;10"と指定すると、ピクチャボタンは10tickごとに異なるピクチャを表示します。このモードが有効の時は透過モード (64) のみが使用できます。
ピクチャポップアップメニュー
ピクチャポップアップメニューをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
cols;lines;picture;hMargin;vMargin;flags
・cols = ピクチャの列数
・lines = ピクチャの行数
・picture = 使用するピクチャ (ピクチャライブラリ、ピクチャ変数、PICTリソース):
- ピクチャライブラリのピクチャを使用する場合、クエスチョンマークの後にその番号を指定します (例: "?250")。
- ピクチャ変数ののピクチャを使用する場合、変数名を指定します。
- PICTリソースのピクチャを使用する場合、コロンの後にその番号を指定します (例: ":62500")。
・hMargin = メニューの水平境界とピクチャの間のマージン (ピクセル)
・vMargin = メニューの垂直境界とピクチャの間のマージン (ピクセル)
・flags = ピクチャポップアップメニューの透過モード (0 または 64):
- mode = 0: ピクチャポップアップメニューは透過でない
- mode = 64: ピクチャポップアップメニューは透過
サーモメータとルーラ
サーモメータやルーラをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
min;max;unit;step;flags{;format}
・min = インジケータの最初の目盛り値
・max = インジケータの最後の目盛り値
・unit = インジケータの目盛りの間隔
・step = インジケータ中でカーソル移動の最小間隔
・flags = インジケータの表示モードと動作。この引数は0, 2, 3, 16, 32, 128を受け入れます。これらの値は128を除き、加算して複数のオプションを設定できます:
- flags = 0: 単位を表示しない
- flags = 2: インジケータの右または下に単位を表示
- flags = 3: インジケータの左または上に単位を表示
- flags = 16: 単位に隣接して目盛りを表示
- flags = 32: ユーザがインジケータを調整している間、On Data Changeを実行する。この値が使用されない場合、On Data Changeはユーザがインジケータの調整を終了したときにのみ発生します。
- flags = 128: "バーバーショップ" (連続したアニメーション) モードを有効にします。この値をほかの値と一緒に使用することはできません。このモードでは、他の引数は無視されます。このモードに関数詳細は、Design Referenceマニュアルを参照してください。
・format = インジケータの目盛りの表示フォーマット
インジケータオブジェクトのサイズが小さいため単位やメモリが正しく表示できない場合、それらは隠されます。
ダイアル
ダイアルをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
min;max;unit;step{;flags}
・min = インジケータの最初の目盛り値
・max = インジケータの最後の目盛り値
・unit = インジケータの目盛りの間隔
・step = インジケータ中でカーソル移動の最小間隔
・flags = ダイアルの処理モード (オプション)。この引数は32鑿を受け入れます: ユーザがインジケータを調整している間、On Data Changeを実行する。この値が使用されない場合、On Data Changeはユーザがインジケータの調整を終了したときにのみ発生します。
ボタングリッド
ボタングリッドをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
cols;lines
・cols = グリッドの列数
・lines = グリッドの行数
Note: フォームオブジェクトの表示フォーマットに関する詳細は、4D Design Referenceマニュアルを参照してください。
3Dボタン
3Dボタンをフォーマットするには、displayFormat 引数に以下のシンタックスを使用した文字列を渡します:
title;picture;background;titlePos;titleVisible;iconVisible;style;horMargin;vertMargin;
iconOffset;popupMenu
・title = ボタンタイトル。この値はテキストまたはリソース番号 (例: “:16800,1”) で指定できます。
・picture = ボタンにリンクするピクチャ。ピクチャライブラリ、ピクチャ変数、PICTリソース、またはResourcesフォルダのピクチャを使用できます:
- ピクチャライブラリのピクチャを使用する場合、クエスチョンマークの後にその番号を指定します (例: "?250")。
- ピクチャ変数ののピクチャを使用する場合、変数名を指定します。
- PICTリソースのピクチャを使用する場合、コロンの後にその番号を指定します (例: ":62500")。
- データベースのResourcesフォルダのピクチャを使用する場合、"#{folder/}picturename" または "file:{folder/}picturename"タイプのURIを指定します。
・background = ボタンにリンクするバックグランドピクチャ (カスタムスタイル)。ピクチャライブラリ、ピクチャ変数、PICTリソース、Resourcesフォルダのファイル (上記参照) を使用できます。
・titlePos = ボタンタイトルの位置:
- titlePos = 1: 左
- titlePos = 2: 上
- titlePos = 3: 右
- titlePos = 4: 下
- titlePos = 5: 中央
・titleVisible = タイトルの表示/非表示:
- titleVisible = 0: タイトルを非表示
- titleVisible = 1: タイトルを表示
・iconVisible = アイコンの表示/非表示:
- iconVisible = 0 : アイコンを非表示
- iconVisible = 1 : アイコンを表示
・style = ボタンスタイル。このオプションで指定したスタイルにより、バックグランドなど他のオプションが有効になるかどうかが決まります:
- style = 0: なし
- style = 1: バックグランドオフセット
- style = 2: プッシュボタン
- style = 3: ツールバーボタン
- style = 4: カスタム
- style = 5: サークル
- style = 6: システムスクエア (小)
- style = 7: Office XP
- style = 8: べベル
- style = 9: 角の丸いべベル
・horMargin = 水平マージン。ボタン内部の左右マージン (アイコンやテキストが描画されないエリア) をピクセル単位で指定します。
・vertMargin = 垂直マージン。ボタン内部の上下マージン (アイコンやテキストが描画されないエリア) をピクセル単位で指定します。
・iconOffset = 右および下方向へのアイコンのシフト。ピクセル単位で指定されるこの値は、ボタンがクリックされた際のボタンアイコンの右下方向へのシフトを指定します (同じ値が両方向に使用されます)。
・popupMenu = ボタンへのポップアップメニューの関連付け:
- popupMenu = 0: ポップアップメニューなし
- popupMenu = 1: リンクしたポップアップメニュー
- popupMenu = 2: 分離したポップアップメニュー
いくつかのオプションは、すべての3Dボタンで有効というわけではありません。また特定のオプションを設定したくない場合もあるでしょう。あるオプションを渡さないようにするには、対応する値を省略します。例えばtitleVisibleとvertMarginオプションを省略するには、以下のように書きます:
SET FORMAT(myVar;"NiceButton;?256;:562;1;;1;4;5;;5;0")
例題
1. 以下のコードは[Employee]Date Hired フィールドをMonth Date Yearにフォーマットします。
SET FORMAT ([Employee]Date Hired; Char(Month Date Year))
2. 以下のコードは [Company]ZIP Code フィールドのフォーマットを、フィールドデータ長に基づいて変更します:
If (Length ([Company]ZIP Code) = 9) SET FORMAT ([Company]ZIP Code; "#####-####") Else SET FORMAT ([Company]ZIP Code; "#####") End if
3. 以下のコードはブールフィールドのフォーマットを変更して、Married または Unmarriedが表示されるようにします:
SET FORMAT ([Employee]Marital Status;"Married;Unmarried")
4. 以下のコードはブールフィールドのフォーマットを変更して、"Classified"というラベルのチェックボックスが表示されるようにします:
SET FORMAT ([Folder]Classification; "Classified")
5. 1行4列のサムネイルがあります。このサムネイルをピクチャボタンに使用します (“デフォルト”, “クリック”, “ロールローバー” そして “無効時”)。ロールオーバー時にスイッチとリリース後に元に戻す、そして最後のフレームを無効として使用オプションを有効にします:
SET FORMAT (*;"Picture Button"; "4;1;?15000;176")
6. サーモメータをバーバーショップモードにします:
SET FORMAT ($Mythermo;";;;;128") $Mythermo:=1 `Start animation
参照
Get format, GET SYSTEM FORMAT, SET FILTER.