§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
その1 Print #1, Text2.Text Print #1, Text3.Text Print #1, Text4.Textabc
123
def2
その2 Print #1, Text2.Text, Text3.Text, Text4.Textabc 123 def 3 Print #1, Text2.Text; Text3.Text; Text4.Textabc123def 4 Write #1, Text2.Text Write #1, Text3.Text Write #1, Text4.Text"abc"
"123"
"def"5 Write #1, Text2.Text, Text3.Text, Text4.Text"abc","123","def" 6 Write #1, Text2.Text; Text3.Text; Text4.Text"abc","123","def"
形式2,3のように1つのPrint命令で出力すると出力データも1行になる。ただし、出力したい値をカンマ(,)で区切ったときとセミコロン(;)で区切ったときでは出力データは異なる。
形式4のようにWrite命令で出力すると各データがダブルクォーテーション(")ではさまれる。
形式5,6のように1つのWrite命令で出力すると出力データも1行になる。ただし、出力されたデータはカンマ(,)で区切られる。形式5,6のように出力したい値をカンマ(,)で区切ってもセミコロン(;)で区切っても出力データは同じである。
出力したい値、ここではText2.Text 〜 Text4.Textの3つであり、それぞれTextプロパティの値は文字列(String)型である。では、数値の場合についてまとめておく。文字列を数値にするためVal関数を使用して出力したい値を Val(Text2.Text) のようにする。ちなみに数字以外の文字は0になる。
形式 出力パート 出力データ形式 7 Print #1, Val(Text2.Text) Print #1, Val(Text3.Text) Print #1, Val(Text4.Text)0
123
08 Print #1, Val(Text2.Text), _ Val(Text3.Text), Val(Text4.Text)0 123 0 9 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.Text0
123
011 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
形式8,9,11,12の1行目の最後がアンダーライン(_)になっていて、2行に分かれている。VisualBasicではアンダーライン(_)によって命令文が次の行に続くことを表す。
形式7,8,9(Print命令)では数値の前に正負の符号を表すため1文字分あく。正の場合、+記号は表示されない。
形式10,11,12(Write命令)では余分な空白は入らない。
文字列と数値で出力データの形式が異なる。また、出力したい値に文字列と数値の両方があるときも上のまとめの形式が混在した形で出力される。
(4) 出力データの形式 | |
Copyright © 2002 Hiroshi Masuda |