入力モードで開くテキスト・ファイルを指定します。
構文:
パラメタ:
filename
入力のために開く、ファイル名
encoding_type
ファイルのコード化方法を指定します。
lock_type
ファイルが開いている間、使用をロックします。
filenum
オープン・ファイルに関連づける、未使用のファイル番号
記述:
読むためのテキスト・ファイルを開くのに、
Open と共に使う、ファイルモード。
FreeBASIC では、テキストファイルを同時に読み書きできないので、同じファイルで両方の機能を必要とするなら、二度それを開かなければなりません。
filename は、目標の OS に従ったファイル名となる、文字列表現にして下さい。ワイルドカードは、使えません。
filename が、ドライブ・フォルダ経路を含んでいない場合、現在のディレクトリで、ファイルを捜します。ファイルが存在しないと、エラーとなります。
ポインターは、ファイルの先頭文字に設定されます。
Encoding_type は、ファイルのUnicode符号化(
Encoding)を指定できるので、文字を正しく読むことができます。
Encoding_type を省略すると、デフォルトとして、「ASCII」コード化が使われます。
現在、utf16 では、リトルエンディアン文字符号化だけがサポートされます。
- "utf8"
- "utf16"
- "utf32"
- "ascii" (デフォルト)
Lock_type は、下のいずれか一つで、ファイルを他のプロセスのためにロックする方法を、指定します:
- Read - ファイルは、読み込み以外では、同時に他のプロセスで開くことができます。
- Write - ファイルは、書き出し以外では、同時に他のプロセスで開くことができます。
- Read Write - 同時に、他のプロセスでファイルを開くことができません。(デフォルト)
filenum は、現在開いている、他のどのファイルにも使われていない、有効な FreeBASIC ファイル番号(1〜255の範囲)です。
ファイル番号は、以降のファイル操作で、ファイルを特定するために使われます。
空いているファイル番号を、
Freefile 関数を使って見つけることができます。
例:
Dim ff
As UByte
Dim randomvar
As Integer
Dim name_str
As String
Dim age
As Integer
'' テストデータを収集し、Write # でファイルにと出力します
'' 画面上で文字化けしますが、漢字入力できます。
'' Open Cons を使うと、文字化けを回避できます。
Input "あなたの名前をキー入力して下さい。 ", name_str
Input "あなたの年令をキー入力してください。 ", age
Randomize
Print
ff =
FreeFile
Open "testfile" For Output As #ff
Write #ff,
Int(Rnd*
42), name_str, age
Close #ff
'' 変数を消去
randomvar =
0
name_str =
""
age =
0
'' Input # を使って変数を入力
ff =
FreeFile
Open "testfile" For Input As #ff
Input #ff, randomvar, name_str, age
Close #ff
Print "無作為の数字: " & randomvar
Print "あなたの名前: " & name_str
Print "あなたの年令: " & age
Sleep
'このサンプルで出力されたファイルは、下のようになっているでしょう。
'(もちろん、行頭コメントの「'」は、無いですよ):
'23, 渡辺真 ,19
QBからの違い:
参照: