ファイルポインタから行を取得し、CSVフィールドを処理する
Public Function fgetcsv(delim)
    Dim tmp,d
    If len(delim) > 0 Then d = delim Else d = "",""
    tmp = ts.ReadLine
    fgetcsv = fgetcsv_helper(tmp,d)
End Function
Public Function fgetcsv_helper(str,d)
    Dim matchAll,key
    Dim data,field,record : field = 0 : record = 0
    ReDim data(0)
    If preg_match_all(_
    ""/"" & d & ""|"" & vbCr & ""?"" & vbLf & ""|[^"" & d & """" & vbCrLf & ""][^"" & d & "" & vbCrLf & ""]*|""(?:[^""]|"""")*""/"",_
    str, matchAll,PREG_PATTERN_ORDER,"") Then
        For Each key In matchAll(0)
            Select Case key
            Case d
                field = field + 1
            Case vbCrLf
                [] data , ""
                record = record +1
            Case Else
                If left(key,1) = """" Then
                    key = Replace(substr(key,2,-1),"""","""")
                End if
                [] data(record), key
            End Select
        Next
    End If
    fgetcsv_helper = data
End Function
引数
delim = string フィールドのデリミタ (1 文字のみ) を設定します。
戻り値
読み込んだフィールドの内容を含む数値添字配列を返します。
処理
  fgets() に動作は似ていますが、 fgetcsv() は行を CSV  フォーマットのフィールドとして読込み処理を行い、 読み込んだフィールドを含む配列を返すという違いがあります。
File_System class内での処理

