LotusScript での Macintosh プラットフォームの違い

言語の定数の違い

構成要素

Macintosh における使用

ChDir

「ハードドライブ名:フォルダ名 1:フォルダ名 2:」のような Macintosh のハードドライブの指定方法がサポートされています。「C:¥」のような DOS のドライブの指定方法はサポートされていません。

ChDrive

ドライブ引数が既定のドライブを示す空の文字列 ("") でない限り、ランタイムエラーとなります。ドライブを変更するには ChDir を使用します。

Command

一般に、Macintosh 上ではコマンドライン引数を使用しません。ただし、引数の使用が可能な IBM® ソフトウェアアプリケーションでは、引数が返されます。

CurDir

ドライブ引数が既定のドライブではない場合、または明示的に既定のドライブを示す空の文字列 ("") として指定されていない場合は、ランタイムエラーとなります。

CurDrive

Macintosh にはドライブを示す文字がないため、空の文字列 ("") が返されます。

Date、Date$

セキュリティとシステムの保全性の関係で、Macintosh OS X 上で日付を変更できるのはスーパーユーザーだけです。他のユーザー名を使用して日付を変更しようとすると、ランタイムエラーとなります。スーパーユーザーとしてログイン中に日付を変更しようとすると、システム全体で日付が変更されます。

Declare

外部関数呼び出し用の Pascal 呼び出し規則はサポートされていません。

Dir

隠しファイル属性、システム属性は無視されます。ディレクトリ指定「.」と「..」は返されません。「*.*」に対しては、「.」を含むファイルだけでなくすべてのファイルを返します。「*.」に対しては、拡張子のないファイルではなく、「.」で終わるすべてのファイルを返します。ATTR_VOLUME のみが指定されていると空の文字列を返します。別の属性が指定されている場合、ATTR_VOLUME は無視されます。

Environ

空の文字列を返します。有効範囲より大きい変数の数など、不正な引数が渡されるとランタイムエラーとなります。

FileLen

行終了文字は 2 文字ではなく 1 文字であるため、行終了文字を含むファイルは DOS プラットフォーム上より小さくなります。

GetFileAttr

次の属性を返しません。ATTR_ARCHIVE、ATTR_VOLUME、ATTR_SYSTEM

Len、LenB

行終了文字は 2 文字ではなく 1 文字であるため、行終了文字を含むファイルから読み込んだ文字列は、DOS プラットフォーム上より小さくなります。

Lock

開いたファイルを操作 (コピー、開くなど) できます。

Open

開いたファイルを操作 (コピー、開くなど) できます。

SendKeys

使用できません。ランタイムエラーとなります。

SetFileAttr

ATTR_ARCHIVE 属性か ATTR_SYSTEM 属性を渡すと、Permission Denied エラーとなります。

Time、Time$

セキュリティとシステム保全性の関係で、Macintosh OS X 上で時刻を変更できるのはスーパーユーザーだけです。他のユーザー名を使用して時刻を変更しようとすると、ランタイムエラーとなります。スーパーユーザーとしてログイン中に時刻を変更しようとすると、システム全体で変更されます。

Unlock

開いたファイルを操作 (コピー、開くなど) できます。

ファイルシステムの違い

パス名に円記号が含まれていなければ、Macintosh 方式のパス名とみなされます。パス名に円記号が含まれていると、DOS 方式のパス名とみなされます。

Macintosh 上ではドライブ名を使用しません。すべてのデバイスはルートディレクトリの下に配置されます。ドライブ名を含むパス名を使用すると、エラーとなることがあります。%Include 命令を使用する場合、これはコンパイルエラーとして扱われ、その他の場合は実行エラーとして扱われます。

ファイルには DOS の命名規則 (8 文字の名前と 3 文字の拡張子) は適用されません。

Macintosh では、既定のディレクトリはドライブごとに格納されません。DOS のようにドライブごとにではなく、カレントディレクトリが 1 つだけ保守されます。ドライブ名は 27 文字以内です。この制限は、ChDir、ChDrive、CurDir に影響します。

Macintosh では、ディレクトリ指定「.」と「..」が認識されません。この制限は Dir 関数に影響します。

Macintosh では、ファイルシステムの属性 Volume、Archive、System は使用しません。この制限は Dir、GetFileAttr、SetFileAttr に影響します。

Macintosh では、行終了文字として復帰 (ASCII 13) 文字を使用します。他のプラットフォーム上では他の文字を使用します。この違いは、同じ LotusScript® のコードを使用して操作するファイルと文字列でも、実行するプラットフォームが違えばサイズが異なることを意味します。例えば、UNIX プラットフォームでは行終了文字として 1 文字 (改行) を使用するため、UNIX プラットフォーム上で作成したテキストファイルの長さは Macintosh 上で作成したものと同じになります。Windows プラットフォーム上では 2 文字を使用するため、Windows 上で作成したテキストファイルは、同じソースコードを使用した場合でも、Macintosh 上で作成したテキストファイルより大きくなります。この違いは FileLen、Len、LenB、LenBP に影響します。

Macintosh では、他のアプリケーションで読み取り用に開いているファイルを、コピーする、開くなどの操作ができます。LotusScript で出力のために開かれたファイルはロックされます。他のアプリケーションで、このファイルを開いたり、コピーしたりすることはできませんが、ファイルの移動と名前の変更は可能です。Lock と Unlock は、共有のファイルにのみ適用できます。ロックされるファイルはサーバー上に存在するか、ローカルボリュームに存在する場合はファイルの共有が選択されている必要があります (コントロールパネルの [Sharing Setup] を使用します)。この違いは、Open、Lock、Unlock に影響します。

その他の違い

Macintosh PC では、序数 (Declare ステートメントの Alias 節を使用) による関数の別名は使用できません。

Macintosh 上にはシステム環境変数がありません。この違いは Environ に影響します。