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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1014
csv繰り返しの処理でメッセージボックスに表示2解決


csv

リンク

2007/10/14(Sun) 12:13:32|NO.11628

先日はお世話になりました。
ちょっと長いですが


#include "hspda.as" screen 0,640,800 x = ginfo_cx ;カレントポジションX取得 y = ginfo_cy ;カレントポジションY取得 ;CSVファイルのロード・カンマごとに分別 notesel w_data noteload "test.csv" noteget w_data_all,notemax - 1 sdim c,64,50 csvstr c,w_data_all ;各CSV値を変数に代入 year = int(c.0) month = int(c.1) week = int(c.2) keika = int(c.3) nokori = int(c.4) tai = int(c.5) hirou = int(c.6) stress = int(c.7) money = int(c.8) gnumber = int(c.9) ;メッセージボックスに1行目(0)を表示 noteget w_data_all,0 sdim c,64,50 csvstr c,w_data_all box = c.0 + "年/" + c.1 + "月/" + c.2 + "週  " + c.3 + " 経過/残り " + c.4 + " [ " + c.5 + " ] " + c.6 + " + " + c.7 + " * 2 " + c.8 + " G\n" ;メッセージボックスに2行目(1)以降を表示 repeat notemax,1 if cnt = notemax : break noteget w_data_all,cnt sdim c,64,50 csvstr c,w_data_all box = box + c.0 + "年/" + c.1 + "月/" + c.2 + "週  " + c.3 + " 経過/残り " + c.4 + " [ " + c.5 + " ] " + c.6 + " + " + c.7 + " * 2 " + c.8 + " G\n" loop mesbox box,500,240 ;メッセージボックス button "テスト", *test mes "year" : input year,45,20 mes "month" : input month,45,20 : objprm 3,strf("%02d",month) ; 0を表示する2桁 mes "week" : input week,45,20 mes "keika" : input keika,45,20 mes "nokori" : input nokori,45,20 mes "tai" : input tai,45,20 mes "hirou" : input hirou,45,20 mes "stress" : input stress,45,20 mes "money" : input money,45,20 mes "gnumber" : input gnumber,45,20 stop *test hirou += 10 : objprm 8,hirou stress += 5 : objprm 9,stress week += 1 : objprm 4,week gnumber += 1 : objprm 11,gnumber Goto *atai stop *atai tai = hirou + stress * 2 : objprm 7,tai if week > 4 : week -= 4 : objprm 4,week : month += 1 : objprm 3,strf("%02d",month) if month > 12 : month -= 12 : objprm 3,strf("%02d",month) : year += 1 : objprm 2,year g_data = str(year) + "," + str(strf("%02d",month)) + "," + str(week) + "," + str(keika) + "," + str(nokori) + "," + str(tai) + "," + str(hirou) + "," + str(stress) + "," + str(money) + "," + str(gnumber) box = box + g_data + "\n" : objprm 0,box noteadd g_data notesave "test.csv" ;データ保存 stop

test.csvの内容は
-------ここから-------
1000,04,1,0,0,0,0,5,5000,0
1000,04,2,0,0,20,10,5,5000,1
1000,04,3,0,0,40,20,10,5000,2
1000,04,4,0,0,60,30,15,5000,3
1000,05,1,0,0,80,40,20,5000,4

-------ここまで-------

しかしメッセージボックスには
1行目しか表示されず、2〜5行目は数値が入りません。
あと「テスト」のボタンを押してもCSVファイルに保存される形式でしか表示されません。

repeat〜loop内に「mes 1」など入れると1行目と3行目以降が50%?ぐらいの確率で
正しく表示されたりとよくわかりません。

hspda.asは.hspと同じところに置いてあります。
PACKFILEはhspda.as、このプログラムの.hsp、start.axを追加しています。

間違ったところがありましたらご指摘お願いします。



この記事に返信する


n

リンク

2007/10/14(Sun) 15:33:47|NO.11629

1)最新版のHSP3.1を使っていますか?
2)hspda.asはcommonフォルダから移動させなくても大丈夫です。
3)PACKFILEはhspda.as、このプログラムの.hspは含める必要はないです。



csv

リンク

2007/10/14(Sun) 20:06:14|NO.11642

返信ありがとうございます。
最新版出てたのですね・・・
最初にメッセージボックスに表示されるのは最新版で解決しました。

PACKFILEの方も修正しました。

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



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