Loc 関数

更新 : 2007 年 11 月

開いたファイル内の現在の読み込み位置または書き込み位置を指定する長整数型 (Long) の値を返します。

Public Function Loc(ByVal FileNumber As Integer) As Long

パラメータ

  • FileNumber
    必ず指定します。有効なファイル番号を表す整数型 (Integer) の値。

例外

例外の種類

エラー番号

条件

IOException

52

FileNumber が存在していません。

IOException

54

ファイル モードが無効です。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

Loc 関数はゼロから始まります。つまり、ファイルの先頭のバイトを取得すると 0 が返されます。

Loc 関数は、下位互換性を保つために提供されており、パフォーマンスに影響を与える可能性があります。非レガシ アプリケーションに対しては、My.Computer.FileSystem オブジェクトを使用した方が、パフォーマンスが高くなります。詳細については、「Visual Basic におけるファイル アクセス」を参照してください。

各ファイル アクセス モードの戻り値を次に示します。

モード

戻り値

Random

ファイルに対して直前に入出力を行ったレコードの番号を返します。

Sequential

ファイル内の現在のバイト位置を 128 で割った値を返します。シーケンシャル ファイル入力モードのファイルに対する Loc 関数の戻り値です。

Binary

直前に入出力を行ったバイト位置を返します。

使用例

Loc 関数を使って、開いているファイル内の現在の読み書き位置を返す例を次に示します。MyFile は、複数行のサンプル データを含むテキスト ファイルと仮定します。

Dim location As Long
Dim oneChar As Char
FileOpen(1, "C:\TESTFILE.TXT", OpenMode.Binary)
While location < LOF(1)
   Input(1, oneChar)
   location = Loc(1)
   WriteLine(1, location & ControlChars.CrLf)
End While
FileClose(1)

スマート デバイス開発者のためのメモ

この関数はサポートされていません。

必要条件

名前空間 : Microsoft.VisualBasic

モジュール : FileSystem

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

参照

参照

EOF 関数

LOF 関数

Seek 関数

IOException