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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1102
大富豪split/noteget 外部data文字列取得4解決


大富豪

リンク

2023/11/2(Thu) 19:12:27|NO.100407

お世話になっております、
お手数ですがご指導お願いします。

* split/noteget *
外部データ文字列の取得について

以下のソースを動かすと、
三行目以降(index#2)の呼び出しが出来ません。
(二行分しか表示されません)

notesel dat
noteload "1.data"

noteget dat,0
split dat,",",a,b,c,d
mes " "+a+" "+b+" "+c+" "+d+" "

noteget dat,1
split dat,",",a,b,c,d
mes " "+a+" "+b+" "+c+" "+d+" "

noteget dat,2
split dat,",",a,b,c,d
mes " "+a+" "+b+" "+c+" "+d+" "

noteget dat,3
split dat,",",a,b,c,d
mes " "+a+" "+b+" "+c+" "+d+" "

noteget dat,4
split dat,",",a,b,c,d
mes " "+a+" "+b+" "+c+" "+d+" "

(本来はrepeat/loopでカウントアップさせて
行を変えてますが確認のため分解しました)

; split dat,",",a,b,c,d

とコメントアウトすると5行分表示されます。
(変数が入っていない状態で)

変数のメモリ確保?とか、
それぞれ違う変数を割り当てたり、色々試してみたのですが、
・・・うまく表示されません。

行が変わるたびにnoteloadすると正常に表示されますが;
一行単位の noteget でも必要ないですよね。

ソースの書き方が間違っているのでしょうか・・・。
(もちろん外部データは複数行書いています。)

宜しくご指導お願いします。



この記事に返信する


名無し

リンク

2023/11/2(Thu) 20:05:20|NO.100409

全てのやり繰りを「dat」変数一つでやっているからではないでしょうか。
notesel dat
noteload "1.data"
で「dat」変数に読み込んだのに、その後
noteget dat,0
をしているので、この時点で変数「dat」の内容は1行目のみの内容に上書きされます。
詰まる所、noteselで使用した変数じゃない変数を使用すれば解決するかと。 一度エディタ内で「noteget」のヘルプ(F1キーで見れるもの)を確認すれば理解できるかな?と思います。



名無し

リンク

2023/11/2(Thu) 20:11:25|NO.100410

dat="あ,い,う,え,お\nか,き,く,け,こ\nさ,し,す,せ,そ"		;1.dataの内容を用意(実際は不要)
notesel dat ;dat変数に読込み ;noteload "1.data" ;実際に使用するときは;を外して repeat notemax ;行数分繰り返し noteget tmp,cnt ;tmp変数に一行だけ取り出す split tmp,",",a,b,c,d ;変えてません mes " "+a+" "+b+" "+c+" "+d+" " ;変えてません wait 1 ;念のため入れときます loop
多分これでやりたい事が実現できてるかと。
本来はrepeatを使ってるとの事で勝手にその様にさせて頂きました。
分かりやすいように変数「dat」の内容を1行目で指定してますが、
実際に運用する際は1行目の内容は削除し、noteloadのコメントアウトを消してください。



大富豪

リンク

2023/11/2(Thu) 20:13:08|NO.100411

>名無し さん
ちょっと疲れていたのかもしれませんね・・・
出来ました;ご対応ありがとうございます^^;



大富豪

リンク

2023/11/2(Thu) 20:32:44|NO.100412

>名無し さん
(タイミングがずれました;)
ソースありがとうございます、
うまく出来ました^^



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100407への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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