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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0321
ルイテキストファイルから読み出しができない8解決


ルイ

リンク

2011/3/21(Mon) 20:41:46|NO.37751

settings.txt 1行目に書かれている言語情報(jaあるいはen)を読み込み、変数languageに代入
その後にそれらに対応するフラグ(*set_ja or *set_en)に移動、その後に変数に代入、*initに抜ける、というプログラムです。


==前略== ;UserSettings読み込み ここから notesel language noteload "settings.txt" noteget language,0 if language="ja" : goto *set_ja if language="en" : goto *set_en ;UserSettings読み込み ここまで ;参照文字列設定 ここから *set_ja but_move="移動" ==中略== goto *init *set_en but_move="Move" ==中略== goto *init ;参照文字列設定 ここまで *init ==後略==

以下はsettings.txtの内容です。

en

この状態で実行した場合、languageにはenとhogehogeの2行が代入され、その結果ifから始まる2行どちらにも移動せずその結果
*set_jaに移動、*initに抜ける という感じになります。

何が悪いのでしょうか?



この記事に返信する


ルイ

リンク

2011/3/21(Mon) 20:46:17|NO.37752

すいません
途中settings.txtの部分

en hogehoge

です。



Cookies (元ひよこ)

リンク

2011/3/21(Mon) 20:47:08|NO.37753

noteselで指定した読み出し元変数と
notegetで指定した書き出し先変数が同じではいけないようです。

どちらかをほかに変えてください。



ルイ

リンク

2011/3/21(Mon) 20:53:16|NO.37754

返信ありがとうございます。

ではnoteselの役目って何なのでしょう?
マニュアル読んでもあまり意味が分かりませんでした。



Cookies (元ひよこ)

リンク

2011/3/21(Mon) 21:24:09|NO.37758

notesel命令は「(メモリ)note(pad)をsel(ect)する」、
つまりメモリノートパッドを選択する命令です。
note系命令の操作対象変数を設定する、といったものでしょうか。

いちいち命令を実行する際に、変数名を指定してるとやりにくいから
指定する命令作って使いまわそう!という感じで作ったのだと思います?

逆に分かりにくくなりましたね。
ほかの人がもっとわかりやすく書いてくれるまで待ちましょう。



ルイ

リンク

2011/3/21(Mon) 22:09:52|NO.37761

だめです。

;UserSetting読み込み ここから notesel genngo noteload "settings.txt" noteget language,1 if language="ja" : goto *set_ja if language="en" : goto *set_en ;UserSetting読み込み ここまで
に変更しましたが、2行目もlanguageに代入されてしまいます・・・



f(飲酒中)

リンク

2011/3/21(Mon) 22:15:33|NO.37764

スーパーマーケットを想像する。
色々なデータは、棚だ。


notesel : 棚を指定する

( ´・ω・`) 今から僕が「棚」と言ったら、お菓子の棚の事だからね!


noteget : 棚の指定位置の物を取ってくる

( ´・ω・`) 棚の、前から5番目の物持ってきて!


>に変更しましたが、2行目もlanguageに代入されてしまいます・・・

むしろ

noteget language,1

じゃ、「2行目もってこい」にしかなってない訳だが。



ルイ

リンク

2011/3/21(Mon) 22:19:46|NO.37765

分かりやすい回答ありがとうございます。解決しました!



Cookies (元ひよこ)

リンク

2011/3/21(Mon) 22:24:03|NO.37766

おぉ〜〜
fさんの説明とっても分かりやすいですねえ。

さて、これでnoteselの意味はわかっていただけました?

それから、notegetのヘルプ見てみてください。
noteget language,1でなく
noteget language,0にせねばならないとわかると思います。

>2行目もlanguageに代入されてしまいます・・・
2行目"が"languageに代入されるのなら分かるのですが、
2行目"も"languageに代入されるとなるとほかの問題があるかもです。



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