構成要素 |
OS/400® における使用 |
---|---|
ActivateApp |
使用できません。ランタイムエラーとなります。 |
ChDir |
引数中にドライブを表す文字が指定されている場合など、引数を ChDir に解釈できないときは、ランタイムエラーとなります。 |
ChDrive |
ドライブ引数が既定のドライブを示す空の文字列 ("") でない限り、ランタイムエラーとなります。 |
CreateObject |
使用できません。ランタイムエラーとなります。 |
CurDir、CurDir$ |
ドライブ引数が既定のドライブを示す空の文字列 ("") でない限り、ランタイムエラーとなります。 |
CurDrive、CurDrive$ |
iSeries® のサーバーにはドライブがないため、空の文字列 ("") が返されます。 |
Date、Date$ |
LotusScript® を通して OS/400 上で日付を変更することはできません。ランタイムエラーとなります。 |
Declare |
外部関数呼び出し用の Pascal 呼び出し規則はサポートされていません。すべての外部関数呼び出しには CDECL 呼び出し規則を使用する必要があります。また、ポインタ以外の引数を渡すときは、_System リンケージキーワードを使用しなければいけません。 |
Dir、Dir$ |
attributeMask 引数を無視し、すべてのファイルが Normal 属性を持っているかのように動作します。「*.*」に対しては、「.」を含むファイルだけでなくすべてのファイルを返します。「*.」には、拡張子のないすべてのファイルではなく、ピリオドで終わるファイルを返します。 |
FileLen、Len、LenB、LenBP、LOF |
行終了文字を含む文字列は、DOS/Windows プラットフォーム上よりも小さくなります。行終了文字は 2 文字ではなく 1 文字 (行送り) です。したがって、これらの関数の戻り値は、文字列については OS/400 上では Windows 上より短くなります。 |
GetFileAttr |
ドライブ文字が引数に含まれているとランタイムエラーになります。次の属性を返しません。ATTR_HIDDEN、ATTR_ARCHIVE、ATTR_VOLUME、ATTR_SYSTEM。 |
GetObject |
使用できません。ランタイムエラーとなります。 |
Input #、Input、Input$、InputB、InputB$、Line Input、Print、Write # |
これらのコンストラクトを使用してコンパイルしたスクリプトは、ファイルのデータがプラットフォーム固有の方法で格納されるため、プラットフォーム固有になることがあります。OS/400 の文字セット、バイト順、行終了文字、数値精度指定子は、これらの関数を使用するスクリプトの移植性に影響することがあります。 |
IsObject、IsUnknown |
「その他の違い」を参照してください。 |
Open、Lock、Unlock |
ファイルのロックは、明示的にも暗黙的にも実行できません。これは次のことを意味します。
|
SendKeys |
使用できません。ランタイムエラーとなります。 |
SetFileAttr |
属性 ATTR_HIDDEN、ATTR_ARCHIVE、ATTR_VOLUME は無視されます。 |
Shell |
ウィンドウの種類は無視されます。 |
Time、Time$ |
LotusScript を通して OS/400 上で時刻を変更することはできません。ランタイムエラーとなります。 |
iSeries サーバー上ではドライブ名を使用しません。ドライブ名を含むパス名を使用すると、エラーとなることがあります。
ディレクトリ区切り文字は、DOS/Windows では円記号 (¥) ですが、OS/400 ではスラッシュ (/) が使用されます。LotusScript ではスラッシュと円記号の両方をサポートしています。ただし、次のような制限があります。
OS/400 上のテキストファイルには CCSID (文字セット) 属性があります。Charset が指定されておらず、ファイルに UTF-16 または UTF-8 BOM (バイトオーダーマーク) が含まれていない場合、Open ステートメントは CCSID 属性を使用してファイルのコードページを判断します。
OS/400 では、(Declare ステートメントの Alias クラスを使用して) 序数を使用した関数の別名は使用できません。
ファイルパス文字列にワイルドカードを使用できる場合、「*」と「?」だけでなく、UNIX の正規表現を使用できます。ただし、ファイルパスの文字列に正規表現を使用すると、そのスクリプトはプラットフォーム依存になります。
OS/400 用の LotusScript リリース 3.1 では、OLE はサポートされていません。この違いは CreateObject、GetObject、IsObject、IsUnknown 関数に影響します。CreateObject と IsObject 関数は、OS/400 プラットフォーム上で実行するとランタイムエラーになります。IsObject 関数は、変数がネイティブなオブジェクトを参照するか製品に固有なオブジェクトを参照するか指示できますが、OLE オブジェクトを参照している場合は判断できません。これは、OS/400 プラットフォーム上には OLE オブジェクトが存在しないためです。OS/400 上では Variant 型の式で値 V_UNKNOWN を受け取る方法はないため、IsUnknown 関数は常に FALSE を返します。
ポインタ引数を C 関数に渡すとき、OS/400 上でのポインタサイズは 4 バイトではなく 16 バイトであることに注意してください。