Windowsアプリ、iPhoneアプリ、ゲーム用フリー音源の「Meteoric Stream」


日本語 | English
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

この記事をシェアする

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

関連記事

関連サービス

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