FreeBASIC マニュアルのトップに戻る

FreeBASIC Open

目次→実行時ライブラリー参考→ファイル入出力関連OPEN←オリジナル・サイト

OPEN 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

ファイル操作を使って、読み書きするために、ディスク・ファイルを開きます。

構文:
Open filename For Input [encoding_type] [lock_type] As [#]filenumber
Open filename For Output [encoding_type] [lock_type] As [#]filenumber
Open filename For Append [encoding_type] [lock_type] As [#]filenumber

Open filename For Binary [access_type] [lock_type] As [#]filenumber
Open filename For Random [access_type] [lock_type] As [#]filenumber [Len = record_length]

用法:
result = Open( filename[,] For {Input|Output|Append}[,] As filenumber )
または、
result = Open( filename[,] For Binary[,] Access {Read|Write}[,] As filenumber )
または、
result = Open( filename[,] For Random[,] Access {Read|Write}[,] As filenumber [[,] Len = record_length] )
または、
Open filename For {Input|Output|Append} As filenumber
または、
Open filename For Binary Access {Read|Write} As filenumber
または、
Open filename For Random Access {Read|Write} As filenumber [Len = record_length]


パラメタ:
filename
開くディスク・ファイルの、名前の文字列。
相対ファイル経路を使う場合は、現在のディレクトリが基準になります。(Curdirを参考)。
encoding_type
テキストを読み書きするとき、使われる符号化の形式。以下のいずれかを使います。
  • "ascii" でコード化 (ASCII コード化を使います。デフォルトです。)
  • "utf8" でコード化 (8ビットのユニコード・コード化を使います。)
  • "utf16" でコード化 (16ビットのユニコード・コード化を使います。)
  • "utf32" でコード化 (32ビットのユニコード・コード化を使います。)
Encoding を参照下さい。
access_type
呼ぶ過程で要求する、アクセス形式。
  • Access [Read] [Write] (読み書きの両方が使えます。どちらがデフォルトかを指定します。)
lock_type
ディスク・ファイルに、他の処理(スレッドやプログラム)からアクセスするときの制限を課します。下記のいずれかを使います。
  • Shared (ファイルは、他の処理から自由ににアクセスできます。)
  • Lock [Read] [Write] (読み書き両方について、他の処理からのアクセスを否定することができます。)
filenum
ディスク・ファイルに結びつける、有効なファイル番号。Freefile で見つけることができます。
record_length
ディスクファイルに対して、読み書きする、各レコードの、バイト単位で表現されるサイズ。デフォルトは 128 です。

戻り値:
最初の使用法で、Open() は32ビットの Long 値を返します。成功するとゼロ (0) 、失敗するとゼロ以外のエラーコードが返されます。

記述:
読み/書きするために、ディスク・ファイルを開きます。
ファイル番号 file_num は、以降のファイル操作で使うために、ディスクの上のファイルに結び付けられます。Input #Lockのように。
Freefile で、次の処理で使えるファイル番号を検索できます。

InputOutputAppend ファイル・モードは、順次処理で、テキスト・ファイルを、入出力するために開きます。 プレーン・テキスト・ファイルを読み書きするときに、役立ちます:

Input,Output, Append モードでは、ディスク・ファイルで、テキストを読み書きするときに使う、文字符号化の方法を、選択できます。
ASCII と、ユニコード・コード化を指定することができます。(上記の、encoding_typeパラメータの記述を参考下さい。)

BinaryRandom ファイル・モードは、任意の大きさの2進数データを、ランダムアクセスで、読み書きするために、ディスク・ファイルを、開きます:

Binary ファイルモードと Random ファイルモードは、デフォルトでは、開いているディスク・ファイルに対して読み取りと書き込みの両方の操作が可能です。
しかし、アクセスタイプを指定することで変更できます(上記の access_type パラメータの説明を参照)。
既存のファイルを、Binary または Random ファイルモードで開き、Write アクセスタイプのみを指定した場合、ファイル内のすべてのデータは、他の操作の前に、開くときに前もって削除されます。

全てのファイル・モードで、lock 型を使って、他のスレッドやプログラムに対して、開かれたディスクファイルへのアクセスを、制限するか、承諾するかを、指定できます。(上記の lock_type パラメータの記述を参照下さい。)
lock 型を指定しないと、現行プログラムの他のスレッドは、自由に、ディスクファイルを開くことができます(Shared)。しかし、他のプログラムは、開くことができません(Lock Read Write)。
LockUnlock を使って、ファイルの部分に、一時的にアクセス制限をかけることができます。

Open で返されるエラーコードは、次の行で、Err を使うことで、チェックできます。
Open 関数 は、直接、エラーコードを、32 bit Longで返します。

例:
' 文字列変数を生成して文字列を登録します
Dim buffer As String, f As Integer
buffer = "Hello World within a file."

' 空いている、最初のファイル番号を見つけます
f = FreeFile

' 2進法を使ってファイル "file.ext" を開きます。ファイル番号は "f" を使います
Open "file.ext" For Binary As #f
If Err>0 Then Print "Error opening the file":End

' 数 "f" を使って文字列をファイルに入れます
Put #f, , buffer

' 開いている全てのファイルを閉じます
Close

' プログラムを終了します。(ファイル "file.ext" をチェックして、出力を見てください。)
End



'COMポートを開けます
Open Com "COM1:9600,N,8,1" As #1
If Err>0 Then Print "The port could not be opened."

'COM1, 9600 BAUD, NO PARITY BIT, EIGHT DATA BITS, ONE STOP BIT
'COM1、伝送の速度 9600 ボー、パリティビット無し、8データ・ビット、1つの停止ビット'



'関数としての OPEN の場合
If Open("file.ext" For Binary Access Read As #1) = 0 Then
    Print "Successfully opened file"
    '' ...
    Close #1
Else
    Print "Error opening file"
End If



プラットホーム差:

QBからの違い:

方言差:

参照:
ファイル入出力関連に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2018-03-12 00:52:45
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承