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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
1015
darumaHSP2→HSP3に変換9未解決


daruma

リンク

2016/10/15(Sat) 16:40:06|NO.77147

たびたびすみません。こんばんは

HSP2のスクリプトで
strmid tmp.y,tmp,cnt,1

というのがあるのですが、HSP3に合うように直すとどうなるのでしょうか? 元のソースは http://www.rinku.zaq.ne.jp/ultimate/hsp2/middle/18.htm ここの二つあるうちの上のスクリプトです。 よろしくお願いします



この記事に返信する


Space

リンク

2016/10/15(Sat) 17:30:12|NO.77148

HSP2では命令形式で、HSP3では関数に変更されました。
HSP3のヘルプには、

strmid(p1,p2,p3) p1=変数名 : 取り出すもとの文字列が格納されている変数名 p2=-1〜 : 取り出し始めのインデックス p3=0〜 : 取り出す文字数

と書いています。
私もHSP2のstrmidのパラメーターを知らない(調べてもでてこなかった)ので答えられないのですが、
ソースコードを読んでそれぞれのパラメーターの意味を推測できませんか?



スペース

リンク

2016/10/15(Sat) 17:33:34|NO.77149

と、思ったらHSP2のstrmidの解説ありました。
http://www.onionsoft.net/hsp/hsp2str.html

strmid p1,p2,p3,p4 文字列の一部を取り出す p1=変数名 : 取り出した文字列を格納する変数名 p2=変数名 : 取り出すもとの文字列が格納されている変数名 p3=0〜(0) : 取り出し始めのインデックス p4=0〜(0) : 取り出す文字数



daruma

リンク

2016/10/15(Sat) 17:53:31|NO.77151

>スペースさん
その1文を、HSP3に合うように直すと
tmp.y=strmid(tmp,cnt,1)

となるはずなのですが、エラーが出てしまうのです。 これが、tmp.yではなく、tmpであればこの直し方で大丈夫なのですが…



スペース

リンク

2016/10/15(Sat) 17:59:52|NO.77152

tmpはしっかり配列変数になっていますか?
エラーについて詳しく書いてくれないとなんとも・・・



daruma

リンク

2016/10/15(Sat) 18:04:38|NO.77153

>スペースさん
説明不足ですみません、エラーとしては関数を命令として記述しています。と出ます。
また、訂正後だと配列の要素が無効です。と出てしまいます。



KA

リンク

2016/10/15(Sat) 18:09:02|NO.77154

TMP.Y->TIP.Y

文字を拡大して見ましょう。



KA

リンク

2016/10/15(Sat) 18:29:36|NO.77156

ついでに書くと、各行の意味を理解していれば気がつくはずです。
気がつかないと言うことは、単に変換しているだけなのかな?



daruma

リンク

2016/10/15(Sat) 18:51:37|NO.77157

>KAさん
全然気が付きませんでした!指摘ありがとうございます



daruma

リンク

2016/10/15(Sat) 18:52:42|NO.77158

初心者なもので、詳しい事を知らずにソースコードを実行しているだけなのです。
勉強不足ですみません。



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