IBM Lotus Symphony
|
ここでは、Lotus® Symphony™ Basic での変数の基本的な使用法について説明します。
変数名には、最大 255 文字を使用できます。 変数名の最初の文字には、A-Z または a-z のいずれかを使用する必要があります。 変数名には数字も使用できますが、アンダースコア (「_」) 以外の句読記号や特殊記号は使用できません。 Lotus Symphony Basic の変数名では、大文字と小文字は区別されません。変数名にはスペース記号も使用できますが、その場合は大括弧で囲む必要があります。
例 | 説明 |
---|---|
MyNumber=5 | 正しい変数名です。 |
MyNumber5=15 | 正しい変数名です。 |
MyNumber_5=20 | 正しい変数名です。 |
My Number=20 | 正しくない変数名です。スペース記号を含む変数名は、大括弧で囲む必要があります。 |
[My Number]=12 | 正しい変数名です。 |
DéjàVu=25 | 正しくない変数名です。変数名に特殊文字は使用できません。 |
5MyNumber=12 | 正しくない変数名です。変数名の先頭に数字は使えません。 |
Number,Mine=12 | 正しくない変数名です。変数名に句読記号は使用できません。 |
Lotus Symphony Basic では、変数を明示的に宣言する必要はありません。変数の宣言は、Dim ステートメントで行います。変数名をコンマで区切ることで、同時に複数の変数を宣言できます。 変数型を指定するには、変数名に続けて、型宣言子または該当するキーワードを付けます。
例 | 説明 |
---|---|
DIM a$ | 変数「a」を文字列として宣言します。 |
DIM a As String | 変数「a」を文字列として宣言します。 |
DIM a$, b As Integer | 前者の変数を文字列、後者の変数を整数として宣言します。 |
DIM c As Boolean | c を TRUE か FALSE になるブール変数として宣言します。 |
型宣言を行う際には、キーワードではなく型宣言子を用いる場合でも、個々の変数名ごとに型宣言子を付ける必要があるので、この点には特に注意してください。 例えば、下記のような型宣言は無効です。
例 | 説明 |
---|---|
DIM a$ | 変数「a」を文字列として宣言します。 |
a="TestString" | この場合は次のような型宣言が必要です。 "a$=" |
![]() |
特定の変数型として宣言した変数名は、別の型で再宣言することはできません。 |
強制的に変数宣言をするには、下記のコマンドを使用します。
OPTION EXPLICIT
Option Explicit ステートメントは、モジュールの 1 行目に置き、最初の SUB の前に記述する必要があります。 通常こうした明示的な宣言をする必要があるのは、配列だけです。 その他の変数は、型宣言子を使って型宣言をすればよく、型宣言が省略された場合はデフォルトで 単精度型 とされます。
Lotus Symphony Basic のサポートする変数には 4 つのクラスがあります。
数値 変数には、数値を収めることができます。 これらの変数ではさまざまな値を扱うほか、浮動小数点や分数を扱う場合もあります。
文字列 変数には、一続きの文字を収めることができます。
ブール型 変数には、TRUE (真) および FALSE (偽) という 2 つの値の一方を収めることができます。
オブジェクト 変数には、文書で使用するテーブルや文書など、各種のオブジェクトを収めることができます。
整数変数には -32768 から 32767 までの整数を収めることができます。 こうした整数変数に浮動小数点型の数値を代入すると、小数点以下を四捨五入した整数値が収められます。 整数変数は、プロシージャ内で高速計算が可能であり、またループカウンタ用の変数としても適しています。 整数変数が消費するメモリ量は、2 バイトです。型宣言用の記号は「%」です。
Dim 変数名%
Dim 変数名 As Integer
ロング整数変数には -2147483648 から 2147483647 までの整数を収めることができます。 このロング整数変数に浮動小数点型の数値を代入すると、小数点以下を四捨五入した整数値が収められます。 ロング整数変数は、プロシージャ内で高速計算が可能であり、またループカウンタ用の変数としても適しています。 ロング整数変数が消費するメモリ量は 4 バイトです。 型宣言用の記号は「&」です。
Dim 変数名&
Dim 変数名 as Long
10 進変数は、正または負の数値かゼロをとることができます。精度は最大 29 桁です。
プラス (+) またはマイナス (-) の符号を 10 進数の接頭部として、スペース付きまたはスペースなしで使用できます。
整数変数に 10 進変数を代入した場合、Lotus Symphony Basic は数値の切り上げまたは切り捨てを行います。
単精度変数には 3.402823 x 10E38 から 1.401298 x 10E-45 までの正および負の数値を収めることができます。 単精度変数は浮動小数点方式で数値を扱うため、整数部の桁数が大きくなるほど小数部の精度が小さくなります。 単精度変数の用途としては、それほど高い精度を必要としない数学的な計算処理に適しています。 この場合の計算処理は、整数変数の場合よりも長くかかりますが、倍精度変数よりは短時間で済みます。 単精度変数が消費するメモリ量は 4 バイトです。 型宣言用の記号は「!」です。.
Dim 変数名!
Dim 変数名 as Single
倍精度変数には 1.79769313486232 x 10E308 から 4.94065645841247 x 10E-324 までの正および負の数値を収めることができます。 倍精度変数は浮動小数点方式で数値を扱うため、整数部の桁数が大きくなるほど小数部の精度が小さくなります。 倍精度変数の用途としては、高い精度を必要とする計算処理に適しています。この場合の計算処理は、単精度変数の場合よりも長くかかります。 倍精度変数が消費するメモリ量は 8 バイトです。 型宣言用の記号は「#」です。
Dim 変数名#
Dim 変数名 As Double
通貨変数は、内部的には 64 ビット (8 バイト) の数値として格納され、整数部 15 桁と小数部 4 桁の固定小数点方式として表示されます。 通貨変数には -922337203685477.5808 から +922337203685477.5807 までの数値を収めることができます。 通貨変数は、高い精度を必要とする金額計算に使用します。 型宣言用の記号は「@」です。
Dim 変数名@
Dim 変数名 As Currency
文字列変数には、最大 65,535 文字の文字列を収めることができます。 格納後の文字列は、対応する Unicode 値に変換されます。 文字列変数の用途としては、プログラム内での文字列処理を行う場合や、最大 64 キロバイトの非印刷文字を一時的に格納する場合などに適しています。 文字列変数が消費するメモリ量は、格納する文字列の長さに依存します。 型宣言用の記号は「$」です。
Dim 変数名$
Dim 変数名 As String
ブール型変数には、TRUE (真) および FALSE (偽) という 2 つの値の一方を収めることができます。 数値 0 は FALSE として評価され、それ以外のすべての値は TRUE として評価されます。
Dim 変数名 As Boolean
日付変数には、日付と時刻を示す値を内部形式で収めることができます。 日付変数へ値を代入する際に、 Dateserial 、 Datevalue 、 Timeserial または Timevalue を使用すると、自動的に内部形式へ変換されます。 日付変数の値を通常の数値に変換するには、 Day 、 Month 、 Year の各関数および Hour 、 Minute 、 Second の各関数を使用できます。時刻や日付は、内部形式に変換することにより、時刻間の比較計算など行えます。 日付変数は、キーワード Date でのみ宣言できます。
Dim 変数名 As Date
宣言された変数には、初期値として「NULL」値が自動的に設定されます。 変数型ごとに下記の規約が適用されるので、注意してください。
数値 変数には、宣言後に「0」が自動的に代入されます。
日付変数 には、初期値として「0」が代入されます。これは、 Day 、 Month 、 Year の各関数および Hour 、 Minute 、 Second の各関数を使用して値を「0」に変換した場合と同じです。
文字列変数 には、宣言後に空の文字列 ("") が代入されます。
Lotus Symphony Basic では 1 次元または多次元配列を使用することができ、変数宣言を行う際に変数型を指定します。 配列は、プログラム中でリストや表を編集する場合に適しています。 配列の各要素の指定は、数値による索引で行います。
配列の宣言には、Dim ステートメントを使う必要があります。
例 | 説明 |
---|---|
DIM text$(20) | この場合は、0 から 20 まで計 21 個の要素が確保されます。 |
DIM text$(5,4) | この場合は、計 30 個の要素が確保されます (6 x 5 要素の行列として)。 |
DIM text$(5 to 25) | この場合は、5 から 25 まで計 21 個の要素が確保されます。 |
DIM text$(-15 to 5) | この場合は、-15 から 5 まで (0 も含めた) 計 21 個の要素が確保されます。 |
索引の範囲には、正の値だけでなく負の値も使用できます。
定数値には、固定された一定の値を割り当てます。これらはプログラム中で一度だけ定義することができ、その後再定義することはできません。
CONST ConstName=Expression