はじめまして。VB6を使用しています。
フォームで入力した5項目と固定項目3つを合わせて
固定長のファイルで出力し、ファイル名を「xxx.HDR」で保存する。
という処理をしたいのです。
読み込み方法は見つかったのですが、書き込み(出力)する方法が分かりません。
どのような方法があるでしょうか。
よろしくお願いします。
> 書き込み(出力)する方法が分かりません。
ってことは「固定長」は関係ないのかな?
書き込みについてはググれば結構出てきますが?http://www.google.co.jp/search?hl=ja&q=VB6+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
>ってことは「固定長」は関係ないのかな?
すみません。書き方が悪かったようです。
ファイルはあくまでも固定長で出力したいです。
そのファイルを「xxx.HDR」の名前で保存したいです。
カンマ区切りやスペース区切りのなどのCSVファイルの出力は
結構検索したらでたきたのですが、固定長での出力は分かりませんでした。
(見落としてるのかもしれませんが…)
よろしくお願いします。
自前で固定長にしてから、出力するだけでは?
こんな関数を作るとか... (サッと作ったので結構適当...w)
nTarget ・・・ 処理対象文字列を指定
iLength ・・・ 結果的に合計何文字にしたいのか指定
[nPadString] ・・・ どの文字で埋めるか指定 (省略時は半角スペース)
' 左を埋める
Public Function PadLeft(ByVal nTarget As String, ByVal iLength As Integer, Optional ByVal nPadString As String = " ") As String
If Len(nTarget) < iLength Then
nTarget = String$(iLength - Len(nTarget), nPadString) & nTarget
End If
PadLeft = Right$(nTarget, iLength)
End Function
' 右を埋める
Public Function PadRight(ByVal nTarget As String, ByVal iLength As Integer, Optional ByVal nPadString As String = " ") As String
If Len(nTarget) < iLength Then
nTarget = nTarget & String$(iLength - Len(nTarget), nPadString)
End If
PadRight = Left$(nTarget, iLength)
End Function
>自前で固定長にしてから、出力するだけでは?
そうですよね。すみません。難しく考えてしまいました…
関数まで教えていただきありがとうございます。
参考にさせていただきます。
ツイート | ![]() |