2011年7月5日火曜日

→→→固定長の書き出し

Private Structure Info
   Public strA As String
   Public strB As String
End Structure     


Private Structure Wri
      <VBFixedString(6)>Public strW1 As String
      <VBFixedString(7)>Public strW2 As String
End Structure
Private pInfo(1000) As Info
Private pWri(1000) As Wri
const FileName = "D:\in.txt"
const FileOutName = "D:\out.txt"

Private Sub Button1_Click(.....
    Dim FileNum , FileOutNum As Integer
    Dim i , j As Integer
    Dim strOcc() As String
    Dim DataBuff As String
    Erase strOcc
    FileNum = FreeFile()
    FileOpen( FileNum , FileName , OpenMode.Input )
    i   = 0 
    Do Until EOF ( FileNum )
           DataBuff = LineInput( FileNUm )
           strOcc = DataBuff.Split( "," c)
           pInfo(i).strA = strOcc(0)
            If  strOcc(1) = " " Then
               strOcc(1) = "'"
            End if
            pInfo(i).strB = strOcc(1)
            i += 1
      Loop

      FileOutNum = FreeFile()
      FileOpen( FileOutNum , FileOutName , OpenMode.Random , , , 348 )  '--->348レコード長

For j = 0 To i - 1
    pWri(j).strW1 = pInfo(j).strA
    pWri(j).strW2 = pInfo(j).strB
    pWri(j).LF  = vbCrLf
    FilePut( FileOutNum , pWri(j) )
Next
FileClose( FileNum )
FileClose( FileOutNum )
End Sub

0 件のコメント:

コメントを投稿