More ... | hsp2.61互換ソースとhsp3.x準拠ソースのまとめ掲示板にて非常に多いのでHSP3のガイドラインとして互換ソースについてまとめます。 なお、2.61互換ソースは「互換ソース」、3.x準拠ソースは「準拠ソース」と省略します。
互換ソースと準拠ソースとは何か?まずhsp2.61ユーザーにこのことを認識させる必要があると思います。 というのも自分でhsp261cmp.asをインクルードしている人はその点を認識されている方なのですが、そうでない人について、エディタの設定で「拡張マクロを使用〜」の設定次第で自動的にhsp261cmp.asが読み込まれてしまうのが、認識不足のひとつになってます。 そこでまず今、自分が書いているソースが互換ソースなのか準拠ソースなのかを認識させるところから始めます。 互換ソースのチェック項目以下のチェック項目に当てはまる人は互換ソースを書いています。
準拠ソースのチェック項目以下のチェック項目を満たす人は準拠ソースを書いています。
互換ソースと準拠ソースの書き方の違いどちらのソースを書いているのか分かったところで、両者で書き方の異なる命令・関数を挙げていきます。 int// 準拠ソース s = "123": t = "321" ans_s = s + t : mes ans_s ans_i = int(s) + int(t): mes ans_i ; 互換ソース s = "123": t = "321" ans_s = s + t: mes ans_s int s: int t ans_i = s + t: mes ans_i rnd// 準拠ソース n = rnd(10) n3 = n + rnd(5) + rnd(8) ; 互換ソース rnd n, 10 rnd n1, 5 rnd n2, 8 n3 = n + n1 + n2 strlen// 準拠ソース mes "\"HSP\"の長さは"+strlen("HSP")+"です" ; 互換ソース s = "HSP" strlen ln, s mes "\""+s+"\"の長さは"+ln+"です" gettime// 準拠ソース mes "今日は"+gettime(1)+"月"+gettime(3)+"日です" ; 互換ソース gettime month, 1 gettime day, 3 mes "今日は"+month+"月"+day+"日です" str// 準拠ソース m = 123: n = 321 ans_i = m + n : mes ans_i ans_s = str(m) + str(n): mes ans_s ; 互換ソース m = 123: n = 321 ans_i = m + n: mes ans_i str m: str n ans_s = m + n: mes ans_s strf// 準拠ソース n = 12345 mes ""+n+" = $"+strf("%x",n) ; 互換ソース n = 12345 ns = n str ns, 16 mes ""+n+" = $"+ns peek// 準拠ソース letter = "abcdefghijklmnopqrstuvwxyz" mes letter repeat strlen(letter) poke letter, cnt, peek(letter,cnt)+'A'-'a' loop mes letter ; 互換ソース letter = "abcdefghijklmnopqrstuvwxyz" mes letter strlen ln, letter repeat ln peek c, letter, cnt poke letter, cnt, c+'A'-'a' loop mes letter wpeeklpeeksysinfoginfo |