配列要素を増やすとき、どうしたらいいか考えてたら
ちょうどいいサンプルを見つけました。
---
; 配列要素を追加
; 参考:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1027687265
#module
#deffunc redim array v, int youso, local i
dim i, youso
foreach v : i.cnt = v.cnt : loop // 一時退避
dim v, youso
foreach v : v.cnt = i.cnt : loop // 入れ直し
return
#global
dim value, 3
value = 1, 2, 3
redim value, 5 // 再確保
value.3 = 4, 5
foreach value : mes value.cnt : loop // 確認
---
参考っていうか、まったくのコピペです。
というのもこのコード、すごい上級者のように見えるので
下手に手直しせず、そのまま再掲させていただきました。m(_ _)m
やってることは、新しい配列要素を作成して、
そこへ移し変えるということ。
それよりも、
・配列への代入の仕方(2通り)
・local変数の定義の仕方
・#deffuncの使い方
・foreachの使い方
と、
言語に慣れたら当たり前なのかもしれないけど、
HSP特有のコードの書き方をさらりと出していて勉強になりました。
こういう感覚、Perlの上級者コードを見たときによく似ているな。
基本的なところに戻ってif文。
HSPは、1行が1コマンドだから、
複数行にわたって何かを書きたいときに困ります。
似たようなのだと、VB系。VBScriptとかも。
VBは、行末に_(アンダースコア)を書くと、
次の行も続きだと思ってくれる仕様でした。
HSPもないかなーと思って探していたら・・なさげorz
マクロは、\で改行というのをどっかで見たんだけど\も通用せず、残念。
改行がないと、やたら長いif文ができちゃうから、
それでよしとするか、
ちょっと工夫するか、
妥協しなくちゃいけないな。。
HSPは、1行が1コマンドだから、
複数行にわたって何かを書きたいときに困ります。
似たようなのだと、VB系。VBScriptとかも。
VBは、行末に_(アンダースコア)を書くと、
次の行も続きだと思ってくれる仕様でした。
HSPもないかなーと思って探していたら・・なさげorz
マクロは、\で改行というのをどっかで見たんだけど\も通用せず、残念。
改行がないと、やたら長いif文ができちゃうから、
それでよしとするか、
ちょっと工夫するか、
妥協しなくちゃいけないな。。
なんにしても最終的にはexeを作りたいわけで、
その練習です。
手順は3つ。
1.start.axファイルを作成
メニュー>HSP>START.AXファイル作成 を選択
できましたというダイアログが出る。
start.axっていうファイルができてる。
バイナリファイル。
2.PACKFILE を作成
メニュー>ツール>PACKFILE編集
さっきつくったstart.axを追加する。
packfile というファイルができる。
テキストファイルで、start.axって書いてある。
3.exeファイル作成
ツール>EXEファイル作成
できたっていうダイアログが出る。
exeができてる。
VisualStudioほど簡単ではないですが
GUIでできるし、そこそこ簡単でした。
何者なのかはよくわかりません。
深く突っ込まなくても、自分がやりたいことができるのであれば
とりあえず突っ込まずに進む感じです。
その練習です。
手順は3つ。
1.start.axファイルを作成
メニュー>HSP>START.AXファイル作成 を選択
できましたというダイアログが出る。
start.axっていうファイルができてる。
バイナリファイル。
2.PACKFILE を作成
メニュー>ツール>PACKFILE編集
さっきつくったstart.axを追加する。
packfile というファイルができる。
テキストファイルで、start.axって書いてある。
3.exeファイル作成
ツール>EXEファイル作成
できたっていうダイアログが出る。
exeができてる。
VisualStudioほど簡単ではないですが
GUIでできるし、そこそこ簡単でした。
何者なのかはよくわかりません。
深く突っ込まなくても、自分がやりたいことができるのであれば
とりあえず突っ込まずに進む感じです。