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


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0919
ねんねこセーブされない5解決


ねんねこ

リンク

2021/9/19(Sun) 08:52:34|NO.93912

下のプログラムを実行すると、DELTA!BGM_oki.dboには何も保存されません。

notesel put notesave "DELTA!BGM_oki.dbo" as="\n" notesel as notesave "DELTA!BGM_oki.dbo" return



この記事に返信する


ねんねこ

リンク

2021/9/19(Sun) 09:02:38|NO.93914

一応誤解を招いてしまいそうなので、スクリプト全部を貼っておきますね

#include "hspext.as" #include "ovplay.as" title "簡易版DELTA!BGM" ov_init 44100,2,16,64 d=dir_cmdline dirlist list,"DELTA!BGM_config.dbc" if list="":goto *deltarune notesel delta if d="":noteload "DELTA!BGM_config.dbc":else:noteload d if delta="":goto *deltarune goto *bgm *deltarune a="" selfolder a,"DELTARUNE(Chapter 1 & 2 DEMO)の中のmusフォルダを指定してください" notesel a notesave "DELTA!BGM_config.dbc" *bgm onexit gosub *exit aaaa="" dirlist list,"DELTA!BGM_oki.dbo" if list="":notesel aaaa:notesave "DELTA!BGM_oki.dbo" list="" put="" chdir delta screen 1,300,100 title "DELTA!BGM - 曲一覧" dirlist list,"*.*" mesbox list,300,100,0 screen 2,300,100 title "DELTA!BGM - お気に入り" notesel list2 noteload "DELTA!BGM_oki.dbo" mesbox list2,300,100,0 gsel 0 mes "再生したい曲を入力してください" input put,100,20 button gosub "再生",*play button gosub "お気に入り登録",*oki stop *play ov_stop 0 ov_load put,0,GF_BGM ov_loop 0 title "簡易版DELTA!BGM - "+put return *oki notesel put notesave "DELTA!BGM_oki.dbo" as="\n" notesel as notesave "DELTA!BGM_oki.dbo" return *exit dialog "終了しますか?",2,"DELTA!BGM - \(^o^)/オワタ" s=stat if s=6:end:else:return



Cube

リンク

2021/9/19(Sun) 10:21:58|NO.93916

[ \n ]は改行コードなのでなにも保存されていないように見えて
一行改行されて保存されているはずです。



ねんねこ

リンク

2021/9/19(Sun) 12:04:19|NO.93918

>>93916
それがですね、変数putも、改行も、保存されていないんですよ。



沢渡

リンク

2021/9/19(Sun) 13:10:28|NO.93919

起動してフォルダを選んだら24行目で「パラメータの型が違います」が出て、
もう一度起動したら32行目で「ファイルが見つからないか無効な名前です」が
出たのですが。

とりあえずやりたいことを推測した上でエラーの出る場所を修正し、
さらに問題の「保存できない」件の原因と思われる部分も修正しました。
修正した問題点は(エラーの出る場所の他に)2つ。

1)このスレッドの最初の書き込みのコードだと
「putの内容を保存した次の瞬間に、改行コード一つしか無いasの内容で
上書きしてしまい、putの内容は保存されずじまい」
という流れになってしまいます。
2)また、chdirでカレントディレクトリをdeltaに
移動させたままなので、ファイルが保存されるフォルダも
deltaになってしまっています。
(本来ならプログラムがあるフォルダに保存するべきなのに)

これらの問題点に対処しました。

#include "hspext.as" #include "ovplay.as" title "簡易版DELTA!BGM" ov_init 44100,2,16,64 d=dir_cmdline if d="" : fname="DELTA!BGM_config.dbc" : else : fname=d exist fname if strsize=-1 : goto *deltarune notesel delta noteload fname if delta="":goto *deltarune goto *bgm *deltarune delta="" selfolder delta,"DELTARUNE(Chapter 1 & 2 DEMO)の中のmusフォルダを指定してください" if stat : end notesel delta notesave fname *bgm onexit gosub *exit list2="" : notesel list2 exist "DELTA!BGM_oki.dbo" if strsize=-1 : notesave "DELTA!BGM_oki.dbo" : else : noteload "DELTA!BGM_oki.dbo" list="" put="" home=dir_cur //カレントフォルダを記憶 chdir delta screen 1,300,100 title "DELTA!BGM - 曲一覧" dirlist list,"*.*" mesbox list,300,100,0 screen 2,300,100 title "DELTA!BGM - お気に入り" mesbox list2,300,100,0 gsel 0 mes "再生したい曲を入力してください" input put,100,20 button gosub "再生",*play button gosub "お気に入り登録",*oki stop *play ov_stop 0 ov_load put,0,GF_BGM ov_loop 0 title "簡易版DELTA!BGM - "+put return *oki put+="\n" notesel put chdir home notesave "DELTA!BGM_oki.dbo" chdir delta return *exit dialog "終了しますか?",2,"DELTA!BGM - \(^o^)/オワタ" s=stat if s=6:end:else:return



ねんねこ

リンク

2021/9/22(Wed) 17:16:56|NO.93947

>>93919
解決しました。ありがとうございました。
https://i.imgur.com/wmffjFt.png
よく見たら、変数deltaに入っているファイルパスの場所に入ってました。



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