HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0718
うえぽんhsp dishでcsvデータを読み込ませたい14解決


うえぽん

リンク

2016/7/18(Mon) 07:29:33|NO.76241

はじめまして、HSP3.5betaを使って、アンドロイドアプリを作っています。
hsp3 dishで、.csvまたは.txtまたは.datのデータをMAPデータとして、
配列に入れたいと考えたどり着いたのが、下記URLです。

http://meteoricstream.com/tips_detail/2.html

#include "hsp3dish.as"
;csvread.hsp
#include "hspda.as"

dishを作るので、#include "hsp3dish.as"を最初にインクルードすると、
読み込めず

;#include "hsp3dish.as"
;csvread.hsp
#include "hspda.as"

#include "hsp3dish.as"をコメントアウトすると、確認用画面で、
キッチリ確認出来ました。

どのように、外部ファイルをhsp3 dishに取り込めるか?
ご教授の程、よろしくお願いいたします。


;#include "hsp3dish.as"
;csvread.hsp
#include "hspda.as"


;読み込み
sdim data

// まずファイルがあるか確認
exist "test.dat"
if strsize=-1:mes "ファイルがありません!":stop

// おなじない
notesel data

// ファイルを読み込みます
noteload "test.dat"

// そのまま表示する
mes data
stop



この記事に返信する


沢渡

リンク

2016/7/18(Mon) 12:20:17|NO.76244

「HSP3Dish プログラミングマニュアル・基本仕様ガイド」に、「HSP3Dishのシステム上、利用できないプラグインも存在する」とあり、hspda.asはこれに該当するのではないでしょうか? それでCSV関連の命令は使えないと。
また、仮に使えたとしても、

「拡張プラグイン・外部DLL呼び出し機能は、Windows上でのみサポートされる機能になりますので、他のプラットフォーム(iOSやandroid、WebGLなど)上には変換されません」
とありますので、Android上での動作を想定しているのなら、やっぱり使用できません。(hspda.asは内部でhspda.dllを呼び出しているため)

CSV関連の命令を使わずとも、split命令やstrtrim関数を使えばCSVは扱えますので、その方法を検討してみてはいかがでしょうか。



GENKI

リンク

2016/7/18(Mon) 12:59:39|NO.76248

dishで使えるかどうかわかりませんが、こういうものもあります。

HSP開発wiki
http://wiki.hsp.moe/String%EF%BC%8FCSV%E5%BD%A2%E5%BC%8F%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF.html



OK

リンク

2016/7/18(Mon) 13:15:56|NO.76249

HSP3Dish helper ver.○.○から、ビルドに使用するデータを、

データファイル(dpm)作成でdata.dpmファイルを指定、その中に各種データを格納。

例外に.wavや.mp3は含めない。

テキストファイル等はこのdata.dpmを使うことを推奨しているようです。m(_ _)m



うえぽん

リンク

2016/7/18(Mon) 15:55:38|NO.76251

みなさま、お忙しい所、初心者にお時間頂きありがとうございます。

沢渡さん、ありがとうございます。
hsp3 dishで、.csvまたは.txtまたは.datのデータをMAPデータとして、扱いたく。
>ご教授、ありがとうございます。
.csvでなくてもいいんですが、.datデータをどうしたらいいのか、解りません。
ご教授の程、よろしくお願いいたします。

GENKIさん、レスありがとうございます。
頂いたURLを見たのですが???です。
OKさんから頂いたレスを参考にしようと奮闘してます。

OKさんレスありがとうございます。


データファイル(dpm)作成でdata.dpmファイルを指定、その中に各種データを格納。
下記サイトを参照して、次のスクリプトを組んだのですが、上手く動きません。
>>http://wiki.hsp.moe/DPM.html#
>>

;
; キャラクター表示
;
#include "hsp3dish.as"
#include "hspcmp.as"
;csvread.hsp
;#include "hspda.as"
*main
redraw 0

buffer 1

screen 0,352,640 ;(旧)576×1,024これだとキャラが小さい。

#define DPM_SCR "DPM:data.dpm:"

; #pack DPM_SCR+"test.txt"
; chdpm "data.dpm"
;読み込み


// まずファイルがあるか確認
exist DPM_SCR+"test.txt"
; exist "test.txt"
if strsize=-1{
color 255, 0, 0
mes "ファイルがありません!":stop
}
// おなじない
notesel data

// ファイルを読み込みます
noteload DPM_SCR+"test.txt"
; noteload DPM_SCR+"test.txt"

// そのまま表示する
color 255, 0, 0
mes data
redraw 1

goto *main

windowsの確認画面では、文字が表示されるのですが、
Androidに転送すると、表示されません。


お忙しい所、恐縮ですがご教授の程、よろしくお願いいたします。



うえぽん

リンク

2016/7/18(Mon) 16:07:45|NO.76252

こちらも、参照させて頂きましたが、画面のmkdpmが出なかったです。
>>http://ch.nicovideo.jp/milky_way/blomaga/ar1001204



沢渡

リンク

2016/7/18(Mon) 19:06:31|NO.76258

>.datデータをどうしたらいいのか、解りません
bloadでは読み込めないですか?
datファイルの仕様を知っているのはうえぽんさんだけですので、これ以上は何とも言えませんが。

それから、テキストファイルの中で日本語を使っているのなら、文字コードの変換を行う必要があるかもしれません。
WindowsではShift-Jisですが、Android実機ではUTF-8なので、事前に変換しておかないと、正しく表示されません。
(HSPの正式バージョンではまだ日本語表示に対応していなかったと思うので、最新のβ版を使用してください)



うえぽん

リンク

2016/7/19(Tue) 04:22:42|NO.76263

沢渡さん、レスありがとうございます。

>datファイルの仕様を知っているのはうえぽんさんだけですので、これ以上は何とも言えませんが。

HSP dishでRPGゲームを作りたいと、思っています。
.dat(.csv)のデータをMAPデータとして、扱いたいと、思ってプログラムしていたのですが、
HSP dishでは、.dat(.csv)のデータを、
OKさんのレスで、
データファイル(dpm)作成でdata.dpmファイルを指定、その中に各種データを格納。
データファイル(dpm)で、.dat(.csv)のデータを試用した経験が無いので、
いきなり、.dat(.csv)のデータをMAPデータにするのではなく、
HSP dishでは、.dat(.csv)のデータを、文字で画面に出すのが、
第一歩と思い、上記スクリプトを組みました。

HSPは、3.5βを使用しています。

アドバイスのあった
bload
近日中に組んでみたいと思います。

ご指南、ありがとうございます。



しまくろねこ

リンク

2016/7/19(Tue) 18:49:12|NO.76264

こんにちは。

DishはWindows上で動作させるものであれば一部DLLが使用可能とのことですが、Android上で動作するものを作る場合Windows用DLLは動作しませんので使用ができません。

次にCSVファイルなどの外部データについてです。
Windows上での開発時にはCSVファイルをデータファイル(dpm)に含める必要はありませんが、Android上で動作させる場合、OKさんの言う通りCSVファイルなどの外部データは最終的にデータファイル(dpm)に入れる必要があります。
また、 exist や noteload でのファイル名を指定するような場合、
"DPM:data.dpm:test.txt"

とせず、
"test.txt"
だけで大丈夫です。
これはデータファイル(dpm)化してAndroid上で動かす時も同じです。

とりあえずCSVファイルの中身だけを表示するだけであれば、以下のような感じになると思います。

; ; キャラクター表示 ; #include "hsp3dish.as" // まずファイルがあるか確認 exist "test.txt" if strsize == -1 { dialog "ファイルがありません!" end } data = "" notesel data // ファイルを読み込みます noteload "test.txt" *main redraw 0 // Android上で残像が残るので、Dishは何かしら(boxf/gcopy/celput等々)で画面を更新してあげる必要あり color 0, 0, 0 : boxf // そのまま表示する color 255, 0, 0 mes data redraw 1 wait 1 goto *main
もし時間がありましたら一度「HSP3Dish android(NDK)版プログラミングガイド」に軽く目を通してみるのも良いかもしれません。
HSPフォルダ内の「doclib\hsp3dish_ndk.htm」にあります。



KA

リンク

2016/7/19(Tue) 18:49:59|NO.76265

なんだかアドバイスされた事を全て実装しようとして、ハマっている
ように感じます。

#include "hspda.as"
がダメと言われたんだから、それだけコメントアウトして試しましたか?

「この時点ではうまくいくが、こう変えたらダメになる」と言う風な質問
の仕方じゃ無いと、どこが悪いのか切り分けが出来ません。

DPMにしなきゃ動かない訳ではないので、まず動作確認を優先させましょう。
確認できないのにDPMを使っても、余計ややこしくなるだけです。

#include "hspcmp.as"
これを追加した目的は?



うえぽん

リンク

2016/7/20(Wed) 23:15:49|NO.76271

しまくろねこさん

ソースありがとうございます。

しまくろねこさんのソースで動きました。


また、HP拝見させて頂きました。
すごく解りやすく手順が書いてあり
今後も参考にしたいと思っています。

ただ、HP上で、DPMフォルダと、ビルドしたいHSPソースのデータの両方に、
data.DPMしたいファイルを置くように書かれていましたが、
DPMフォルダにtest.txtデータを置くだけでビルド出来ました。

色々と、ありがとうございました。

KAさん レスポンスありがとうございます。

>#include "hspda.as"
>がダメと言われたんだから、それだけコメントアウトして試しましたか?

>「この時点ではうまくいくが、こう変えたらダメになる」と言う風な質問
>の仕方じゃ無いと、どこが悪いのか切り分けが出来ません。
上記、アドバイスありがとうございます。

以後、気を付けます。

#include "hspcmp.as"
これを追加した目的は?

text.txtファイルがUTF-8だと、ダメなんで、Shift-JISから、UTF-8の変換を
行うために、一時的に入れていました。

もちろん、text.txtファイルは、UTF-8で保存していたのですが、
ニッチもサッチも行かず、瞑想していました。

まさに、
>なんだかアドバイスされた事を全て実装しようとして、ハマっている
>ように感じます。
状態でした。

沢渡さん、GENKIさん、OKさん、しまくろねこさん、KAさん、ありがとうございました。

あと、備忘ですが、
しまくろねこさんのソースに、
pos0,0を足しました。

> color 255, 0, 0
pos0,0;うえぽん追加
>   mes data

本当にみなさんありがとうございました。



しまくろねこ

リンク

2016/7/21(Thu) 20:50:35|NO.76285

こんにちは。

うえぽんさん解決できてよかったですね。

>ただ、HP上で、DPMフォルダと、ビルドしたいHSPソースのデータの両方に、
>data.DPMしたいファイルを置くように書かれていましたが、
>DPMフォルダにtest.txtデータを置くだけでビルド出来ました。

ごめんなさい。貼り付けた画像がわかりにくいものでした。
はい。DPMフォルダには必要なファイルだけでOKです。

それから今更ながらですが、HSPスクリプトエディタから作成したデータファイル(data.dpm)でも大丈夫だとわかりました。
データファイル用のフォルダを別に用意しなくてもいいので、こちらのほうがスマートかもしれません。
HPのDish講座も修正させていただきました。
うえぽんさんこちらこそありがとうございます。



うえぽん

リンク

2016/7/23(Sat) 05:37:16|NO.76308

しまくろねこさん

お世話になっております。
うえぽんです。

色々とアドバイス、解りやすいHPありがとうございます。

しまくろねこさんのHPにアクセスしようとすると、
「https のサーバーの DNS アドレスが見つかりませんでした。」
となります。

しまくろねこさんのHPすごく解りやすかったので、
復旧の方、お願いします。



KA

リンク

2016/7/23(Sat) 06:57:32|NO.76309

× http://https//
○ http://

だと思います。



しまくろねこ

リンク

2016/7/23(Sat) 19:36:31|NO.76315

書き込む際のリンク先入力欄のHOMEには

https://sites.google.com/site/simakuroneko/

と確かに入力されておりますが、
書き込み後のリンク先は

http://https//sites.google.com/site/simakuroneko/

となってしまうようです。
HPは落ちておりませんでした。



ONION software Copyright 1997-2021(c) All rights reserved.