format¶
データ型ごとに編集文字列のフォーマットを指定します。
フォーカスがない状態のテキストボックスにはvalueプロパティの値をsubTypeプロパティとformatプロパティの指定に従ってフォーマットして表示します。
フォーカスして入力する際には、format プロパティの指定は無効となりvalueのデータ型に対応した形式で入力します。
inputModeプロパティがINPUT_MASKに設定されている場合は、各桁毎の入力可能文字種の指定になります。整形表示をそのまま編集入力し、それがvalueプロパティに設定されます。
format指定に合致しない場合valueプロパティは空になります。
非フォーカス時の表示内容
inputMode | subType | 表示内容 |
---|---|---|
INPUT_MASK 以外 | Number | 指定formatに基づいて NumberクラスのtoStringメソッド で変換した文字列を表示します。 |
Fixed | 指定formatに基づいて FixedクラスのtoStringメソッド で変換した文字列を表示します。 | |
Date | 指定formatに基づいて DateクラスのtoStringメソッド で変換した文字列を表示します。 | |
上記以外 | 指定formatに基づいて StringクラスのtoStringメソッド で変換した文字列を表示します。 | |
INPUT_MASK | - | 後述の制御に基づいて整形表示します。編集入力も整形された内容になります。 |
inputModeプロパティがINPUT_MASK以外に設定されている場合の表示整形
すべての形式で共通して使用できる指定文字
指定文字 | 指定例 | 表示内容 |
---|---|---|
@ | "\"最大\"@" |
デフォルトの書式で指定位置に表示します。 Dateの場合には、@dで日付のみ、@tで日付と秒なしの時刻、@sで日付と秒付の時刻を表示します。 |
"テキスト" |
"9990\"円\"" |
"" で括った文字を指定位置に表示します。
Number、Fixedの場合、数字の並びを区切る位置には指定できません。
(注: " で括ったCRS文字列定数中で " を指定するためには \" と記述する必要があります。) |
subTypeプロパティがNumber、Fixedの場合
指定文字 | 指定例 | 表示内容 |
---|---|---|
9 | "999" |
9を記述した数は桁数を示し、先行0は削除されます。 小数点以下に指定した場合桁数に満たない場合、後方0は削除されます。 |
0 | "0999" 、
"9990" |
先行0は0となります。 小数点以下に指定した場合、桁数に満たない場合、0埋めされます。 |
$ | "$9990" |
先頭に$マークを付加します。 |
MI | "999MI" 、
"MI999" |
負数の場合に、指定位置(右か左)にマイナス記号(-)を表示します。 |
S | "S9990" 、
"9990S" |
指定位置(右か左)に符号を表示します。 |
D または .(ピリオド) |
"99D99" 、
"99.99" |
指定の位置に小数点を表示します。 小数点以下の桁数を指定しない場合は有効精度の範囲内で最後の数字までを表示します。 |
L | "L9990" 、
"9990L" |
指定位置(右か左)にローカル通貨記号を表示します。 |
,(カンマ) | "999,990" |
3桁ごとにカンマを表示します。 |
" "
(スペース) |
" 99" |
スペースを記述した数は桁数を示し、先行0は空白文字(スペース)に置き換えられます。 小数点以下に指定した場合は無効で意味を持ちません。 |
! | "999!" |
指定桁数の範囲で桁あふれが発生した場合に書式化した結果に!が付与されて表示されますが、 !を指定すると桁あふれした場合でも!の表示が抑止されます。 |
subTypeプロパティがDateの場合
指定文字 | 指定例 | 表示内容 |
---|---|---|
Y | "YYYY,MM,DD" |
西暦の年を表示します。Yを記述した数(最大4文字)は西暦の表示桁数を示します。 |
WS | "WSWYY.MM.DD" |
和暦の年号を省略形(M ,T, S, H...)で表示します。 |
WR | "WRWYY\"年\"MM\"月\"DD\"日\"" |
和暦の年号を(明治、大正、昭和、平成..)表示します。 |
WY | "WRWYY\"年\"MM\"月\"DD\"日\"" |
和暦の年を表示します。Yを記述した数(最大4文字)は表示桁数を示します。 |
MM | "YYYY/MM" |
月(1~12)を表示します。 |
MONTH | "MONTH DD YYYY" |
月の名前(JANUARY...)を表示します。9桁で表示されます。 |
month | "month DD YYYY" |
キャピタライズされた月の名前(January...)を表示します。9桁で表示されます。 |
MON | "dy, DD MON YYYY" |
月の名前の省略形(JAN...)を表示します。 |
mon | "dy, DD mon YYYY" |
キャピタライズされた月の名前の省略形(Jan...)を表示します。 |
DD | "YY/MM/DD" |
日(1~31)を表示します。 |
DAY | "YY/MM/DD DAY" |
曜日(SUNDAY...)を表示します。 |
day | "YY/MM/DD day" |
キャピタライズされた曜日(Sunday...)を表示します。 |
DY | "YY/MM/DD DY" |
曜日の省略形(SUN...)を表示します。 |
dy | "dy, DD mon YYYY" |
キャピタライズされた曜日の省略形(Sun...)を表示します。 |
DJ | "YY/MM/DD DJ" |
曜日のローカル形(月、火...)を表示します。 |
HH | "HH:MI:SS" |
12時間制の時(0~11)を表示します。 |
HH24 | "HH24:MI:SS" |
24時間制の時(0~23)を表示します。 |
HH25~HH47 | "HH28:MI:SS" |
時間を(指定値-24)~(指定値-1)の範囲で表示します。 (HH28の場合4~27を表示。0時~3時は24~27になります。) |
MI | "HH:MI:SS" |
分(0~59)を表示します。 |
SS | "HH:MI:SS" |
秒(0~59)を表示します。 |
TZ | "HH24:MI:SS TZ" |
タイムゾーンを +0900の形式で表示します。 |
u | "uYY/MM/DD HH24:MI:SS" |
指定箇所より後ろの値をUTC形式で表示します。 |
-/,.;: | "HH:MI:SS" |
指定の文字を指定した位置に表示します。 |
※ WS、WR、WYYはローカル暦が有効な地域でのみ使用可能です。
※ DAYなどの曜日を表す指定や、-/,.;:などを単独で指定することはできません。これらは、必ず入力可能なフォーマットと組み合わせで使用してください。
subTypeプロパティが上記以外の場合
指定文字 | 指定例 | 表示内容 |
---|---|---|
Sn.m | "S2.3" |
文字列の左端を0として数え、n文字目からm文字の文字を表示します。 |
inputModeプロパティがINPUT_MASKに設定されている場合の入力文字種制御
指定文字 | 入力可能文字 | 必須/任意 |
---|---|---|
A | 半角アルファベット(A~Z、a~z) | 必須入力 |
a | 半角アルファベット(A~Z、a~z) | 省略可 |
N | 半角英数(A~Z、a~z、0~9) | 必須入力 |
n | 半角英数(A~Z、a~z、0~9) | 省略可 |
X、x | 制限なし | 省略可 |
9 | 半角数字(0~9) | 必須入力 |
0 | 半角数字(0~9) | 省略可 |
D | 半角数字(1~9) | 必須入力 |
d | 半角数字(1~9) | 省略可 |
# | 半角数字、符号(0~9、+、-) | 省略可 |
H | 半角16進数字(A~F、a~f、0~9) | 必須入力 |
h | 半角16進数字(A~F、a~f、0~9) | 省略可 |
B | 半角2進数字(0、1) | 必須入力 |
b | 半角2進数字(0、1) | 省略可 |
> | 以後の入力は半角英字を大文字に変換 | - |
< | 以後の入力は半角英字を小文字に変換 | - |
! | 大文字小文字変換を終了 | - |
\ | 続く文字をその文字自身とします | - |
上記以外 | 指定文字そのものを固定表示します | - |
末尾にセミコロンと1文字を入れた場合、未入力欄の表示文字の指定になります。未指定の場合はスペース表示。
INPUT_MASKのformat設定例
format設定値 | 動作 |
---|---|
000.000.000.000;_ | IPアドレス入力。空欄は _ で表示。 |
HH:HH:HH:HH:HH:HH;_ | MACアドレス。 |
0000-00-00 | 年月日。空欄はスペースで表示。 |
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# | ライセンス入力。入力した文字は大文字に変換されます。 |
初期値は空文字列です。
関連項目
inputModeプロパティ
Number.toString、Fixed.toString、Date.toString、String.toStringメソッド
使用例
CRSダウンロード
Form Textbox_fmt {
X = 0;
Y = 0;
Width = 720;
Height = 480;
TextBox txtB11 {
x = 30;
y = 10;
width = 133;
Height = 19;
Value = "default sample";
}
TextBox txtB12 {
x = 30;
y = 30;
width = 133;
Height = 19;
Value = 12345678.9012 ;
}
TextBox:Number txtB13 {
x = 30;
y = 50;
width = 133;
Height = 19;
Value = 12345678.9012 ;
}
TextBox txtB14 {
x = 30;
y = 70;
width = 133;
Height = 19;
Date dt ;
Value = dt ;
}
Label obj_Label1[4] {
x = 192;
y = 10;
Width = 90;
Height = 20;
Border = $TRUE;
this[0].Value = "\"日付:@\"@";
this[1].Value = "\"日付:\"@d";
this[2].Value = "\"日付:\"@t";
this[3].Value = "\"日付:\"@s";
}
TextBox:Date obj1[4] {
x = 294;
y = 10;
Width = 208;
Height = 20;
FgColor = "BLACK";
HorizontalAlign =0;
Border = $TRUE;
Date dt ;
Value = dt ;
this[0].Format = "\"日付:\"@";
this[1].Format = "\"日付:\"@d";
this[2].Format = "\"日付:\"@t";
this[3].Format = "\"日付:\"@s";
}
Label obj_Label2[2] {
x = 34;
y = 120;
Width = 101;
Height = 20;
Border = $TRUE;
this[0].Value = "@\" TEST\"";
this[1].Value = "\"TEST \"@";
}
TextBox obj2[2] {
x = 136;
y = 120;
Width = 157;
Height = 20;
this[0].Format = "@\" TEST\"";
this[1].Format = "\"TEST \"@";
}
Button Button2 {
x = 298;
y = 123;
width = 106;
Height = 33;
Title = "データをセットします\nあいうえおかきくけこ";
Function OnTouch( e ) {
^.obj2.Value = "あいうえおかきくけこ";
}
}
Label obj_Label3[9] {
x = 61;
y = 190;
Width = 105;
Height = 20;
Border = $TRUE;
HorizontalAlign = 2;
this[0].Value = "99,999,999";
this[1].Value = "999,999,999.9";
this[2].Value = "999,999,999.0";
this[3].Value = "MI999,999,999";
this[4].Value = "L999,999,999MI";
this[5].Value = "999,999,999MIL";
this[6].Value = "$999,999,999";
this[7].Value = "S999,999,999.9";
this[8].Value = "999,999,999D9S";
}
TextBox:Number obj3[9] {
x = 166;
y = 190;
Width = 112;
Height = 20;
FgColor = "BLACK";
HorizontalAlign =0;
Border = $TRUE;
this[0].Format = "99,999,999";
this[1].Format = "999,999,999.9";
this[2].Format = "999,999,999.0";
this[3].Format = "MI999,999,999";
this[4].Format = "L999,999,999MI";
this[5].Format = "999,999,999MIL";
this[6].Format = "$999,999,999";
this[7].Format = "S999,999,999.9";
this[8].Format = "999,999,990D9S";
}
Button Button3 {
x = 284;
y = 190;
Width = 85;
Height = 33;
Title = "データをセット\n123456789.0";
Function OnTouch( e ) {
^.obj3.Value = "123456789.0";
}
}
Button Button4 {
x = 284;
y = 225;
Width = 85;
Height = 33;
Title = "データをセット\n-123456789.0";
Function OnTouch( e ) {
^.obj3.Value = "-123456789.0";
}
}
Form frm_sub {
X = 0;
Y = 0;
Width = 0;
Height = 0;
}
Button Reset {
x = 355;
y = 288;
Width = 85;
Height = 33;
Title = "Reset";
Function OnTouch( e ) {
for(var a=0;a<2;a++){
^.obj2[a].Clear();
}
for(var c=0;c<9;c++){
^.obj3[c].Clear();
}
}
}
}