Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP3 -> HSP3.2でCSVの読み込みを実装するサンプルコード

HSP3.2でCSVの読み込みを実装するサンプルコード

Hot Soup Processor 3で、CSVの読み込み機能を実装するためのサンプルです。



色々と調べた結果、HSP3.2ならば、strtrim関数が使えるため、割と楽にCSVが扱えることが判明。

ただし、改行を含む列がある場合は処理が出来ませんので、ご注意を。

処理出来ない例:"test", "te

st"



#include "hspda.as"

dialog "", 16, "" // ファイルの選択(CSVファイルを選択)
filename = refstr

sdim buf, 0xffff // ファイルの内容を格納
sdim _line, 0xfff // 1行分の文字列を格納
sdim tmp, 0xfff // 一時的に使用
len = 0 // 取得した行数

notesel buf // メモリノートパッドの初期化
noteload filename // ファイルの読み込み
sdim records, 0xfff, notemax // CSVの行数分メモリを確保

// メインループ
repeat notemax
    noteget _line, cnt // 1行取得
    // 1行分をメモリノートパッド形式でCSVに変換し、
    // records.cntに保存
    csvnote tmp, _line
    records.cnt = tmp
    len++ // 行数インクリメント
loop

// 表示テスト。records配列をrepeatで回し、strtrimで「"」をトリミングして表示
for i, 0, len, 1
    mes "【" + (i + 1) + "行目】"
    notesel records.i
    repeat notemax
        noteget _line, cnt
        mes "" + (cnt + 1) + "列目:" + strtrim(_line, 0, '"')
    loop
next

stop

この記事の最終更新日:2017/10/28
最初に記事を書いた日:2009/12/31

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

Meteoric Streamについて

管理人

Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP3 -> HSP3.2でCSVの読み込みを実装するサンプルコード