§2 ファイルの処理 VB6
 (4) 出力データの形式 前へ 目次へ 次へ 

 先のプログラム(FileInOut)の出力パートの部分をいろいろ変更して、どのような形式で記録されるか見てみる。

Private Sub Command2_Click()
'Aデータ入力・書込み
'   Text2〜Text4の内容(Textプロパティ)をファイルに書き込む
'
    Print #1, Text2.Text    '出力パート
    Print #1, Text3.Text
    Print #1, Text4.Text
End Sub

 書き込みに使用するデータは、abc, 123, def の3つとする。


出力データの形式 その1

出力パート 出力データ形式
Print #1, Text2.Text
Print #1, Text3.Text
Print #1, Text4.Text

 1つのデータが1行に記録されている。すなわち、データの区切りとして改行文字が使われていることがわかる。


出力データの形式 その2

出力パート 出力データ形式
Print #1, Text2.Text, Text3.Text, Text4.Text

 3つのデータが1行に記録されている。それぞれのデータは空白文字で間隔があく。すなわち、データの区切りとして空白文字が使われていることがわかる。


出力データの形式 まとめ

 その1、その2のように出力パートの書き方を変えると出力データ形式が変わる。ここで、Write命令も含めてまとめておく。

形式 出力パート 出力データ形式

その1
Print #1, Text2.Text
Print #1, Text3.Text
Print #1, Text4.Text
abc
123
def

その2
Print #1, Text2.Text, Text3.Text, Text4.Text
abc          123          def
Print #1, Text2.Text; Text3.Text; Text4.Text
abc123def
Write #1, Text2.Text
Write #1, Text3.Text
Write #1, Text4.Text
"abc"
"123"
"def"
Write #1, Text2.Text, Text3.Text, Text4.Text
"abc","123","def"
Write #1, Text2.Text; Text3.Text; Text4.Text
"abc","123","def"

 形式のように1つのPrint命令で出力すると出力データも1行になる。ただし、出力したい値をカンマ(,)で区切ったときとセミコロン(;)で区切ったときでは出力データは異なる。
 形式のようにWrite命令で出力すると各データがダブルクォーテーション(")ではさまれる。
 形式のように1つのWrite命令で出力すると出力データも1行になる。ただし、出力されたデータはカンマ(,)で区切られる。形式のように出力したい値をカンマ(,)で区切ってもセミコロン(;)で区切っても出力データは同じである。


 出力したい値、ここではText2.Text 〜 Text4.Textの3つであり、それぞれTextプロパティの値は文字列(String)型である。では、数値の場合についてまとめておく。文字列を数値にするためVal関数を使用して出力したい値を Val(Text2.Text) のようにする。ちなみに数字以外の文字は0になる。

形式 出力パート 出力データ形式
Print #1, Val(Text2.Text)
Print #1, Val(Text3.Text)
Print #1, Val(Text4.Text)
 0
 123
 0
Print #1, Val(Text2.Text), _
  Val(Text3.Text), Val(Text4.Text)
 0          123          0
Print #1, Val(Text2.Text); _
  Val(Text3.Text); Val(Text4.Text)
 0  123  0
10
Write #1, Text2.Text
Write #1, Text3.Text
Write #1, Text4.Text
0
123
0
11
Write #1, Val(Text2.Text), _
  Val(Text3.Text), Val(Text4.Text)
0,123,0
12
Write #1, Val(Text2.Text); _
  Val(Text3.Text); Val(Text4.Text)
0,123,0

 形式1112の1行目の最後がアンダーライン(_)になっていて、2行に分かれている。VisualBasicではアンダーライン(_)によって命令文が次の行に続くことを表す。

 形式(Print命令)では数値の前に正負の符号を表すため1文字分あく。正の場合、+記号は表示されない。
 形式101112(Write命令)では余分な空白は入らない。

 文字列と数値で出力データの形式が異なる。また、出力したい値に文字列と数値の両方があるときも上のまとめの形式が混在した形で出力される。


 (4) 出力データの形式 前へ 目次へ 次へ 
Copyright © 2002 Hiroshi Masuda 

 

 

inserted by FC2 system