2012年2月18日土曜日

MAXScript ストリングストリーム

StringStream

-- テストその1
fn TestStringStream1 = (
    -- 空のStringStreamを作成
    ss1 = stringStream ""
--  ss1 = stringStream      -- ERROR
    
    -- ss1に出力
    format "ABC %" "123456789" to:ss1
    
    -- シーク位置を先頭にする
    seek ss1 0
    -- 読み込んだ行を出力   シーク位置が進む
    format "%\n" ( readLine ss1 )
    
    -- ストリームの終了チェック
    isEnd = eof ss1
    format "isEnd = %\n" isEnd  -- true
)

-- テストその2
fn TestStringStream2 = (
    -- .NETクラスを取得
    dnDayTime = dotNetClass "System.DateTime"
    dnTimeZone = dotNetClass "System.TimeZone"
    
    -- 日付を取得
    currentDate = dnDayTime.Now
    currentYear = currentDate.Year

    -- 空のStringStreamを作成
    ss = stringStream ""

    -- ssに書き込む
    format "Current Year = %\n" currentYear to:ss
    format "Month = %\n" currentDate.Month to:ss
    format "Day = %" currentDate.Day to:ss
    
    -- ssの内容を出力
    seek ss 0
    while not eof ss do (
        format "%\n" (readLine ss)
    )

--  print (readLine ss)
--  while not eof ss do print ( readLine ss )
)

TestStringStream1()
TestStringStream2()

0 件のコメント:

コメントを投稿