<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-648738693838588387</id><updated>2012-01-21T10:31:00.392+09:00</updated><category term='Footy2'/><category term='HTML出力'/><category term='AHT'/><category term='Win32 API'/><category term='お知らせ'/><category term='3D'/><category term='ActiveX'/><category term='SQLele'/><category term='Game'/><category term='Physics'/><category term='HSP'/><category term='HHXモジュールの利用'/><category term='COM'/><category term='Math'/><category term='画像の描画・編集'/><category term='d3module'/><category term='外部ツール'/><category term='文字列操作・解析'/><category term='HDL'/><title type='text'>HSP3のスクリプトを垂れ流すブログ</title><subtitle type='html'>日々学習のために書いたHSP3のスクリプトを垂れ流します。
コーディングスタイルなど全て我流ですが、自分のために書いているものですのでお許しください。&lt;a href="http://rpen.blogspot.com/2007/04/test.html"&gt;はじめにお読みください&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default?start-index=101&amp;max-results=100'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>113</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8400625896470904554</id><published>2009-06-28T13:35:00.004+09:00</published><updated>2009-06-28T18:47:17.482+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><title type='text'>花火ゲーム（やわらかライセンス）2009</title><content type='html'>&lt;a href="http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s1600-h/hanabiga2008.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s320/hanabiga2008.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5190775910273696146" /&gt;&lt;/a&gt;&lt;a href="http://d.hatena.ne.jp/o_mega/" target="_blank"&gt;（　゜ワ゜）ノ&lt;/a&gt;さん原案、eller改造のミニゲーム。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rpen.blogspot.com/2008/04/blog-post.html"&gt;2008年版&lt;/a&gt;から若干改良され、コンボ機能が付きました。連続してHANABIを取るとスコアアップ！高機能を目指したスリリングな展開を楽しめます。&lt;br style="clear:both;" /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;/*&amp;nbsp;HANABIGA&amp;nbsp;@&amp;nbsp;やわらかライセンス&amp;nbsp;by&amp;nbsp;eller&amp;nbsp;2009/06/28&lt;br /&gt;&amp;nbsp;*&amp;nbsp;===============================================&lt;br /&gt;&amp;nbsp;*&amp;nbsp;HANABIGAからの改造個所：&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;コンボの導入&lt;br /&gt;&amp;nbsp;*&amp;nbsp;SAKURAGAからの改造個所：&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"さくら"&amp;nbsp;→&amp;nbsp;"たまや"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;"かぎや"でも良い&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;キャラクタの移動動作変更（ちょい簡単に）&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;背景色など色合い変更&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ゲームオーバー中はキャラクタを生成しないように&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;キャラクタ接触時にどかーん&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ゲームオーバー時にどかーん&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redraw&amp;nbsp;0&amp;nbsp;と&amp;nbsp;redraw&amp;nbsp;1&amp;nbsp;を入れ替え&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;randomize追加&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;640&amp;nbsp;→&amp;nbsp;ginfo_winx&amp;nbsp;など&lt;br /&gt;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//#runtime&amp;nbsp;"hsplet3"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#packopt&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;span class="hsp3_string"&gt;"hanabiga"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FRAME_WAIT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;3.0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;256&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"た"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ま"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"や"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_HANABI&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"・"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;14&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_SP&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.05&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;COMBO_TIME_MAX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;60&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;準備&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;screen&amp;nbsp;0,&amp;nbsp;480,&amp;nbsp;320&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;title&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"HANABIGA&amp;nbsp;2009"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;font&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ＭＳ&amp;nbsp;ゴシック"&lt;/span&gt;&amp;nbsp;,&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;randomize&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;char_type,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_x,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_y,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_vx,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_vy,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;char_timer,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;hanabi_x,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;hanabi_y,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_radius,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_life,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_life_max,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_r,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_g,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_b,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;buffer&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;640&lt;/span&gt;,&lt;span class="hsp3_number"&gt;480&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;,&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gsel&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gmode&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;,,,&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メイン処理&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;INIT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*initpl&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイトル&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*clearscreen&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*movehanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*movechar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*collision&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_life&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*moveplayer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;-&amp;nbsp;(player_score&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;)&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;a&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;a&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_timer&amp;nbsp;\&amp;nbsp;a&amp;nbsp;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addchar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span class="hsp3_command"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*burstall&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;198&lt;/span&gt;)/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"H&amp;nbsp;A&amp;nbsp;N&amp;nbsp;A&amp;nbsp;B&amp;nbsp;I&amp;nbsp;&amp;nbsp;O&amp;nbsp;W&amp;nbsp;A&amp;nbsp;T&amp;nbsp;A"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stick&lt;/span&gt;&amp;nbsp;inp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*showstatus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;await&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FRAME_WAIT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*initpl&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_life&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_score&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_combo&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;combo_time&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scroll_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.01&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scroll_vy&amp;nbsp;=&amp;nbsp;-&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*clearscreen&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gcopy&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*moveplayer&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stick&lt;/span&gt;&amp;nbsp;inp,&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vx&amp;nbsp;-=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vy&amp;nbsp;-=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vx&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vy&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_timer++&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;*=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;*=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;limitf&lt;/span&gt;(player_x&amp;nbsp;+&amp;nbsp;player_vx,&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;limitf&lt;/span&gt;(player_y&amp;nbsp;+&amp;nbsp;player_vy,&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;player_x,player_y&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(combo_time&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;combo_time--&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;player_combo&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*collision&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dx&amp;nbsp;=&amp;nbsp;player_x&amp;nbsp;-&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dy&amp;nbsp;=&amp;nbsp;player_y&amp;nbsp;-&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;abs&lt;/span&gt;(dx)&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_function"&gt;abs&lt;/span&gt;(dy)&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;player_chain_type&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_chain_type&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(combo_time&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_combo++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_score&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;+&amp;nbsp;player_combo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;combo_time&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;COMBO_TIME_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span class="hsp3_command"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_life--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*movechar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&lt;span class="hsp3_number"&gt;128&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;,&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;char_vx(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;char_vy(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;CHAR_ROT_SP&lt;/span&gt;&amp;nbsp;*&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_comment"&gt;;*&amp;nbsp;cos(double(CHAR_ROT_SP&amp;nbsp;*&amp;nbsp;char_timer(cnt)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;16.0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*addchar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;800&lt;/span&gt;)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;80&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;20.0&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_vx(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;scroll_vx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_vy(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;scroll_vy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;256&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*showstatus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;160&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"SCORE&amp;nbsp;:&amp;nbsp;%8d"&lt;/span&gt;,&amp;nbsp;player_score)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"COMBO&amp;nbsp;:&amp;nbsp;%8d"&lt;/span&gt;,&amp;nbsp;player_combo)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*movehanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;hanabi_r(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;hanabi_g(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;hanabi_b(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;;&amp;nbsp;hanabi_y(up_cnt)++&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;up_cnt&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;cos&lt;/span&gt;(&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;*&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;hanabi_life_max(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;hanabi_radius(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;hanabi_x(up_cnt)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;cos&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;r,&amp;nbsp;hanabi_y(up_cnt)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;r&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_HANABI&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;x&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;y&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;12&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life_max(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_radius(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;size&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;hsvcolor&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;192&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_r(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_g(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_b(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*burstall&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;:&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8400625896470904554?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8400625896470904554/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8400625896470904554' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8400625896470904554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8400625896470904554'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2009/06/2009.html' title='花火ゲーム（やわらかライセンス）2009'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s72-c/hanabiga2008.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-2599008994215282467</id><published>2008-06-07T10:15:00.002+09:00</published><updated>2008-06-07T10:20:47.550+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><title type='text'>Online HSP Document Libraryをワンキーヘルプとして使う</title><content type='html'>ちょいネタ。&lt;br /&gt;このスクリプトをから作成できる実行ファイルを既存のhelpman.exeと置き換えることで、Online HSP Document Libraryをワンキーヘルプとして利用できます。&lt;br /&gt;実行ファイルの作成はctrl+F9の「実行ファイル自動作成」を利用してください。&lt;br /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#packopt&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;span class="hsp3_string"&gt;"helpman"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#packopt&lt;/span&gt;&amp;nbsp;hide&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;exec&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"http://www.onionsoft.net/hsp/ref/ohdl.cgi?cmd=hdsrch&amp;amp;arg="&lt;/span&gt;+&lt;span class="hsp3_sysval"&gt;dir_cmdline&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-2599008994215282467?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/2599008994215282467/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=2599008994215282467' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/2599008994215282467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/2599008994215282467'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/06/online-hsp-document-library.html' title='Online HSP Document Libraryをワンキーヘルプとして使う'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-1355595967351672679</id><published>2008-05-17T00:06:00.006+09:00</published><updated>2008-05-22T05:32:16.984+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Math'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>自力型変換（int⇔str）</title><content type='html'>整数値と文字列を相互に変換します。HSPでは特に気にせず利用できる機能ですが、自力でやると結構面白いものです。&lt;br /&gt;&lt;br /&gt;数値の桁数を計算するためにHSPMathのlog10関数を使用。おまけとしてTrim関数がついてます。&lt;br /&gt;&lt;br /&gt;&lt;ins&gt;2008.05.17 memcpyをなくすことで計量化&lt;/ins&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;自力で型変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2008.05.17&amp;nbsp;計量化&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列の始めと終わりにある半角スペースを除去&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;Trim&lt;/span&gt;&amp;nbsp;str&amp;nbsp;s,&amp;nbsp;local&amp;nbsp;target,&amp;nbsp;local&amp;nbsp;target_length,&amp;nbsp;local&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;s&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_length&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;target_length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;start_idx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;start_idx&amp;nbsp;)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;' '&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;target_length,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end_idx&amp;nbsp;=&amp;nbsp;target_length&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;end_idx&amp;nbsp;)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;' '&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;start_idx,&amp;nbsp;end_idx&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;-&amp;nbsp;start_idx&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;not_digit&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;((&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'0'&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'9'&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;nbsp;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列を整数値に変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;str2int&lt;/span&gt;&amp;nbsp;str&amp;nbsp;s,&amp;nbsp;local&amp;nbsp;target,&amp;nbsp;local&amp;nbsp;result,&amp;nbsp;local&amp;nbsp;target_length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;Trim&lt;/span&gt;(&amp;nbsp;s&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'-'&lt;/span&gt;&amp;nbsp;:&amp;nbsp;sign&amp;nbsp;=&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;sign&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'-'&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'+'&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_length&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;for&lt;/span&gt;&amp;nbsp;i,&amp;nbsp;iStart,&amp;nbsp;target_length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;not_digit&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;i&amp;nbsp;)&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;_break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;result&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&amp;nbsp;target,&amp;nbsp;i&amp;nbsp;)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'0'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;next&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&amp;nbsp;*&amp;nbsp;sign&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;整数値を文字列に変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;int2str&lt;/span&gt;&amp;nbsp;int&amp;nbsp;p,&amp;nbsp;local&amp;nbsp;target,&amp;nbsp;local&amp;nbsp;result,&amp;nbsp;local&amp;nbsp;result_length&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;p&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"0"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;abs&lt;/span&gt;(&amp;nbsp;p&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result_length&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;log10&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;)&amp;nbsp;+&amp;nbsp;(&amp;nbsp;p&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;result_length&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;log10&lt;/span&gt;(&amp;nbsp;target&amp;nbsp;),&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;result_length&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;(&amp;nbsp;target&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'0'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;/=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;p&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'-'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-1355595967351672679?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/1355595967351672679/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=1355595967351672679' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1355595967351672679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1355595967351672679'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/05/hsp-hspmathlog10trim-module-include.html' title='自力型変換（int⇔str）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8481390873603756162</id><published>2008-04-19T11:20:00.002+09:00</published><updated>2008-04-19T11:23:49.610+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><title type='text'>花火ゲーム（やわらかライセンス）</title><content type='html'>&lt;a href="http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s1600-h/hanabiga2008.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s320/hanabiga2008.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5190775910273696146" /&gt;&lt;/a&gt;&lt;a href="http://d.hatena.ne.jp/o_mega/" target="_blank"&gt;（　゜ワ゜）ノ&lt;/a&gt;さん原案、eller改造のミニゲーム。&lt;br /&gt;&lt;br /&gt;このスクリプトはやわらかライセンスのもとで、自由に改造・配布が可能です。&lt;br /&gt;&lt;br /&gt;&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;/*&amp;nbsp;HANABIGA&amp;nbsp;@&amp;nbsp;やわらかライセンス&amp;nbsp;by&amp;nbsp;eller&amp;nbsp;2008/04/19&lt;br /&gt;&amp;nbsp;*&amp;nbsp;===============================================&lt;br /&gt;&amp;nbsp;*&amp;nbsp;SAKURAGAからの改造個所：&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"さくら"&amp;nbsp;→&amp;nbsp;"たまや"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;"かぎや"でも良い&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;キャラクタの移動動作変更（ちょい簡単に）&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;背景色など色合い変更&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ゲームオーバー中はキャラクタを生成しないように&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;キャラクタ接触時にどかーん&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ゲームオーバー時にどかーん&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redraw&amp;nbsp;0&amp;nbsp;と&amp;nbsp;redraw&amp;nbsp;1&amp;nbsp;を入れ替え&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;randomize追加&lt;br /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;640&amp;nbsp;→&amp;nbsp;ginfo_winx&amp;nbsp;など&lt;br /&gt;&amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//#runtime&amp;nbsp;"hsplet3"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#packopt&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;span class="hsp3_string"&gt;"hanabiga"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FRAME_WAIT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;3.0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;256&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"た"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ま"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"や"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_HANABI&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"・"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;14&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_SP&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.05&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0.8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;準備&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;screen&amp;nbsp;0,&amp;nbsp;480,&amp;nbsp;320&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;title&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"SAKURAGA&amp;nbsp;2008"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;font&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ＭＳ&amp;nbsp;ゴシック"&lt;/span&gt;&amp;nbsp;,&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;randomize&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;char_type,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_x,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_y,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_vx,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;char_vy,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;char_timer,&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;hanabi_x,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ddim&lt;/span&gt;&amp;nbsp;hanabi_y,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_radius,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_life,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_life_max,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_r,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_g,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;hanabi_b,&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;buffer&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;640&lt;/span&gt;,&lt;span class="hsp3_number"&gt;480&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;,&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;40&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gsel&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gmode&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;,,,&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メイン処理&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;INIT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*initpl&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイトル&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*clearscreen&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*movehanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*movechar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*collision&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_life&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*moveplayer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;-&amp;nbsp;(player_score&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;)&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;a&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;a&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_timer&amp;nbsp;\&amp;nbsp;a&amp;nbsp;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addchar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span class="hsp3_command"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*burstall&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;198&lt;/span&gt;)/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"H&amp;nbsp;A&amp;nbsp;N&amp;nbsp;A&amp;nbsp;B&amp;nbsp;I&amp;nbsp;&amp;nbsp;O&amp;nbsp;W&amp;nbsp;A&amp;nbsp;T&amp;nbsp;A"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stick&lt;/span&gt;&amp;nbsp;inp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*showstatus&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;await&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FRAME_WAIT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*initpl&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_life&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_score&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scroll_vx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.01&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;scroll_vy&amp;nbsp;=&amp;nbsp;-&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*clearscreen&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gcopy&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*moveplayer&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stick&lt;/span&gt;&amp;nbsp;inp,&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vx&amp;nbsp;-=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vy&amp;nbsp;-=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vx&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(inp&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;player_vy&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SPEED&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_timer++&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vx&amp;nbsp;*=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_vy&amp;nbsp;*=&amp;nbsp;&lt;span class="hsp3_macro"&gt;PLAYER_SP_REDUCE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;limitf&lt;/span&gt;(player_x&amp;nbsp;+&amp;nbsp;player_vx,&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;limitf&lt;/span&gt;(player_y&amp;nbsp;+&amp;nbsp;player_vy,&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;player_x,player_y&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;player_chain_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*collision&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dx&amp;nbsp;=&amp;nbsp;player_x&amp;nbsp;-&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dy&amp;nbsp;=&amp;nbsp;player_y&amp;nbsp;-&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;abs&lt;/span&gt;(dx)&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_function"&gt;abs&lt;/span&gt;(dy)&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_SIZE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;player_chain_type&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(player_chain_type&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_chain_type&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_score++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span class="hsp3_command"&gt;else&lt;/span&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;player_life--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*movechar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&lt;span class="hsp3_number"&gt;128&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;,&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;char_vx(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;char_vy(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;CHAR_ROT_SP&lt;/span&gt;&amp;nbsp;*&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_ROT_MOVE&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_comment"&gt;;*&amp;nbsp;cos(double(CHAR_ROT_SP&amp;nbsp;*&amp;nbsp;char_timer(cnt)))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;16.0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_SA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_SA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_KU&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_KU&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_RA&lt;/span&gt;&amp;nbsp;){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_RA&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*addchar&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;double&lt;/span&gt;(&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;800&lt;/span&gt;)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;80&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;20.0&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_vx(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;scroll_vx&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_vy(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;scroll_vy&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;char_timer(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;256&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*showstatus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;120&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;20&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"SCORE&amp;nbsp;:&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;player_score&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*movehanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;hanabi_r(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;hanabi_g(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;hanabi_b(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;;&amp;nbsp;hanabi_y(up_cnt)++&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;up_cnt&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;r&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;cos&lt;/span&gt;(&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;*&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;hanabi_life_max(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;hanabi_radius(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_PARTS_NUM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;hanabi_x(up_cnt)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;cos&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;r,&amp;nbsp;hanabi_y(up_cnt)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(&lt;span class="hsp3_macro"&gt;HANABI_CST&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;*&amp;nbsp;r&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_FACE_HANABI&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HANABI_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;x&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;y&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;size&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;12&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life_max(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_life(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_radius(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;size&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;hsvcolor&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;192&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_r(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_g(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hanabi_b(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*burstall&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_MAX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x&amp;nbsp;=&amp;nbsp;char_x(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;y&amp;nbsp;=&amp;nbsp;char_y(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*addhanabi&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;:&amp;nbsp;char_type(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;CHAR_TYPE_NONE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8481390873603756162?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8481390873603756162/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8481390873603756162' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8481390873603756162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8481390873603756162'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/04/blog-post.html' title='花火ゲーム（やわらかライセンス）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FvjBr66LVQA/SAlXMECEwZI/AAAAAAAAAIU/RhN_NltkN50/s72-c/hanabiga2008.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-5863777708443432700</id><published>2008-03-29T23:17:00.003+09:00</published><updated>2008-03-30T18:43:08.838+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>文字列のセンタリング</title><content type='html'>どう書く？orgより。&lt;br /&gt;文字列の長さに応じて、ifで分岐しています。もっとスマートに記述できないものでしょうか？&lt;br /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;どう書く?org&amp;nbsp;より&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;文字列のセンタリング&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://ja.doukaku.org/87/&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#runtime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hsp3cl"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;spaces&lt;/span&gt;&amp;nbsp;int&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;len&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;s,&amp;nbsp;len&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;s,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;' '&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;s&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;centered_text&lt;/span&gt;&amp;nbsp;str&amp;nbsp;target,&amp;nbsp;int&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;len&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_length&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(target)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;target&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;target_length&amp;nbsp;&amp;lt;&amp;nbsp;len&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;spaces&lt;/span&gt;((len&amp;nbsp;-&amp;nbsp;target_length)/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;target&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;spaces&lt;/span&gt;((len&amp;nbsp;-&amp;nbsp;target_length&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;target_length&amp;nbsp;&amp;gt;&amp;nbsp;len&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(result,&amp;nbsp;(target_length&amp;nbsp;-&amp;nbsp;len)/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;len)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"*"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;centered_text&lt;/span&gt;(s,&amp;nbsp;&lt;span class="hsp3_number"&gt;15&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;*"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;追記。&lt;br /&gt;ifによる条件分岐をlimit関数に置き換えました。&lt;br /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;どう書く?org&amp;nbsp;より&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;文字列のセンタリング&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://ja.doukaku.org/87/&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#runtime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hsp3cl"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;centered_text&lt;/span&gt;&amp;nbsp;str&amp;nbsp;_source,&amp;nbsp;int&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;len&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source&amp;nbsp;=&amp;nbsp;_source&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;source_strlen&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(source)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;len&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;memset&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;' '&lt;/span&gt;,&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_function"&gt;limit&lt;/span&gt;((len&amp;nbsp;-&amp;nbsp;source_strlen)/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;len/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(source,&amp;nbsp;&lt;span class="hsp3_function"&gt;limit&lt;/span&gt;((source_strlen&amp;nbsp;-&amp;nbsp;len)/&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;source_strlen),&amp;nbsp;len)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"*"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;centered_text&lt;/span&gt;(s,&amp;nbsp;&lt;span class="hsp3_number"&gt;15&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;*"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-5863777708443432700?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/5863777708443432700/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=5863777708443432700' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/5863777708443432700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/5863777708443432700'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/03/blog-post_29.html' title='文字列のセンタリング'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-4633916908227990040</id><published>2008-03-18T22:48:00.008+09:00</published><updated>2008-03-18T22:56:28.274+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='お知らせ'/><title type='text'>HSP入門者向け講座リンク集 更新</title><content type='html'>クロノス・クラウンにて&lt;a href="http://crocro.com/pc/write/hsp_ug/link.html"&gt;HSP入門者向け講座リンク集&lt;/a&gt;が更新されました。HSP関連サイトを横断的に検索できるサービスも追加されています。&lt;br /&gt;&lt;br /&gt;なお、当ブログは難易度中～高と評価されています。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;関連&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://crocro.com/news/20080316183006.html"&gt;http://crocro.com/news/20080316183006.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-4633916908227990040?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/4633916908227990040/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=4633916908227990040' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/4633916908227990040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/4633916908227990040'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/03/hsp.html' title='HSP入門者向け講座リンク集 更新'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3405037888985104314</id><published>2008-03-06T10:52:00.003+09:00</published><updated>2008-03-18T22:55:22.857+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='お知らせ'/><title type='text'>はてなスターを設置しました</title><content type='html'>動作確認用のテスト投稿です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3405037888985104314?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3405037888985104314/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3405037888985104314' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3405037888985104314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3405037888985104314'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/03/blog-post_06.html' title='はてなスターを設置しました'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3913137873072622692</id><published>2008-03-01T19:12:00.007+09:00</published><updated>2008-03-01T19:29:20.926+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>日数計算・曜日計算</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FvjBr66LVQA/R8ktBg_aElI/AAAAAAAAAIM/51DJ0HRJUcM/s1600-h/day.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_FvjBr66LVQA/R8ktBg_aElI/AAAAAAAAAIM/51DJ0HRJUcM/s320/day.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5172715151070728786" /&gt;&lt;/a&gt;COMを利用した、日付を扱うモジュールです。&lt;br /&gt;&lt;br /&gt;指定した日の曜日を算出する関数と、指定した2つの日の差（日数）を算出する関数を含んでいます。&lt;br /&gt;日数算出は「あと何日あるか」を算出するので、このサンプルプログラムのように「全部で何日か」を計算する場合は1を足す必要があります。&lt;br style="clear:both" /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;日付を扱うライブラリになりそうなもの。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;※&amp;nbsp;注意！パラメータチェック＆エラーチェック処理未実装！&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;参考：http://tsu.sakura.ne.jp/article/note/eid512.html&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ミリ秒を日に変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;cnvMsec2Day&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;((&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)/&lt;span class="hsp3_number"&gt;86400000&lt;/span&gt;)&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;86400000&amp;nbsp;=&amp;nbsp;1000*60*60*24&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;javascript数式の計算&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;jsEval&lt;/span&gt;&amp;nbsp;str&amp;nbsp;jsExp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(mssc)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"comobj"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;mssc,&amp;nbsp;&lt;span class="hsp3_string"&gt;"MSScriptControl.ScriptControl"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mssc(&lt;span class="hsp3_string"&gt;"Language"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"JScript"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mssc&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Eval"&lt;/span&gt;&amp;nbsp;jsExp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;曜日を返す（0～6）&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;getDayOf&lt;/span&gt;&amp;nbsp;int&amp;nbsp;y,&amp;nbsp;int&amp;nbsp;m,&amp;nbsp;int&amp;nbsp;d&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(&lt;span class="hsp3_function"&gt;jsEval&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"(new&amp;nbsp;Date("&lt;/span&gt;&amp;nbsp;+&amp;nbsp;y&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(m&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;d&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;")).getDay();"&lt;/span&gt;))&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;時間差を日数で返す&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;getSub&lt;/span&gt;&amp;nbsp;int&amp;nbsp;y1,&amp;nbsp;int&amp;nbsp;m1,&amp;nbsp;int&amp;nbsp;d1,&amp;nbsp;int&amp;nbsp;y2,&amp;nbsp;int&amp;nbsp;m2,&amp;nbsp;int&amp;nbsp;d2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;cnvMsec2Day&lt;/span&gt;(&lt;span class="hsp3_function"&gt;jsEval&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"Date.UTC("&lt;/span&gt;&amp;nbsp;+&amp;nbsp;y2&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(m2&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;d2&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;")&amp;nbsp;-&amp;nbsp;Date.UTC("&lt;/span&gt;&amp;nbsp;+&amp;nbsp;y1&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(m1&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;d1&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;");"&lt;/span&gt;))&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;モジュールここまで&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;day&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"日"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"月"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"火"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"水"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"木"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"金"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"土"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"今年は"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;getSub&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;gettime&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;gettime&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;12&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;31&lt;/span&gt;&amp;nbsp;))&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"日間です"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"今日は"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;day(&amp;nbsp;&lt;span class="hsp3_function"&gt;getDayOf&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;gettime&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;gettime&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;gettime&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;)&amp;nbsp;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"曜日です"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3913137873072622692?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3913137873072622692/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3913137873072622692' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3913137873072622692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3913137873072622692'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/03/blog-post.html' title='日数計算・曜日計算'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FvjBr66LVQA/R8ktBg_aElI/AAAAAAAAAIM/51DJ0HRJUcM/s72-c/day.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3439805286154245544</id><published>2008-02-12T13:49:00.001+09:00</published><updated>2008-02-15T01:11:52.684+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='画像の描画・編集'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32 API'/><title type='text'>アンドゥや再生ができるペイントツール</title><content type='html'>GoFのCommandパターンにヒントを得て作成。&lt;br /&gt;描画した履歴を文字列型配列変数に記録しておき、必要に応じて取り出します。&lt;br /&gt;今回は単純な文字列型配列変数ではなく、スタックのモジュールを用意してみました。&lt;br /&gt;&lt;br /&gt;bregexp.dll（bregonig.dll）および月影ともさんのbregexp.hspが必要です。&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列用スタック&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;string_stack&amp;nbsp;stack,&amp;nbsp;max&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modinit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;stack,&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;new_sstack&lt;/span&gt;&amp;nbsp;array&amp;nbsp;v&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newmod&lt;/span&gt;&amp;nbsp;v,&amp;nbsp;string_stack@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;push&lt;/span&gt;&amp;nbsp;str&amp;nbsp;s&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stack(max)&amp;nbsp;=&amp;nbsp;s&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;pop&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;string_stack@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;max&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"引数の値が異常です。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;stack(max)&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_length&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;string_stack@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;max&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_last&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;string_stack@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;stack(max-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_at&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;string_stack@,&amp;nbsp;int&amp;nbsp;index&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;index&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;||&amp;nbsp;max&amp;nbsp;&amp;lt;=&amp;nbsp;index&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"引数の値が異常です。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;stack(index)&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;clear_stack&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;矩形の塗りつぶし&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;http://rpen.blogspot.com/2007/11/blog-post.html&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"gdi32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FLOODFILLSURFACE&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;fill&lt;/span&gt;&amp;nbsp;int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;current_color&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;CreateSolidBrush&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hBrush&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ブラシの生成に失敗しました。プログラムを終了します。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;SelectObject&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hDC&lt;/span&gt;,&amp;nbsp;hBrush&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pget&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;y&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;ExtFloodFill&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hdc&lt;/span&gt;,&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;FLOODFILLSURFACE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;DeleteObject&lt;/span&gt;&amp;nbsp;hBrush&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;current_color(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;current_color(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;current_color(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;命令を解析して描画するモジュール&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"bregexp.hsp"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;drawer&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(_result(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;))&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw&lt;/span&gt;&amp;nbsp;str&amp;nbsp;_cmd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cmd&amp;nbsp;=&amp;nbsp;_cmd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;BSplit&lt;/span&gt;&amp;nbsp;_result,&amp;nbsp;cmd,&amp;nbsp;&lt;span class="hsp3_string"&gt;"m/[&amp;nbsp;,]+/"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;switch&lt;/span&gt;&amp;nbsp;_result(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"moveTo"&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"lineTo"&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;line&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"color"&lt;/span&gt;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"fill"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;fill&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_macro"&gt;result&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;default&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"未知の命令です"&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swend&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_all&lt;/span&gt;&amp;nbsp;array&amp;nbsp;cmds,&amp;nbsp;int&amp;nbsp;wait_time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_length&lt;/span&gt;(cmds)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_at&lt;/span&gt;(cmds,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;wait_time&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;wait&lt;/span&gt;&amp;nbsp;wait_time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;push_and_do&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;)&amp;nbsp;&lt;span class="hsp3_command"&gt;push&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;draw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_MOUSEMOVE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000200&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_LBUTTONDOWN&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000201&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_LBUTTONUP&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000202&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_RBUTTONDOWN&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000204&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*init&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;title&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"左ドラッグで線を描画&amp;nbsp;/&amp;nbsp;右クリックで塗りつぶし"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*onLButtonDown&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_LBUTTONDOWN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*onRButtonDown&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_RBUTTONDOWN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*onLButtonUp&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_LBUTTONUP&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*onMouseMove&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_MOUSEMOVE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objsize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;80&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"color&amp;nbsp;change"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*color_change&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"redraw&amp;nbsp;slowly"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*all_draw_slowly&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"clear"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*clear&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"undo"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*undo&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;new_sstack&lt;/span&gt;&amp;nbsp;cmds&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;色の変更&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*color_change&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;hsvcolor&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;192&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;push_and_do&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_string"&gt;"color&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_r&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_g&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_b&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;全消去&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*clear&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;clear_stack&lt;/span&gt;&amp;nbsp;cmds&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_all&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アンドゥ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*undo&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;pop&lt;/span&gt;(cmds)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_all&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;すべて描画&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*all_draw&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_all&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ゆっくりとすべて描画&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*all_draw_slowly&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*invalidate_buttons&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_all&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*validate_buttons&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;左ドラッグ開始&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onLButtonDown&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dragging&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;push_and_do&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_string"&gt;"moveTo&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousex&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousey&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;左ドラッグ終了&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onLButtonUp&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dragging&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;左ドラッグ中&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onMouseMove&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;dragging&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;push_and_do&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_string"&gt;"lineTo&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousex&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousey&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;右クリック&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onRButtonDown&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;dragging&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;push_and_do&lt;/span&gt;&amp;nbsp;cmds,&amp;nbsp;&lt;span class="hsp3_string"&gt;"fill&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousex&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousey&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"obj.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*invalidate_buttons&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objgray&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*validate_buttons&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objgray&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3439805286154245544?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3439805286154245544/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3439805286154245544' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3439805286154245544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3439805286154245544'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/02/blog-post_12.html' title='アンドゥや再生ができるペイントツール'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-117610351628872149</id><published>2008-02-09T09:36:00.000+09:00</published><updated>2008-02-09T13:18:43.795+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32 API'/><title type='text'>リストビューのソート</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R6z_ltU-STI/AAAAAAAAAIE/eLHEak_hua0/s1600-h/listview.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R6z_ltU-STI/AAAAAAAAAIE/eLHEak_hua0/s320/listview.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5164783895974922546" /&gt;&lt;/a&gt;リストビューのアイテムをLVM_SORTITEMSEXメッセージを使ってソートします。ちょくとさんのコールバック関数DLL「hscallbk.dll」が必要です。&lt;br /&gt;リストビューのモジュールとしてもそこそこ利用できるかもしれません。&lt;br /&gt;&lt;br /&gt;エクスプローラのように、「ヘッダ部分をクリックすると並び変わる」ようにもできるでしょう。（参考：&lt;a href="http://hsp.tv/play/pforum.php?mode=pastwch&amp;num=2749"&gt;http://hsp.tv/play/pforum.php?mode=pastwch&amp;num=2749&lt;/a&gt;）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;LVM_SORTITEMSEXメッセージの日本語情報は意外と少ないので、気が向いたら&lt;a href="http://hspdev-wiki.net/?%A5%EA%A5%B9%A5%C8%A5%D3%A5%E5%A1%BC%A4%A4%A4%ED%A4%A4%A4%ED"&gt;開発Wikiにフィードバックします&lt;/a&gt;。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考資料：&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;リストビューを作成してみる&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://yokohama.cool.ne.jp/chokuto/urawaza/listview1.html&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows32&amp;nbsp;API&amp;nbsp;Constance&amp;nbsp;検索&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://hspnext.com/tool/hsptool04.htm&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MSDN&amp;nbsp;-&amp;nbsp;LVM_SORTITEMSEX&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://msdn2.microsoft.com/ja-jp/library/bb761055(en-us).aspx&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;mod_listview&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hscallbk.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort_items&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_SETITEM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00001006&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_INSERTITEM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00001007&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_INSERTCOLUMN&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$0000101B&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_SORTITEMSEX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00001051&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_GETITEMTEXTA&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$0000102D&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVS_REPORT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000001&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_EX_NOPARENTNOTIFY&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$00000004&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_VISIBLE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$10000000&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_CHILD&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$40000000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;make_listview&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(proc)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"callback"&lt;/span&gt;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*init&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;winobj&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"SysListView32"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"ListView"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_EX_NOPARENTNOTIFY&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_VISIBLE&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_CHILD&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVS_REPORT&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*init&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc,&amp;nbsp;&lt;span class="hsp3_command"&gt;sort_items&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*sort_flag&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;name,&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;lvcolumn,&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;lvitem,&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvcolumn.&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0x000F&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvcolumn.&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0001&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_column&lt;/span&gt;&amp;nbsp;int&amp;nbsp;id_list,&amp;nbsp;str&amp;nbsp;column_name,&amp;nbsp;int&amp;nbsp;index&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(index&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;|&amp;nbsp;id_list&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"パラメータが不正です。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;column_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvcolumn.&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(name)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_INSERTCOLUMN&lt;/span&gt;,&amp;nbsp;index,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(lvcolumn)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_item&lt;/span&gt;&amp;nbsp;int&amp;nbsp;id_list,&amp;nbsp;array&amp;nbsp;item,&amp;nbsp;int&amp;nbsp;index&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(index&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;|&amp;nbsp;id_list&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"パラメータが不正です。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(item)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"str"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"配列変数の型が不正です。文字列型の変数を渡してください。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アイテムの作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;=&amp;nbsp;index&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(item)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_INSERTITEM&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(lvitem)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;サブアイテムの作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(item)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(item(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_SETITEM&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(lvitem)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort&lt;/span&gt;&amp;nbsp;int&amp;nbsp;id_list,&amp;nbsp;int&amp;nbsp;column,&amp;nbsp;int&amp;nbsp;vtype,&amp;nbsp;int&amp;nbsp;sortmode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(column&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;|&amp;nbsp;id_list&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;|&amp;nbsp;vtype&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;logmes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"パラメータが不正です。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;column&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var_type&amp;nbsp;=&amp;nbsp;vtype&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_SORTITEMSEX&lt;/span&gt;,&amp;nbsp;sortmode,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;local&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;compareAsInt&lt;/span&gt;&amp;nbsp;int&amp;nbsp;id_list,&amp;nbsp;int&amp;nbsp;index1,&amp;nbsp;int&amp;nbsp;index2,&amp;nbsp;int&amp;nbsp;sortmode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*startCompare&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(name(sortmode&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(name((sortmode&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;^&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;local&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;compareAsStr&lt;/span&gt;&amp;nbsp;int&amp;nbsp;id_list,&amp;nbsp;int&amp;nbsp;index1,&amp;nbsp;int&amp;nbsp;index2,&amp;nbsp;int&amp;nbsp;sortmode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*startCompare&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;name(sortmode&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;!&amp;nbsp;name((sortmode&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;^&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*startCompare&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(name(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_GETITEMTEXTA&lt;/span&gt;,&amp;nbsp;index1,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(lvitem)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvitem.&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(name(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_list),&amp;nbsp;&lt;span class="hsp3_macro"&gt;LVM_GETITEMTEXTA&lt;/span&gt;,&amp;nbsp;index2,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(lvitem)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;サブアイテム（ファイルサイズ）でソート&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;第3引数が0なら昇順、1なら降順&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*sort_flag&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;var_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"int"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;compareAsInt&lt;/span&gt;@mod_listview(id_list,&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;var_type&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"str"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;compareAsStr&lt;/span&gt;@mod_listview(id_list,&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;end&amp;nbsp;of&amp;nbsp;mod_listview&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;疑似的な「ファイル」の数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;NUM_FILES&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;randomize&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*createGuiObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ボタンクリックによって呼び出されるサブルーチン&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*sort_asc_by_name&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"str"&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*sort_desc_by_name&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"str"&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*sort_asc_by_size&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"int"&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*sort_desc_by_size&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sort&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"int"&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ボタンとリストビューの作成&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*createGuiObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ボタンを作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objsize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイル名で昇順にソート"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*sort_asc_by_name&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイル名で降順にソート"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*sort_desc_by_name&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイルサイズで昇順にソート"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*sort_asc_by_size&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;button&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイルサイズで降順にソート"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*sort_desc_by_size&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;リストビューコントロール作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;objsize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;make_listview&lt;/span&gt;&amp;nbsp;:&amp;nbsp;id_list&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;カラムを追加&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;column_name&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイル名"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイルサイズ"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_column&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;column_name(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"カラムの追加に失敗"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アイテム・サブアイテムの追加&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;item_name,&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;NUM_FILES&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item_name&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"ファイル"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1000&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;KB"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_item&lt;/span&gt;&amp;nbsp;id_list,&amp;nbsp;item_name,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"アイテムの追加に失敗"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-117610351628872149?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/117610351628872149/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=117610351628872149' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/117610351628872149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/117610351628872149'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/02/blog-post.html' title='リストビューのソート'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R6z_ltU-STI/AAAAAAAAAIE/eLHEak_hua0/s72-c/listview.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-1694479253170973716</id><published>2008-02-05T09:44:00.002+09:00</published><updated>2008-05-03T08:34:20.244+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>正規表現でHTMLの見出しを抽出する</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FvjBr66LVQA/R6exetU-SSI/AAAAAAAAAH8/1KmIFyMNZBc/s1600-h/oniguruma.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_FvjBr66LVQA/R6exetU-SSI/AAAAAAAAAH8/1KmIFyMNZBc/s320/oniguruma.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5163290638925318434" /&gt;&lt;/a&gt;bregonig.dllを使いたくて「ヘッダファイル作ろうかなー」と考えていたら既に&lt;a href="http://tu-sa.net/"&gt;月影とも&lt;/a&gt;さん（と&lt;a href="http://d.hatena.ne.jp/Nekota/"&gt;猫太&lt;/a&gt;さん）が作成されていました。&lt;br /&gt;COMによる正規表現は何かと不便なので、今後重宝しそうです。&lt;br /&gt;&lt;ins&gt;リンク先を変更。[08/05/03]&lt;/ins&gt;&lt;br /&gt;&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;つーさのくーかん「物置&amp;nbsp;&amp;gt;&amp;nbsp;HSP3&amp;nbsp;&amp;gt;&amp;nbsp;BREGEXP.hsp」&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;http://tu-sa.net/0360&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#runtime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hsp3cl"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"bregexp.hsp"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"htm;*.html"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"見出しを抽出するHTMLファイル"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;notesel&lt;/span&gt;&amp;nbsp;file&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;noteload&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;refstr&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin_left&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"-"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"--"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"---"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"----"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"-----"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"------"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;BMatch&lt;/span&gt;(file,&amp;nbsp;position,&amp;nbsp;&lt;span class="hsp3_string"&gt;"m#&amp;lt;[hH]([1-6])[^&amp;gt;]*&amp;gt;(.*)&amp;lt;/[hH]\\1&amp;gt;#k"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;result&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;margin_left(&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(&lt;span class="hsp3_function"&gt;BMGetStr&lt;/span&gt;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;BMGetStr&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_function"&gt;BMGetNextPos&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-1694479253170973716?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/1694479253170973716/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=1694479253170973716' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1694479253170973716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1694479253170973716'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/02/html.html' title='正規表現でHTMLの見出しを抽出する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FvjBr66LVQA/R6exetU-SSI/AAAAAAAAAH8/1KmIFyMNZBc/s72-c/oniguruma.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8335549685388511370</id><published>2008-01-28T08:59:00.000+09:00</published><updated>2008-01-28T09:05:13.705+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><category scheme='http://www.blogger.com/atom/ns#' term='画像の描画・編集'/><title type='text'>サイトのサムネイルを表示する</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R50bndU-SRI/AAAAAAAAAH0/Q81KFA_4pog/s1600-h/small.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R50bndU-SRI/AAAAAAAAAH0/Q81KFA_4pog/s320/small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5160311112737900818" /&gt;&lt;/a&gt;サイトのサムネイルを作成・表示するAPI「&lt;a href="http://img.simpleapi.net/"&gt;ThumbnailAPI&lt;/a&gt;」を利用します。&lt;br /&gt;ネットの接続などはスクリプトから明示的には行っていません。imgload命令の内部で使用しているCOMが自動で行ってくれているようです。&lt;br style="clear:both" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"mod_img.as"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;imgload&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"http://img.simpleapi.net/small/http://www.forest.impress.co.jp/"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8335549685388511370?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8335549685388511370/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8335549685388511370' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8335549685388511370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8335549685388511370'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/blog-post_28.html' title='サイトのサムネイルを表示する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R50bndU-SRI/AAAAAAAAAH0/Q81KFA_4pog/s72-c/small.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-1748876884931225355</id><published>2008-01-24T05:37:00.000+09:00</published><updated>2008-01-24T08:32:51.981+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>複数行文字列の行数を取得する（2）</title><content type='html'>FUJIさんのご指摘を受けて、HSP標準のnotemaxとほぼ同等の動作をするモジュール。&lt;br /&gt;&lt;br /&gt;参考：&lt;a href="http://rpen.blogspot.com/2008/01/blog-post_23.html"&gt;複数行文字列の行数を取得する&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;行数取得モジュール&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;変数の型チェックは行っていないので注意&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;instr()を利用した行数の取得&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num1&lt;/span&gt;&amp;nbsp;var&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(p1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ins&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;instr&lt;/span&gt;(p1,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"\n"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;ins&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;ins&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;正規表現を利用した行数の取得&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num2&lt;/span&gt;&amp;nbsp;var&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(com_regexp)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"comobj"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;comオブジェクト型変数の初期化&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;com_regexp,&amp;nbsp;&lt;span class="hsp3_string"&gt;"VBScript.RegExp"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;com_result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp(&lt;span class="hsp3_string"&gt;"Pattern"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"\\r\\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp(&lt;span class="hsp3_string"&gt;"Global"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp-&amp;gt;&lt;span class="hsp3_string"&gt;"Execute"&lt;/span&gt;&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;com_result(&lt;span class="hsp3_string"&gt;"Count"&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;行数&amp;nbsp;=&amp;nbsp;改行の個数&amp;nbsp;+&amp;nbsp;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(p1,&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;s&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_string"&gt;"\n"&lt;/span&gt;&amp;nbsp;|&amp;nbsp;s&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;:&amp;nbsp;result--&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;最後が空行ならその行をカウントしない&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;notemaxを利用した行数の取得&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num3&lt;/span&gt;&amp;nbsp;var&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;notesel&lt;/span&gt;&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;notemax&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;noteunsel&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;s,&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Hot\nSoup\nProcessor"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"sample\nstrings\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;s&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num1&lt;/span&gt;(s(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num2&lt;/span&gt;(s(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num3&lt;/span&gt;(s(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"***"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-1748876884931225355?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/1748876884931225355/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=1748876884931225355' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1748876884931225355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1748876884931225355'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/2_24.html' title='複数行文字列の行数を取得する（2）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3636985392243322974</id><published>2008-01-23T22:57:00.000+09:00</published><updated>2008-01-23T23:00:25.798+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>複数行文字列の行数を取得する</title><content type='html'>notemaxのように複数行文字列の行数を取得します。&lt;br /&gt;正規表現版はパターンを"(\\r\\n)+"に変更することで、空行を無視するようにもできます。&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;instr()を利用した行数の取得&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num&lt;/span&gt;&amp;nbsp;var&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ins&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;instr&lt;/span&gt;(p1,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"\n"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;ins&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;ins&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;正規表現を利用した行数の取得&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num2&lt;/span&gt;&amp;nbsp;var&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(com_regexp)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"comobj"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;comオブジェクト型変数の初期化&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;com_regexp,&amp;nbsp;&lt;span class="hsp3_string"&gt;"VBScript.RegExp"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;com_result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp(&lt;span class="hsp3_string"&gt;"Pattern"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"\\r\\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp(&lt;span class="hsp3_string"&gt;"Global"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;com_regexp-&amp;gt;&lt;span class="hsp3_string"&gt;"Execute"&lt;/span&gt;&amp;nbsp;p1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;com_result(&lt;span class="hsp3_string"&gt;"Count"&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;行数&amp;nbsp;=&amp;nbsp;改行の個数&amp;nbsp;+&amp;nbsp;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Hot\nSoup\nProcessor\n\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num&lt;/span&gt;(s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_lines_num2&lt;/span&gt;(s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3636985392243322974?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3636985392243322974/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3636985392243322974' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3636985392243322974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3636985392243322974'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/blog-post_23.html' title='複数行文字列の行数を取得する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8214860523142328543</id><published>2008-01-17T12:42:00.000+09:00</published><updated>2008-01-24T08:34:40.749+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>「ふっかつのじゅもん」っぽい暗号</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FvjBr66LVQA/R48AGemd0QI/AAAAAAAAAHk/BFk_xlVkyE0/s1600-h/spell.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_FvjBr66LVQA/R48AGemd0QI/AAAAAAAAAHk/BFk_xlVkyE0/s320/spell.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5156340209656123650" /&gt;&lt;/a&gt;昔のゲームに出てきそうなひらがな（64種）による暗号です。&lt;br /&gt;ひらがな1文字（16ビット）で6ビットの情報が表現できますので、情報量は16/6=約2.7倍になります。妙にビット演算が多いので、単純な目的の割に複雑なスクリプトになっています。&lt;br /&gt;&lt;br /&gt;カタカナも取り入れれば7ビットの情報が表現できるはずです。また、&lt;del&gt;半角カタカナを使えば情報量を8/6=約1.3倍に抑えられます&lt;/del&gt;&lt;ins&gt;半角カタカナは濁点・半濁点の表現に1ビット要するので一概には言えません&lt;/ins&gt;。&lt;br /&gt;復元時にinstrによる線形検索を行っているなど、速度上の課題はまだまだあるでしょう。&lt;br style="clear:both;"/&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列型暗号作成スクリプト&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考：テキストボックスの編集監視&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://lhsp.s206.xrea.com/hsp_object2.html#4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HIWORD&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0xFFFF&lt;/span&gt;)&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SPELL_KEY&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;モジュールの初期化&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;init_spell&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列型暗号の素&amp;nbsp;64文字&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;base,&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"あいうえおかきくけこがぎぐげごさしすせそざじずぜぞ"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;25文字&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_string"&gt;"たちつてとだぢづでどなにぬねのはひふへほばびぶべぼ"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;25&amp;nbsp;+&amp;nbsp;25&amp;nbsp;=&amp;nbsp;50文字&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_string"&gt;"まみむめもやゆよらりるれろん"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;50&amp;nbsp;+&amp;nbsp;14&amp;nbsp;=&amp;nbsp;64文字&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;指定した位置（ビット）から6ビットを取り出すマクロ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;バッファオーバーフローに注意&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;peek6&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;=&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;((((&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;(&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;))&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;(&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;-&amp;nbsp;(&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;)&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;))&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x3F&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;指定した位置（ビット）から6ビット書き込む命令&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;バッファオーバーフローに注意&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke6&lt;/span&gt;&amp;nbsp;var&amp;nbsp;target,&amp;nbsp;int&amp;nbsp;index,&amp;nbsp;int&amp;nbsp;value&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;&amp;nbsp;=&amp;nbsp;(&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(target,&amp;nbsp;index&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_function"&gt;peek&lt;/span&gt;(target,&amp;nbsp;index&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;^=&amp;nbsp;&lt;span class="hsp3_macro"&gt;peek6&lt;/span&gt;(target,&amp;nbsp;index)&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;(&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;-&amp;nbsp;(index&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&amp;nbsp;|=&amp;nbsp;(value&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x3F&lt;/span&gt;)&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;(&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;-&amp;nbsp;(index&amp;nbsp;\&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;target,&amp;nbsp;index&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;,&amp;nbsp;(i&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0xFF&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;target,&amp;nbsp;index&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;i&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0xFF&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;パスワードから通常の文字列データへ変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;spell2str&lt;/span&gt;&amp;nbsp;var&amp;nbsp;result,&amp;nbsp;str&amp;nbsp;_before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;before&amp;nbsp;=&amp;nbsp;_before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(before)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;randomize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SPELL_KEY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;len&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;code&amp;nbsp;=&amp;nbsp;(&lt;span class="hsp3_function"&gt;instr&lt;/span&gt;(base,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(before,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;))&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;^&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0x40&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke6&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;,&amp;nbsp;code&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_function"&gt;int&lt;/span&gt;(&lt;span class="hsp3_function"&gt;ceil&lt;/span&gt;(&lt;span class="hsp3_number"&gt;8.0&lt;/span&gt;&amp;nbsp;*&amp;nbsp;len&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;6.0&lt;/span&gt;)),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;通常の文字列データからパスワードに変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;str2spell&lt;/span&gt;&amp;nbsp;var&amp;nbsp;result,&amp;nbsp;str&amp;nbsp;_before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;before&amp;nbsp;=&amp;nbsp;_before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;randomize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SPELL_KEY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;対象となる文字列から6ビットずつ切りだし、ひらがなに変換&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;for&lt;/span&gt;&amp;nbsp;i,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(before)&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;XOR演算によって&amp;nbsp;より暗号っぽく&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;wpoke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;i&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;wpeek&lt;/span&gt;(base,&amp;nbsp;(&lt;span class="hsp3_macro"&gt;peek6&lt;/span&gt;(before,&amp;nbsp;i)&amp;nbsp;^&amp;nbsp;&lt;span class="hsp3_function"&gt;rnd&lt;/span&gt;(&lt;span class="hsp3_number"&gt;0x40&lt;/span&gt;))&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;next&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;i&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;init_spell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;screen&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;240&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;元の文字を代入する文字列型変数&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;before,&amp;nbsp;&lt;span class="hsp3_number"&gt;512&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列型暗号が代入される文字列型変数&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_number"&gt;1536&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;テキストボックス作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mesbox&lt;/span&gt;&amp;nbsp;before,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_number"&gt;250&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hInput&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mesbox&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idResult&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(idResult),&amp;nbsp;&lt;span class="hsp3_number"&gt;$CF&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;編集無効&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*command&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0111&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;WM_COMMAND&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;テキストボックスの編集を監視する&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*command&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;lparam&lt;/span&gt;&amp;nbsp;==&amp;nbsp;hInput&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HIWORD&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;wparam&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0x300&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;編集された場合は文字列型暗号を作って表示&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;str2spell&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objprm&lt;/span&gt;&amp;nbsp;idResult,&amp;nbsp;result&lt;br /&gt;&lt;span class="hsp3_comment"&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;この行の"/*"を消すとタイトルに復元した文字列を表示&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sdim&amp;nbsp;s,&amp;nbsp;512&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spell2str&amp;nbsp;s,&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;s&lt;br /&gt;//*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8214860523142328543?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8214860523142328543/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8214860523142328543' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8214860523142328543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8214860523142328543'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/blog-post_17.html' title='「ふっかつのじゅもん」っぽい暗号'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FvjBr66LVQA/R48AGemd0QI/AAAAAAAAAHk/BFk_xlVkyE0/s72-c/spell.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8007171569956409097</id><published>2008-01-13T08:34:00.000+09:00</published><updated>2008-01-13T10:03:22.713+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Math'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>数式の分解</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R4lO4umd0OI/AAAAAAAAAHU/tbelTGBTmig/s1600-h/exp.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R4lO4umd0OI/AAAAAAAAAHU/tbelTGBTmig/s320/exp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5154737984991252706" /&gt;&lt;/a&gt;正規表現を使って数式を分解し、文字列型配列変数に代入します。&lt;br /&gt;日本語が使えないのが難点です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;関連：&lt;a href="http://rpen.blogspot.com/2007/05/blog-post_12.html"&gt;インタプリンタ電卓もどき&lt;/a&gt;&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#runtime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hsp3cl"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;正規表現を利用した数式の分解&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;英数字およびアンダースコア・半角丸かっこと各種演算子のみ使用可能（日本語は無視）&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;split_calc&lt;/span&gt;&amp;nbsp;array&amp;nbsp;result,&amp;nbsp;str&amp;nbsp;exp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;oReg,&amp;nbsp;&lt;span class="hsp3_string"&gt;"VBScript.RegExp"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;oMatches&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oReg(&lt;span class="hsp3_string"&gt;"Global"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oReg(&lt;span class="hsp3_string"&gt;"Pattern"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"[0-9\\.]+|\\+|-|\\*|/|%|=|\\w*\\(|\\)|\\w+"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oReg&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Execute"&lt;/span&gt;&amp;nbsp;exp&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&amp;nbsp;oMatches(&lt;span class="hsp3_string"&gt;"Count"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bracket_l&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;bracket_r&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;oMatches(&lt;span class="hsp3_string"&gt;"Count"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oMatch&amp;nbsp;=&amp;nbsp;oMatches(&lt;span class="hsp3_string"&gt;"Item"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;oMatch(&lt;span class="hsp3_string"&gt;"Value"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(result(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;),&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;s&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_string"&gt;"("&lt;/span&gt;&amp;nbsp;:&amp;nbsp;bracket_l++&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;s&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_string"&gt;")"&lt;/span&gt;&amp;nbsp;:&amp;nbsp;bracket_r++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;bracket_l&amp;nbsp;!=&amp;nbsp;bracket_r&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exp&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"s(r)&amp;nbsp;=&amp;nbsp;r&amp;nbsp;*&amp;nbsp;r&amp;nbsp;*&amp;nbsp;3.14"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;exp&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"\n"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;数式を分解&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;split_calc&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;exp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"括弧の数が不正です。"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;結果の表示&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;result(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8007171569956409097?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8007171569956409097/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8007171569956409097' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8007171569956409097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8007171569956409097'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/blog-post.html' title='数式の分解'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R4lO4umd0OI/AAAAAAAAAHU/tbelTGBTmig/s72-c/exp.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8619789101145187009</id><published>2008-01-12T09:06:00.000+09:00</published><updated>2008-01-12T09:10:22.843+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML出力'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveX'/><title type='text'>Googleマップを利用する</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R4gE_-md0NI/AAAAAAAAAHM/67aIFjkaDZU/s1600-h/map.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R4gE_-md0NI/AAAAAAAAAHM/67aIFjkaDZU/s320/map.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5154375270708138194" /&gt;&lt;/a&gt;経度と緯度を指定して、付近の地図を表示します。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;経度と緯度を指定して、GoogleMapを表示する&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;COMBOX_HEIGHT&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;20&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;axobj&lt;/span&gt;&amp;nbsp;ie,&amp;nbsp;&lt;span class="hsp3_string"&gt;"Shell.Explorer.2"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_macro"&gt;COMBOX_HEIGHT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ActiveXコントロールの配置に失敗しました。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;places,&amp;nbsp;&lt;span class="hsp3_number"&gt;60&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;places&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"札幌ドーム\n東京ドーム\n原爆ドーム"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;緯度と経度…Geocodingにて検索&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ll(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;43.014605&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;141.410877&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;札幌ドーム&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ll(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;35.705637&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;139.751892&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;東京ドーム&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ll(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;34.395483&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;132.453592&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;原爆ドーム&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;objsize&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;COMBOX_HEIGHT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;combox&lt;/span&gt;&amp;nbsp;selected,&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;,&amp;nbsp;places&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hcombox&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*on_selected&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0111&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*jump&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;指定場所へのジャンプ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*jump&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"http://maps.google.co.jp/?ie=UTF8&amp;amp;z=17&amp;amp;om=1&amp;amp;ll="&lt;/span&gt;&amp;nbsp;+&amp;nbsp;ll(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;selected)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;","&lt;/span&gt;&amp;nbsp;+&amp;nbsp;ll(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;selected)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;amp;output=embed&amp;amp;s=AARTsJqzARj-Z8VnW5pkPMLMmZbqrJcYpw"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ie&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Navigate"&lt;/span&gt;&amp;nbsp;url&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コンボボックスが変更された場合にジャンプ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*on_selected&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;lparam&lt;/span&gt;&amp;nbsp;==&amp;nbsp;hcombox)&amp;amp;(&lt;span class="hsp3_sysval"&gt;wparam&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x10000&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*jump&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8619789101145187009?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8619789101145187009/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8619789101145187009' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8619789101145187009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8619789101145187009'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/google.html' title='Googleマップを利用する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R4gE_-md0NI/AAAAAAAAAHM/67aIFjkaDZU/s72-c/map.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-4584099391664880601</id><published>2008-01-08T11:20:00.000+09:00</published><updated>2008-01-09T10:23:28.888+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Footy2'/><title type='text'>Footy2の「イベントの監視」機能を利用する</title><content type='html'>hscallbk.dllを利用したイベントの監視。&lt;br /&gt;ステータスバーに捕まえたイベントを報告します。&lt;br /&gt;&lt;br /&gt;切り取りやアンドゥなどのショートカットキー（ctrl+A,C,V,X,Y,Z）をonkeyで実装しています。&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footy2.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hscallbk.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"user32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;Focus&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;MoveCaret&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;TextModified&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;InsertModeChanged&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*init&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*createGUIObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*setCallBackFunctions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;onkey&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*onPushKey&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*createGUIObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ステータスバー作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考：http://lhsp.s206.xrea.com/hsp_object8.html&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;　　：http://yokohama.cool.ne.jp/chokuto/urawaza/statusbar.html&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;winobj&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"msctls_statusbar32"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"ready"&lt;/span&gt;,&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_number"&gt;$50000000&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusbar_id&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;statusbar_id&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ウィンドウオブジェクトが正常に生成されませんでした"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ステータスバーの高さを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;rect,&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;GetWindowRect&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(rect)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ステータスバーの座標取得に失敗しました"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusbar_height&amp;nbsp;=&amp;nbsp;rect(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;-&amp;nbsp;rect(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;Footyエディタコントロール設置&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Create&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;statusbar_height,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;footy_id&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;footy_id&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Error&amp;nbsp;:&amp;nbsp;type&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コールバック関数の登録&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*setCallBackFunctions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_Focus,&amp;nbsp;&lt;span class="hsp3_command"&gt;Focus&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onFocus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_MoveCaret,&amp;nbsp;&lt;span class="hsp3_command"&gt;MoveCaret&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onMoveCaret&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_TextModified,&amp;nbsp;&lt;span class="hsp3_command"&gt;TextModified&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onTextModified&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_InsertModeChanged,&amp;nbsp;&lt;span class="hsp3_command"&gt;InsertModeChanged&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onInsertModeChanged&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncFocus&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_Focus),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncMoveCaret&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_MoveCaret),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncTextModified&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_TextModified),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncInsertModeChanged&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_InsertModeChanged),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;フォーカスを得た/失った&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onFocus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$FF&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footyコントロールがフォーカスを得ました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footyコントロールがフォーカスを失いました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;キャレットが移動した&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onMoveCaret&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"キャレット位置が変更されました（"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;":"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;テキストが編集された&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onTextModified&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;switch&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_CHAR&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"文字が入力されました（IMEオフ）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_IME&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"文字が入力されました（IMEオン）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_DELETE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Deleteキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_BACKSPACE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"BackSpaceキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_ENTER&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Enterキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_UNDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"元に戻す処理が実行されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_REDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"やり直し処理が実行されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_CUT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"切り取り処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_PASTE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"貼り付け処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_INDENT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"インデント処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_UNINDENT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"逆インデント処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_TAB&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"タブキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;default&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"テキストが編集されました（UNKNOWN）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swend&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;挿入/上書モードの変更&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onInsertModeChanged&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$FF&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"挿入モードに変更されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"上書モードに変更されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ショートカットキー&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onPushKey&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keycode&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;iparam&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;getkey&lt;/span&gt;&amp;nbsp;ctrl,&amp;nbsp;&lt;span class="hsp3_number"&gt;17&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;ctrl&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;switch&lt;/span&gt;&amp;nbsp;keycode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'A'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;Footy2SelectAll&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'C'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Copy&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'V'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Paste&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'X'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Cut&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'Y'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Redo&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'Z'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Undo&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swend&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;アクセラレータキーを利用したスクリプトがこちら。&lt;br /&gt;ウィンドウの最大化にも対応しています。&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アクセラレータキーを使用&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;Footy2付属のC++サンプルとほぼ同等&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footy2.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hscallbk.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"user32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;Focus&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;MoveCaret&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;TextModified&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;InsertModeChanged&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;&amp;nbsp;int,&amp;nbsp;int,&amp;nbsp;int&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FVIRTKEY&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0001&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FNOINVERT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0002&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FSHIFT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0004&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FCONTROL&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0008&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;FALT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_SIZE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0005&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_COMMAND&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0111&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_UNDO&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_REDO&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_CUT&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_COPY&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_PASTE&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_SELECTALL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;初期化作業&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*init&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*createGUIObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*createAccelTable&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*setCallBackFunctions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*on_resize&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_SIZE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*on_command&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_COMMAND&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;onexit&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;goto&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*on_exit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;msg,&amp;nbsp;&lt;span class="hsp3_number"&gt;7&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFocus&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メッセージループ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*msg_loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;GetMessage&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(msg),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(ret&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)|(ret&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;goto&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*on_exit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;TranslateAccelerator&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;haccel,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;TranslateMessage&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DispatchMessage&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(msg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;goto&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*msg_loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_MAXIMIZEBOX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00010000&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_SIZEBOX&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00040000&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*createGUIObjects&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ウィンドウ初期化&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;screen&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_dispx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_dispy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;GetWindowLong&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SetWindowLong&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_MAXIMIZEBOX&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_macro"&gt;WS_SIZEBOX&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;title&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footy2サンプル&amp;nbsp;on&amp;nbsp;Footy2&amp;nbsp;ver."&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;GetFooty2Ver&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;width&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;640&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;480&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ステータスバー作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考：http://lhsp.s206.xrea.com/hsp_object8.html&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;　　：http://yokohama.cool.ne.jp/chokuto/urawaza/statusbar.html&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;winobj&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"msctls_statusbar32"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"ready"&lt;/span&gt;,&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_number"&gt;$50000000&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusbar_id&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;statusbar_id&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ウィンドウオブジェクトが正常に生成されませんでした"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ステータスバーの高さを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;rect,&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;GetWindowRect&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(rect)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ステータスバーの座標取得に失敗しました"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusbar_height&amp;nbsp;=&amp;nbsp;rect(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;-&amp;nbsp;rect(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;Footyエディタコントロール設置&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Create&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;statusbar_height,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;footy_id&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;footy_id&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Error&amp;nbsp;:&amp;nbsp;type&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アクセラレータテーブルの作成&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考：「アクセラレータ&amp;nbsp;-&amp;nbsp;HSP開発wiki」&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;　　　http://hspdev-wiki.net/?%A5%A2%A5%AF%A5%BB%A5%E9%A5%EC%A1%BC%A5%BF&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*createAccelTable&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;accel,&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;*&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;key&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'Z'&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'Y'&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'X'&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'C'&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'V'&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'A'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;accel,&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;*&lt;span class="hsp3_number"&gt;6&lt;/span&gt;+&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;FCONTROL&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_macro"&gt;FVIRTKEY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;wpoke&lt;/span&gt;&amp;nbsp;accel,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;*&lt;span class="hsp3_number"&gt;6&lt;/span&gt;+&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;key(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;wpoke&lt;/span&gt;&amp;nbsp;accel,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;*&lt;span class="hsp3_number"&gt;6&lt;/span&gt;+&lt;span class="hsp3_number"&gt;4&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;+&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CreateAcceleratorTable&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(accel),&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;haccel&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;haccel&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"アクセラレータテーブル作成に失敗しました"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コールバック関数の登録&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*setCallBackFunctions&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_Focus,&amp;nbsp;&lt;span class="hsp3_command"&gt;Focus&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onFocus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_MoveCaret,&amp;nbsp;&lt;span class="hsp3_command"&gt;MoveCaret&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onMoveCaret&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_TextModified,&amp;nbsp;&lt;span class="hsp3_command"&gt;TextModified&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onTextModified&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;setcallbk&lt;/span&gt;&amp;nbsp;proc_InsertModeChanged,&amp;nbsp;&lt;span class="hsp3_command"&gt;InsertModeChanged&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*onInsertModeChanged&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncFocus&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_Focus),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncMoveCaret&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_MoveCaret),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncTextModified&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_TextModified),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2SetFuncInsertModeChanged&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(proc_InsertModeChanged),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;フォーカスを得た/失った&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onFocus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$FF&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footyコントロールがフォーカスを得ました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Footyコントロールがフォーカスを失いました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;キャレットが移動した&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onMoveCaret&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"キャレット位置が変更されました（"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;":"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;3&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;テキストが編集された&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onTextModified&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;switch&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_CHAR&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"文字が入力されました（IMEオフ）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_IME&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"文字が入力されました（IMEオン）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_DELETE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Deleteキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_BACKSPACE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"BackSpaceキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_ENTER&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Enterキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_UNDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"元に戻す処理が実行されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_REDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"やり直し処理が実行されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_CUT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"切り取り処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_PASTE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"貼り付け処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_INDENT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"インデント処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_UNINDENT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"逆インデント処理が行われました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;MODIFIED_CAUSE_TAB&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"タブキーが押されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;default&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"テキストが編集されました（UNKNOWN）"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swend&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;挿入/上書モードの変更&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*onInsertModeChanged&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;callbkarg&lt;/span&gt;(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$FF&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"挿入モードに変更されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"上書モードに変更されました"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(statusbar_id),&amp;nbsp;&lt;span class="hsp3_number"&gt;$401&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;message&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;WM_COMMANDメッセージを受け取った&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*on_command&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;switch&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;wparam&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span class="hsp3_number"&gt;$FFFF&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_UNDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Undo&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_REDO&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Redo&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_CUT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Cut&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_COPY&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Copy&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_PASTE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Paste&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;case&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;IDM_SELECTALL&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;Footy2SelectAll&lt;/span&gt;&amp;nbsp;footy_id&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swbreak&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;swend&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;WM_SIZEメッセージを受け取った&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SIZE_RESTORED&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SIZE_MAXIMIZED&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*on_resize&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;wparam&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;SIZE_RESTORED&lt;/span&gt;)&amp;nbsp;|&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;wparam&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;SIZE_MAXIMIZED&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;Footy2Move&lt;/span&gt;&amp;nbsp;footy_id,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;-&amp;nbsp;statusbar_height&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;objinfo_hwnd&lt;/span&gt;(id_statusbar),&amp;nbsp;&lt;span class="hsp3_macro"&gt;WM_SIZE&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;SIZE_RESTORED&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;アクセラレータテーブルの削除&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*destroyAccelTable&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;haccel&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;DestroyAcceleratorTable&lt;/span&gt;&amp;nbsp;haccel&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;終了時処理&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*on_exit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*destroyAccelTable&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-4584099391664880601?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/4584099391664880601/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=4584099391664880601' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/4584099391664880601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/4584099391664880601'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/footy2.html' title='Footy2の「イベントの監視」機能を利用する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-1642574005122479141</id><published>2008-01-08T10:21:00.000+09:00</published><updated>2008-01-08T10:29:50.458+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='お知らせ'/><category scheme='http://www.blogger.com/atom/ns#' term='Footy2'/><title type='text'>Footy2.as正式版を公開しました</title><content type='html'>すべての命令・関数・マクロと定数を記述したHSP3向けヘッダファイルを&lt;a href="http://www.hpp.be:8080/trac/Footy"&gt;Footy2のプロジェクトページ&lt;/a&gt;からダウンロードできます。（コールバック関数の利用はhscallbk.dllが必要です）&lt;br /&gt;&lt;br /&gt;リポジトリブラウザ→trunk→HSPとリンクを辿ってダウンロードしてください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-1642574005122479141?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/1642574005122479141/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=1642574005122479141' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1642574005122479141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1642574005122479141'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/footy2as.html' title='Footy2.as正式版を公開しました'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-2242653164139209141</id><published>2008-01-07T09:47:00.000+09:00</published><updated>2008-01-07T17:43:08.999+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><title type='text'>APIを利用して英語を日本語に翻訳するモジュール</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_FvjBr66LVQA/R4F3AOmd0MI/AAAAAAAAAHE/2lRIJhmoXNk/s1600-h/eng2jp.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_FvjBr66LVQA/R4F3AOmd0MI/AAAAAAAAAHE/2lRIJhmoXNk/s320/eng2jp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5152530294491697346" /&gt;&lt;/a&gt;英語を日本語に翻訳します。&lt;br /&gt;ネットに接続するため、少し時間がかかります。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;英語-&amp;gt;日本語変換サンプル&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;翻訳APIを使用&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://muumoo.jp/news/2007/05/09/0translationapi.html&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考：mod_rss.as&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;mod_translate&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;rss2load_init&lt;/span&gt;@mod_translate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;oDom,&lt;span class="hsp3_string"&gt;"Microsoft.XMLDOM"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oDom(&lt;span class="hsp3_string"&gt;"async"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"FALSE"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;elm_desc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;rss2load&lt;/span&gt;@mod_translate&amp;nbsp;array&amp;nbsp;desc,&amp;nbsp;str&amp;nbsp;url,&amp;nbsp;int&amp;nbsp;p_max&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oDom-&amp;gt;&lt;span class="hsp3_string"&gt;"load"&lt;/span&gt;&amp;nbsp;url&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oRoot&amp;nbsp;=&amp;nbsp;oDom(&lt;span class="hsp3_string"&gt;"documentElement"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;varuse&lt;/span&gt;(oRoot)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;oRoot(&lt;span class="hsp3_string"&gt;"tagName"&lt;/span&gt;)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_string"&gt;"rss"&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;maxnum&amp;nbsp;=&amp;nbsp;p_max&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;maxnum&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;maxnum&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oDom-&amp;gt;&lt;span class="hsp3_string"&gt;"getElementsByTagName"&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"description"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;limit&lt;/span&gt;(elm_desc(&lt;span class="hsp3_string"&gt;"length"&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;maxnum)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;desc,&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;,&amp;nbsp;max&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;max&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;=&amp;nbsp;elm_desc(&lt;span class="hsp3_string"&gt;"item"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node2&amp;nbsp;=&amp;nbsp;node(&lt;span class="hsp3_string"&gt;"firstChild"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;desc(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;node2(&lt;span class="hsp3_string"&gt;"nodeValue"&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;rss2load_clean&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;onexit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(oRoot)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"comobj"&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;node&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;node2&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;oRoot&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;elm_desc&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;oDom&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;英文を和訳します。変換に成功するとstatに0が代入され、第1引数の変数に変換結果が代入されます。&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;変換に失敗するとstatに1が代入されます。&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;eng2jp&lt;/span&gt;&amp;nbsp;var&amp;nbsp;result,&amp;nbsp;str&amp;nbsp;before,&amp;nbsp;local&amp;nbsp;after&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;rss2load&lt;/span&gt;&amp;nbsp;after,&amp;nbsp;&lt;span class="hsp3_string"&gt;"http://pipes.yahoo.com/poolmmjp/ej_translation_api?_render=rss&amp;amp;text="&lt;/span&gt;&amp;nbsp;+&amp;nbsp;before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;amp;(&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(after)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;after(0)にはAPIの説明が代入されている&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;after(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;rss2load_init&lt;/span&gt;@mod_translate&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;モジュールここまで&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Good&amp;nbsp;morning!&amp;nbsp;How&amp;nbsp;are&amp;nbsp;you&amp;nbsp;today?"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"I'm&amp;nbsp;fine,&amp;nbsp;thank&amp;nbsp;you.&amp;nbsp;And&amp;nbsp;you?"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"So&amp;nbsp;so."&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;target&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;target(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;eng2jp&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;target(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"-&amp;gt;&amp;nbsp;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-2242653164139209141?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/2242653164139209141/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=2242653164139209141' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/2242653164139209141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/2242653164139209141'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/api.html' title='APIを利用して英語を日本語に翻訳するモジュール'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_FvjBr66LVQA/R4F3AOmd0MI/AAAAAAAAAHE/2lRIJhmoXNk/s72-c/eng2jp.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-6106053024150185143</id><published>2008-01-05T09:45:00.000+09:00</published><updated>2008-01-05T10:24:29.169+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32 API'/><title type='text'>ツリービュー2</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_FvjBr66LVQA/R37VSumd0LI/AAAAAAAAAG8/xhvezY0NHMQ/s1600-h/tview.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_FvjBr66LVQA/R37VSumd0LI/AAAAAAAAAG8/xhvezY0NHMQ/s320/tview.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5151789541482156210" /&gt;&lt;/a&gt;Fujiさんのブログにある&lt;a href="http://www.fujidig.com/2007/12/modvar-tree.html"&gt;モジュール変数でツリー&lt;/a&gt;を利用したスクリプト。&lt;br /&gt;このモジュールで作成したツリーを渡すことで、ツリービューを作成するモジュールです。&lt;br /&gt;&lt;br /&gt;ツリー作成モジュールは上記ブログからの引用（一部削除）です。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;http://yokohama.cool.ne.jp/chokuto/urawaza/treeview1.html&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;http://www.fujidig.com/2007/12/modvar-tree.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;m_tree&amp;nbsp;children,&amp;nbsp;content&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;set_tree_content&lt;/span&gt;&amp;nbsp;str&amp;nbsp;_content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content&amp;nbsp;=&amp;nbsp;_content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;getaptr&lt;/span&gt;@m_tree&amp;nbsp;var&amp;nbsp;p1,&amp;nbsp;local&amp;nbsp;hspctx,&amp;nbsp;local&amp;nbsp;vptr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mref&lt;/span&gt;&amp;nbsp;hspctx,&amp;nbsp;&lt;span class="hsp3_number"&gt;68&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dupptr&lt;/span&gt;&amp;nbsp;vptr,&amp;nbsp;hspctx.&lt;span class="hsp3_number"&gt;207&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;vptr.&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modinit&lt;/span&gt;&amp;nbsp;str&amp;nbsp;_content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;set_tree_content&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;thismod&lt;/span&gt;,&amp;nbsp;_content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dimtype&lt;/span&gt;&amp;nbsp;children,&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;getaptr&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_sysval"&gt;thismod&lt;/span&gt;&amp;nbsp;)&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;_new_tree&lt;/span&gt;&amp;nbsp;array&amp;nbsp;tree,&amp;nbsp;str&amp;nbsp;_content&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;)&amp;nbsp;&lt;span class="hsp3_command"&gt;_new_tree&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newmod&lt;/span&gt;&amp;nbsp;tree,&amp;nbsp;m_tree,&amp;nbsp;_content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_tree_content&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;m_tree@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;content&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_tree_num_children&lt;/span&gt;&amp;nbsp;modvar&amp;nbsp;m_tree@&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(&amp;nbsp;children&amp;nbsp;)&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;get_tree_child&lt;/span&gt;&amp;nbsp;int&amp;nbsp;index,&amp;nbsp;var&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;index&amp;nbsp;&amp;lt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;||&amp;nbsp;index&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(&amp;nbsp;children&amp;nbsp;)&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;varuse&lt;/span&gt;(&amp;nbsp;children.index&amp;nbsp;)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;)&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result&amp;nbsp;=&amp;nbsp;children.index&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;var&amp;nbsp;child&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;children&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;children.&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;=&amp;nbsp;child&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;_show_tree&lt;/span&gt;&amp;nbsp;str&amp;nbsp;indent&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;show_tree&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;)&amp;nbsp;&lt;span class="hsp3_command"&gt;_show_tree&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;indent&amp;nbsp;+&amp;nbsp;content&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;children&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span class="hsp3_function"&gt;varuse&lt;/span&gt;(&amp;nbsp;children.&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;)&amp;nbsp;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;show_tree&lt;/span&gt;&amp;nbsp;children.&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;indent&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;&amp;nbsp;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ここまで引用&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"user32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"comctl32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;m_treeview&amp;nbsp;h_treeview&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVIF_TEXT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000001&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVI_LAST&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0xFFFF0002&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVM_INSERTITEM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00001100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ノードを再帰的に追加&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_node&lt;/span&gt;@m_treeview&amp;nbsp;var&amp;nbsp;_node,&amp;nbsp;int&amp;nbsp;h_parent,&amp;nbsp;local&amp;nbsp;node,&amp;nbsp;local&amp;nbsp;h_node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;=&amp;nbsp;_node&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;tvins,&amp;nbsp;&lt;span class="hsp3_number"&gt;12&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bufText&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;get_tree_content&lt;/span&gt;(node)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tvins&amp;nbsp;=&amp;nbsp;h_parent,&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVI_LAST&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVIF_TEXT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tvins(&lt;span class="hsp3_number"&gt;6&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(bufText),&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(bufText)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sendmsg&lt;/span&gt;&amp;nbsp;h_treeview,&amp;nbsp;&lt;span class="hsp3_macro"&gt;TVM_INSERTITEM&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(tvins)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h_node&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;子ノードの追加&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_tree_num_children&lt;/span&gt;(node)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;get_tree_child&lt;/span&gt;&amp;nbsp;node,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;child&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_node&lt;/span&gt;@m_treeview&amp;nbsp;&lt;span class="hsp3_sysval"&gt;thismod&lt;/span&gt;,&amp;nbsp;child,&amp;nbsp;h_node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;h_node&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ツリービューの作成&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;statにはツリービューのハンドルが返る&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;make_treeview&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%3&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%4&lt;/span&gt;)&amp;nbsp;&lt;span class="hsp3_command"&gt;newmod&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;m_treeview,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%3&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%4&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#modinit&lt;/span&gt;&amp;nbsp;var&amp;nbsp;root,&amp;nbsp;int&amp;nbsp;_width,&amp;nbsp;int&amp;nbsp;_height&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コモンコントロールライブラリ初期化（無くても動作する？）&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initCCEx&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;8&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000002&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;InitCommonControlsEx&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(initCCEx)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コントロールの作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0x40000000&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;0x10000000&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0001&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0002&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0200&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CreateWindowEx&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"SysTreeView32"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;,&amp;nbsp;style,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_cx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_cy&lt;/span&gt;,&amp;nbsp;_width,&amp;nbsp;_height,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h_treeview&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;h_treeview&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_node&lt;/span&gt;@m_treeview&amp;nbsp;&lt;span class="hsp3_sysval"&gt;thismod&lt;/span&gt;,&amp;nbsp;root,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;h_treeview&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ツリーの作成（引用）&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree,&amp;nbsp;&lt;span class="hsp3_string"&gt;"root"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree_1,&amp;nbsp;&lt;span class="hsp3_string"&gt;"1"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;tree,&amp;nbsp;tree_1&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree_2,&amp;nbsp;&lt;span class="hsp3_string"&gt;"2"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;tree,&amp;nbsp;tree_2&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree_2_1,&amp;nbsp;&lt;span class="hsp3_string"&gt;"2-1"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;tree_2,&amp;nbsp;tree_2_1&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree_2_1_1,&amp;nbsp;&lt;span class="hsp3_string"&gt;"2-1-1"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;tree_2_1,&amp;nbsp;tree_2_1_1&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;new_tree&lt;/span&gt;&amp;nbsp;tree_2_2,&amp;nbsp;&lt;span class="hsp3_string"&gt;"2-2"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_tree_child&lt;/span&gt;&amp;nbsp;tree_2,&amp;nbsp;tree_2_2&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ツリービューを作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;cls&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;make_treeview&lt;/span&gt;&amp;nbsp;treeview,&amp;nbsp;tree,&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ツリービューの作成に失敗しました。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ツリーを表示&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;pos&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;show_tree&lt;/span&gt;&amp;nbsp;tree&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-6106053024150185143?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/6106053024150185143/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=6106053024150185143' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6106053024150185143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6106053024150185143'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/2.html' title='ツリービュー2'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_FvjBr66LVQA/R37VSumd0LI/AAAAAAAAAG8/xhvezY0NHMQ/s72-c/tview.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3656865079884490869</id><published>2008-01-03T10:19:00.000+09:00</published><updated>2008-01-03T10:25:52.747+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveX'/><title type='text'>IEコンポのジャンプ先ＵＲＬを取得する</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FvjBr66LVQA/R3w4humd0KI/AAAAAAAAAG0/JOMPbD3sY5w/s1600-h/ie.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_FvjBr66LVQA/R3w4humd0KI/AAAAAAAAAG0/JOMPbD3sY5w/s320/ie.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5151054225901211810" /&gt;&lt;/a&gt;HHXソースコード解析によるスクリプト。&lt;br /&gt;リンクをクリックしたときにそのジャンプ先URLを取得します。HHXではこのURLを解析して様々な処理を行っています。&lt;br /&gt;&lt;br /&gt;広告による読み込み（Javascript）に対しても反応してしまうようです。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;他のファイルにジャンプする時いちいち確認するブラウザのサンプル&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;主にhhx.hspから引用&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"user32.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ie&amp;nbsp;event&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DIID_DWebBrowserEvents2&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"{34A715A0-6587-11D0-924A-0020AFC7AC4D}"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;exdispid.h&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DISPID_BEFORENAVIGATE2&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;250&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;hyperlink&amp;nbsp;clicked&amp;nbsp;on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#packopt&lt;/span&gt;&amp;nbsp;hide&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ウィンドウ最大化を可能にする&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考&amp;nbsp;-&amp;gt;&amp;nbsp;http://lhsp.s206.xrea.com/hsp_window.html&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;screen&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_dispx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_dispy&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;screen_hide&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;GetWindowLong&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SetWindowLong&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;hwnd&lt;/span&gt;,&amp;nbsp;-&lt;span class="hsp3_number"&gt;16&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;$10000&lt;/span&gt;&amp;nbsp;|&amp;nbsp;&lt;span class="hsp3_number"&gt;$40000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ActiveXコントロール（IEコンポーネント）の配置&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;axobj&lt;/span&gt;&amp;nbsp;ieBrowser,&amp;nbsp;&lt;span class="hsp3_string"&gt;"Shell.Explorer.2"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;idIE&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;idIE&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ActiveXコントロールの配置に失敗しました。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ieBrowser-&amp;gt;&lt;span class="hsp3_string"&gt;"Navigate"&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"http://www.yahoo.co.jp/"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;割り込み設定&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comevent&lt;/span&gt;&amp;nbsp;ieEvent,&amp;nbsp;ieBrowser,&amp;nbsp;&lt;span class="hsp3_macro"&gt;DIID_DWebBrowserEvents2&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_label"&gt;*event_ie&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*event_resize&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0005&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;onexit&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;goto&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;width&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;640&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;480&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gsel&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;COMイベント発生時のジャンプ先&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*event_ie&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;comevdisp&lt;/span&gt;(ieEvent)&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_macro"&gt;DISPID_BEFORENAVIGATE2&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;URLを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comevarg&lt;/span&gt;&amp;nbsp;newurl,&amp;nbsp;ieEvent,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;newurl&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"\nを開こうとしています。開きますか？"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;7&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;「いいえ」の場合はNAVIGATEをキャンセル&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comevarg&lt;/span&gt;&amp;nbsp;Cancel,&amp;nbsp;ieEvent,&amp;nbsp;&lt;span class="hsp3_number"&gt;6&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cancel(&lt;span class="hsp3_string"&gt;"val"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;Cancel&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ウィンドウのリサイズ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*event_resize&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;MoveWindow&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;objinfo&lt;/span&gt;(idIE,&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;),&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;プログラムの終了処理&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*exit&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;oncmd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;onexit&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;ieEvent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;ieBrowser&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3656865079884490869?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3656865079884490869/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3656865079884490869' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3656865079884490869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3656865079884490869'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/ie.html' title='IEコンポのジャンプ先ＵＲＬを取得する'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FvjBr66LVQA/R3w4humd0KI/AAAAAAAAAG0/JOMPbD3sY5w/s72-c/ie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-7681920743523884360</id><published>2008-01-02T11:55:00.001+09:00</published><updated>2008-01-02T11:59:41.210+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='画像の描画・編集'/><title type='text'>RPG風メッセージウィンドウの描画</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R3r9Nemd0JI/AAAAAAAAAGs/EAM378SuyH0/s1600-h/original_win.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R3r9Nemd0JI/AAAAAAAAAGs/EAM378SuyH0/s320/original_win.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5150707531846111378" /&gt;&lt;/a&gt;ツクールなどでよくありそうなデザインのウィンドウを描画します。三角関数とhsvcolorを組み合わせることで、きれいなグラデーションが表現できます。&lt;br /&gt;白と黒の線で囲むことで、どんな背景でもある程度の見易さを確保するよう努めています。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;line_box&lt;/span&gt;&amp;nbsp;int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y,&amp;nbsp;int&amp;nbsp;_w,&amp;nbsp;int&amp;nbsp;_h,&amp;nbsp;local&amp;nbsp;w,&amp;nbsp;local&amp;nbsp;h&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;w&amp;nbsp;=&amp;nbsp;_w&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;h&amp;nbsp;=&amp;nbsp;_h&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;line&lt;/span&gt;&amp;nbsp;x+w,&amp;nbsp;y,&amp;nbsp;x,&amp;nbsp;y&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;line&lt;/span&gt;&amp;nbsp;x+w,&amp;nbsp;y+h&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;line&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;y+h&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;line&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;y&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_win&lt;/span&gt;&amp;nbsp;int&amp;nbsp;x,&amp;nbsp;int&amp;nbsp;y,&amp;nbsp;int&amp;nbsp;_w,&amp;nbsp;int&amp;nbsp;_h,&amp;nbsp;local&amp;nbsp;w,&amp;nbsp;local&amp;nbsp;h&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;w&amp;nbsp;=&amp;nbsp;_w&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;h&amp;nbsp;=&amp;nbsp;_h&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;angle&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;/&lt;span class="hsp3_number"&gt;20&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;*&amp;nbsp;(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;+&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)/&lt;span class="hsp3_number"&gt;20&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;hsvcolor&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;130&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;-&lt;span class="hsp3_number"&gt;2&lt;/span&gt;*&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;*&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&amp;nbsp;x+&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(angle)*w,&amp;nbsp;y,&amp;nbsp;x+&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(angle(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))*w,&amp;nbsp;y+h&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;line_box&lt;/span&gt;&amp;nbsp;x,&amp;nbsp;y,&amp;nbsp;_w,&amp;nbsp;_h&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;line_box&lt;/span&gt;&amp;nbsp;x+&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;y+&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;_w-&lt;span class="hsp3_number"&gt;2&lt;/span&gt;,&amp;nbsp;_h-&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;draw_win&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;240&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-7681920743523884360?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/7681920743523884360/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=7681920743523884360' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/7681920743523884360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/7681920743523884360'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/rpg.html' title='RPG風メッセージウィンドウの描画'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R3r9Nemd0JI/AAAAAAAAAGs/EAM378SuyH0/s72-c/original_win.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-7070522884869562743</id><published>2008-01-02T08:01:00.000+09:00</published><updated>2008-01-02T16:58:13.660+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32 API'/><title type='text'>lstrlenAとstrlenの速度比較</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R3rGnemd0II/AAAAAAAAAGk/hfDWFBoDnDo/s1600-h/lstrlen.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R3rGnemd0II/AAAAAAAAAGk/hfDWFBoDnDo/s320/lstrlen.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5150647505383182466" /&gt;&lt;/a&gt;今回の条件ではlstrlenAよりもstrlenの方が高速な模様。&lt;br /&gt;&lt;br /&gt;&lt;ins datetime="2008-01-02T17:00:00+09:00"&gt;※別の書き方ではlstrlenAの方が速くなります。むしろそちらの書き方の方が普通と考えられます。m(_ _;)m&lt;/ins&gt;&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;lstrlenAとstrlenの速度比較&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"kernel32.dll"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#cfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;lstrlenA&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"lstrlenA"&lt;/span&gt;&amp;nbsp;sptr&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"winmm.dll"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#cfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"timeGetTime"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;trial_times&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;font&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;msgothic&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;14&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;3&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;trial_strlen&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;1000&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;trial_string,&amp;nbsp;trial_strlen&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;memset&lt;/span&gt;&amp;nbsp;trial_string,&amp;nbsp;&lt;span class="hsp3_stringcode"&gt;'a'&lt;/span&gt;,&amp;nbsp;trial_strlen&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;lstrlenAの速度計測&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;trial_times&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(trial_string)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&amp;nbsp;-&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;strlenの速度計測&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;trial_times&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;lstrlenA&lt;/span&gt;(trial_string)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&amp;nbsp;-&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"文字列長（%dbytes）の場合："&lt;/span&gt;,&amp;nbsp;trial_strlen)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"　strlen&amp;nbsp;&amp;nbsp;：%d[msec]"&lt;/span&gt;,&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"　lstrlenA：%d[msec]"&lt;/span&gt;,&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-7070522884869562743?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/7070522884869562743/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=7070522884869562743' title='6 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/7070522884869562743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/7070522884869562743'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2008/01/lstrlenastrlen.html' title='lstrlenAとstrlenの速度比較'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R3rGnemd0II/AAAAAAAAAGk/hfDWFBoDnDo/s72-c/lstrlen.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-6861911035140633509</id><published>2007-12-28T16:52:00.000+09:00</published><updated>2007-12-28T16:58:53.935+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32 API'/><title type='text'>レジストリを読み出す（advapi32）</title><content type='html'>advapi32を利用したレジストリ読み出し。HSP3標準エディタの「起動時のカレントディレクトリ」を読み出します。&lt;br /&gt;&lt;br /&gt;事前にデータの大きさを知ることができる分、hspextよりも便利かもしれません。&lt;br /&gt;ここでは利用していませんが、エラーの原因を詳しく追及することもできます。&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;参考（というか丸写し）&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;ちょくとのページ：レジストリに保存してみる&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;http://yokohama.cool.ne.jp/chokuto/urawaza/registry.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"advapi32.dll"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegCloseKey&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"RegCloseKey"&lt;/span&gt;&amp;nbsp;sptr&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegOpenKeyExA&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"RegOpenKeyExA"&lt;/span&gt;&amp;nbsp;sptr,sptr,sptr,sptr,sptr&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#func&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegQueryValueExA&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"RegQueryValueExA"&lt;/span&gt;&amp;nbsp;sptr,sptr,sptr,sptr,sptr,sptr&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HKEY_CURRENT_USER&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x80000001&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;KEY_QUERY_VALUE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0001&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;レジストリキーをオープン&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Software\\OnionSoftware\\hsed3"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegOpenKeyExA&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HKEY_CURRENT_USER&lt;/span&gt;,&amp;nbsp;name,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;KEY_QUERY_VALUE&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(hkey)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"キーをオープンできません。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;データのサイズを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegQueryValueExA&lt;/span&gt;&amp;nbsp;hkey,&amp;nbsp;&lt;span class="hsp3_string"&gt;"startdir"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(size)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"データサイズを取得できませんでした。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"データサイズは%dバイトです。"&lt;/span&gt;,&amp;nbsp;size)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列データを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegQueryValueExA&lt;/span&gt;&amp;nbsp;hkey,&amp;nbsp;&lt;span class="hsp3_string"&gt;"startdir"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(result),&amp;nbsp;&lt;span class="hsp3_function"&gt;varptr&lt;/span&gt;(size)&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"データを取得できませんでした。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;レジストリキーのハンドルをクローズ&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;RegCloseKey&lt;/span&gt;&amp;nbsp;hkey&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://rpen.blogspot.com/2007/12/hspext.html"&gt;レジストリを読み出す（hspext）&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-6861911035140633509?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/6861911035140633509/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=6861911035140633509' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6861911035140633509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6861911035140633509'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/advapi32.html' title='レジストリを読み出す（advapi32）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-1680240394615059541</id><published>2007-12-28T16:19:00.000+09:00</published><updated>2007-12-28T16:57:48.077+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><title type='text'>レジストリを読み出す（hspext）</title><content type='html'>レジストリを読み出すスクリプト。&lt;br /&gt;HSP3標準エディタの「起動時のカレントディレクトリ」を読み出します。&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspext.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HKEY_CURRENT_USER&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;HSP3標準スクリプトエディタの設定を指定する&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;regkey&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HKEY_CURRENT_USER&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"Software\\OnionSoftware\\hsed3"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"何らかのエラーが発生しました。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;起動時のカレントディレクトリを取得&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_number"&gt;256&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;getreg&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;&lt;span class="hsp3_string"&gt;"startdir"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;256&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dialog&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"何らかのエラーが発生しました。"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;end&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;結果を表示&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://rpen.blogspot.com/2007/12/advapi32.html"&gt;レジストリを読み出す（advapi32）&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-1680240394615059541?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/1680240394615059541/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=1680240394615059541' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1680240394615059541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/1680240394615059541'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/hspext.html' title='レジストリを読み出す（hspext）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-385383625557100508</id><published>2007-12-26T20:55:00.000+09:00</published><updated>2007-12-29T10:04:25.660+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>文字列の分割と結合</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FvjBr66LVQA/R3JEYOmd0HI/AAAAAAAAAGY/yfyZFTqYiyI/s1600-h/stringutil.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_FvjBr66LVQA/R3JEYOmd0HI/AAAAAAAAAGY/yfyZFTqYiyI/s320/stringutil.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5148252507064881266" /&gt;&lt;/a&gt;ActionScript3(AS3)にあるメソッド、split(文字列の分割)とjoin(文字型配列変数の結合)をHSP標準の文字列操作命令で実装。&lt;br /&gt;splitの方は正規表現で何とかできそうな気がしますが……VBScriptのRegExpにはsplitメソッドが備わっていないようなので、少し難しいのでしょうか。ただいま調査中です。&lt;br /&gt;&lt;br /&gt;&lt;ins datetime="2007-12-29T10:00:00+09:00"&gt;区切り文字の数が多く、さらに区切り文字で終わる文字列をsplitできなかった不具合を修正。&lt;/ins&gt;&lt;br style="clear:both;"/&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列の分割&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;split&lt;/span&gt;&amp;nbsp;array&amp;nbsp;arr,&amp;nbsp;str&amp;nbsp;target,&amp;nbsp;str&amp;nbsp;devider&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;devider&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割する目印は空文字であってはならない&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;dim&lt;/span&gt;&amp;nbsp;part_strlen,&amp;nbsp;&lt;span class="hsp3_number"&gt;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割結果の長さ&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part_strlen_max&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割結果の長さの最大値&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parts_num&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割結果の数&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_target&amp;nbsp;=&amp;nbsp;target&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;instr,strmidを使うために変数に代入する&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_strlen&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(target)&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割する文字列の長さ&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;devider_strlen&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(devider)&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割する目印の長さ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;いくつに分割できるか調べる&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ins&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;instr&lt;/span&gt;(_target,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;devider)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;ins&amp;nbsp;==&amp;nbsp;-&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part_strlen(parts_num&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;target_strlen&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;part_strlen_max&amp;nbsp;&amp;lt;&amp;nbsp;part_strlen(parts_num&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part_strlen_max&amp;nbsp;=&amp;nbsp;part_strlen(parts_num&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;break&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part_strlen(parts_num&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;ins&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;part_strlen_max&amp;nbsp;&amp;lt;&amp;nbsp;ins&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;part_strlen_max&amp;nbsp;=&amp;nbsp;ins&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parts_num++&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;continue&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;ins&amp;nbsp;+&amp;nbsp;devider_strlen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割結果代入用の配列を確保&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;arr,&amp;nbsp;part_strlen_max&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;parts_num&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;分割の開始&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;arr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arr(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strmid&lt;/span&gt;(_target,&amp;nbsp;position,&amp;nbsp;part_strlen(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;+=&amp;nbsp;part_strlen(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;devider_strlen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列の結合&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;join&lt;/span&gt;&amp;nbsp;var&amp;nbsp;result,&amp;nbsp;array&amp;nbsp;target,&amp;nbsp;str&amp;nbsp;connecter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;vartype&lt;/span&gt;(target)&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;結合する配列変数は文字列型でなければならない&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connecter_strlen&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(connecter)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;連結結果の長さを調べる&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result_strlen&amp;nbsp;=&amp;nbsp;connecter_strlen&amp;nbsp;*&amp;nbsp;(&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(target)&amp;nbsp;-&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;length&lt;/span&gt;(target)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target_strlen(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(target(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result_length&amp;nbsp;+=&amp;nbsp;target_strlen(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;連結結果代入用の変数を確保&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;result_length&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;連結の開始&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;target&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;position,&amp;nbsp;connecter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;+=&amp;nbsp;connecter_strlen&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;position,&amp;nbsp;target(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position&amp;nbsp;+=&amp;nbsp;target_strlen(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ちょっと遠回りな置換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;replace&lt;/span&gt;&amp;nbsp;var&amp;nbsp;target,&amp;nbsp;str&amp;nbsp;before,&amp;nbsp;str&amp;nbsp;after&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;split&lt;/span&gt;&amp;nbsp;tmparr,&amp;nbsp;target,&amp;nbsp;before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;join&lt;/span&gt;&amp;nbsp;target,&amp;nbsp;tmparr,&amp;nbsp;after&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;サンプルスクリプト&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;font&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;msgothic&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;14&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;"Hot&amp;nbsp;Soup&amp;nbsp;Processor"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;s&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"\n半角スペースで分割"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;split&lt;/span&gt;&amp;nbsp;arr,&amp;nbsp;s,&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;foreach&lt;/span&gt;&amp;nbsp;arr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"{"&lt;/span&gt;+&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;+&lt;span class="hsp3_string"&gt;"}:"&lt;/span&gt;+arr(&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"\nエクスクラメーションマークで結合"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;join&lt;/span&gt;&amp;nbsp;result,&amp;nbsp;arr,&amp;nbsp;&lt;span class="hsp3_string"&gt;"!"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;result&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"\nsplitとjoinを組み合わせで置換"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;replace&lt;/span&gt;&amp;nbsp;s,&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"!"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;s&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-385383625557100508?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/385383625557100508/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=385383625557100508' title='3 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/385383625557100508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/385383625557100508'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/blog-post_26.html' title='文字列の分割と結合'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FvjBr66LVQA/R3JEYOmd0HI/AAAAAAAAAGY/yfyZFTqYiyI/s72-c/stringutil.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-3198435854907043333</id><published>2007-12-25T22:57:00.000+09:00</published><updated>2007-12-26T20:45:53.834+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML出力'/><title type='text'>正規表現を利用したURL＆メールアドレスのタグ付け</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_FvjBr66LVQA/R3EP5emd0GI/AAAAAAAAAGQ/PiJYwioxLxo/s1600-h/autolink.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_FvjBr66LVQA/R3EP5emd0GI/AAAAAAAAAGQ/PiJYwioxLxo/s320/autolink.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5147913329202548834" /&gt;&lt;/a&gt;テキストに含まれるURLやメールアドレスにリンクタグ（aタグ）をつけます。&lt;br /&gt;当初は1バイトずつ切りだして判定する方法を利用していたのですが、分かりづらい上に作りにくかったので正規表現を利用したものに切り替えました。ロジックを書かなくて済む分、かなりシンプルなスクリプトになっています。独自のWikiやBBSなどに利用できるかもしれません。&lt;br style="clear:both" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;正規表現を利用したURL＆メルアドのタグ付け&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;置換処理のメイン部分&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;do_cnv&lt;/span&gt;&amp;nbsp;str&amp;nbsp;before,&amp;nbsp;var&amp;nbsp;after,&amp;nbsp;str&amp;nbsp;pattern,&amp;nbsp;str&amp;nbsp;replace&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;newcom&lt;/span&gt;&amp;nbsp;regexp,&amp;nbsp;&lt;span class="hsp3_string"&gt;"VBScript.RegExp"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;comres&lt;/span&gt;&amp;nbsp;after&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regexp(&lt;span class="hsp3_string"&gt;"Pattern"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;pattern&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regexp(&lt;span class="hsp3_string"&gt;"Global"&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regexp&amp;nbsp;-&amp;gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"Replace"&lt;/span&gt;&amp;nbsp;before,&amp;nbsp;replace&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;delcom&lt;/span&gt;&amp;nbsp;regexp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;URLのタグ付け&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;add_link&lt;/span&gt;&amp;nbsp;str&amp;nbsp;before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;do_cnv&lt;/span&gt;&amp;nbsp;before,&amp;nbsp;after,&amp;nbsp;&lt;span class="hsp3_string"&gt;"(http://[-/.~_#0-9a-zA-Z]+)"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;lt;a&amp;nbsp;href=\"$1\"&amp;gt;$1&amp;lt;/a&amp;gt;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;after&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メールアドレスのタグ付け&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;add_mailto&lt;/span&gt;&amp;nbsp;str&amp;nbsp;before&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;do_cnv&lt;/span&gt;&amp;nbsp;before,&amp;nbsp;after,&amp;nbsp;&lt;span class="hsp3_string"&gt;"([-/.~_0-9a-zA-Z]+@[-.~_0-9a-zA-Z]+)"&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;lt;a&amp;nbsp;href=\"mailto:$1\"&amp;gt;$1&amp;lt;/a&amp;gt;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;after&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;URLにリンク（日本語ドメイン非対応）&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;before&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;{"文字列中のURL（URI）にリンクします&lt;br /&gt;HSPTV!（http://hsp.tv/）&lt;br /&gt;HSP開発wiki（http://hspdev-wiki.net/）&lt;br /&gt;http://だけではリンクされません"}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;after1&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;add_link&lt;/span&gt;(before)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mesbox&lt;/span&gt;&amp;nbsp;after1,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メールアドレスにリンク&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;before&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;{"文字列中のメールアドレスにリンクします&lt;br /&gt;例えばsample2007@yaboo.co.jpとか！"}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;after2&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;add_mailto&lt;/span&gt;(before)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mesbox&lt;/span&gt;&amp;nbsp;after2,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winx&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;ginfo_winy&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_number"&gt;2&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-3198435854907043333?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/3198435854907043333/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=3198435854907043333' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3198435854907043333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/3198435854907043333'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/url.html' title='正規表現を利用したURL＆メールアドレスのタグ付け'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_FvjBr66LVQA/R3EP5emd0GI/AAAAAAAAAGQ/PiJYwioxLxo/s72-c/autolink.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8341414525779566948</id><published>2007-12-20T08:11:00.000+09:00</published><updated>2007-12-20T08:24:39.950+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='画像の描画・編集'/><category scheme='http://www.blogger.com/atom/ns#' term='d3module'/><title type='text'>3D画像ビューア サンプル</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_FvjBr66LVQA/R2mmhOmd0DI/AAAAAAAAAF4/bF0s9lZIHf0/s1600-h/%E5%9B%9E%E8%BB%A2%E3%81%99%E3%82%8B%E4%BB%AE%E6%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_FvjBr66LVQA/R2mmhOmd0DI/AAAAAAAAAF4/bF0s9lZIHf0/s320/%E5%9B%9E%E8%BB%A2%E3%81%99%E3%82%8B%E4%BB%AE%E6%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5145827139032830002" /&gt;&lt;/a&gt;Flashなどでありそうな3Dの画像ビューア。のサンプル。&lt;br /&gt;マウスのホイールに連動して回転します。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"d3m.hsp"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hspmath.as"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TILE_NUM&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;16&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;SHIFT_TURN&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_WIDTH&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_HEIGHT&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイルを表示するための配列変数&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tile_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;300&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;300&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;100&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tile_y&amp;nbsp;=&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tile_z&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイル用のバッファを作成&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TILE_NUM&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;buffer&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_WIDTH&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_HEIGHT&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;255&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;font&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;msgothic&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;32&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;font_bold&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;メイン画面の初期化・カメラ設定&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;screen&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;240&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;200&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;screen_normal&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;title&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"ホイールで回転"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;d3setcam&lt;/span&gt;&amp;nbsp;-&lt;span class="hsp3_number"&gt;250&lt;/span&gt;,-&lt;span class="hsp3_number"&gt;300&lt;/span&gt;,&lt;span class="hsp3_number"&gt;100&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;250&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;各種初期化作業&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gmode&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;GMODE_ALPHA&lt;/span&gt;,&amp;nbsp;,&amp;nbsp;,&amp;nbsp;&lt;span class="hsp3_number"&gt;128&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theta_shift&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイルの回転量&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theta_add&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0.0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タイルの角速度&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moving&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;回転中フラグ&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;need_to_draw&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;描画フラグ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;★メインループ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*main&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*move&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;gosub&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*draw&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;wait&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;goto&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_label"&gt;*main&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;移動計算&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*move&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mw&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;mousew&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;moving&amp;nbsp;&amp;gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;移動中&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moving--&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theta_shift&amp;nbsp;+=&amp;nbsp;theta_add&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;mw&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;静止中かつホイールが動いたとき&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;moving&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_macro"&gt;SHIFT_TURN&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;SHIFT_TURN回動く&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;need_to_draw&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;描画フラグON&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;角速度を決定&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;theta_add&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_function"&gt;sgn&lt;/span&gt;(mw)&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_macro"&gt;SHIFT_TURN&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_macro"&gt;TILE_NUM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;描画処理&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_label"&gt;*draw&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;need_to_draw&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;moving&amp;nbsp;==&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;need_to_draw&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;color&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span class="hsp3_command"&gt;boxf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vect_x&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;cos&lt;/span&gt;(theta_shift)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vect_y&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;sin&lt;/span&gt;(theta_shift)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;2.0&amp;nbsp;*&amp;nbsp;M_PI&amp;nbsp;/&amp;nbsp;TILE_NUMだけ角度（位置）を変えながら、タイルをTILE_NUM個描画&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TILE_NUM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;d3rotate&lt;/span&gt;&amp;nbsp;vect_x,&amp;nbsp;vect_y,&amp;nbsp;vect_x,&amp;nbsp;vect_y,&amp;nbsp;&lt;span class="hsp3_number"&gt;2.0&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="hsp3_command"&gt;M_PI&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="hsp3_macro"&gt;TILE_NUM&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;d3setlocal&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;vect_x,vect_y,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;-vect_y,vect_x,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;d3texture&lt;/span&gt;&amp;nbsp;tile_x,&amp;nbsp;tile_y,&amp;nbsp;tile_z,&amp;nbsp;&lt;span class="hsp3_sysval"&gt;cnt&lt;/span&gt;&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_WIDTH&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_macro"&gt;BUFFER_HEIGHT&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;redraw&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-8341414525779566948?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/8341414525779566948/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=8341414525779566948' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8341414525779566948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/8341414525779566948'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/3d.html' title='3D画像ビューア サンプル'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_FvjBr66LVQA/R2mmhOmd0DI/AAAAAAAAAF4/bF0s9lZIHf0/s72-c/%E5%9B%9E%E8%BB%A2%E3%81%99%E3%82%8B%E4%BB%AE%E6%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-6961085993906986514</id><published>2007-12-16T10:46:00.000+09:00</published><updated>2007-12-22T00:19:38.439+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><title type='text'>高速な文字列の結合（連結）</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R2SKO-md0CI/AAAAAAAAAFw/oRVQdVNjG2c/s1600-h/add_string.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R2SKO-md0CI/AAAAAAAAAFw/oRVQdVNjG2c/s320/add_string.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5144388664291086370" /&gt;&lt;/a&gt;pokeとmemexpandを利用した文字列の結合（連結）。&lt;br /&gt;HSP標準の+=やnoteaddよりも高速に実行することができます。&lt;br /&gt;&lt;br /&gt;このモジュール最大の利点は、memexpandによる変数の自動拡張にあります。(X)HTMLコンバータのように出力結果の大きさが分からないスクリプトで重宝するでしょう。&lt;br /&gt;サンプルスクリプトのように決まった文字列を結合（連結）し続ける場合（リフレイン）、この命令よりも&lt;a href="http://www.fujidig.com/2007/12/refrain-bench.html"&gt;Fujiさんのブログの記事&lt;/a&gt;で紹介されている方法の方がより高速です。&lt;br /&gt;&lt;br /&gt;先日の(X)HTML変換スクリプトの他、開発wikiの&lt;a href="http://hspdev-wiki.net/?Module%2F%CA%B8%BB%FA%CE%F3%A4%CE%C3%D6%B4%B9"&gt;置換モジュール&lt;/a&gt;でも似たような処理が使われています。&lt;br style="clear:both;" /&gt;&lt;br /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;EXPAND_SIZE&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;1024&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列の初期値を設定する&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;set_string&lt;/span&gt;&amp;nbsp;str&amp;nbsp;str_to_set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string_length&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(str_to_set)&lt;br /&gt;&lt;span class="hsp3_comment"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;string_size&amp;nbsp;=&amp;nbsp;EXPAND_SIZE&amp;nbsp;*&amp;nbsp;(1&amp;nbsp;+&amp;nbsp;string_length&amp;nbsp;/&amp;nbsp;EXPAND_SIZE)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string_size&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;測定のために公平化&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;string,&amp;nbsp;string_size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;string,&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;,&amp;nbsp;str_to_set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列を返す&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;get_string&lt;/span&gt;&amp;nbsp;var&amp;nbsp;target&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target&amp;nbsp;=&amp;nbsp;string&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列の長さを返す&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;get_string_length&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;string_length&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列を連結する&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_string&lt;/span&gt;&amp;nbsp;str&amp;nbsp;str_to_add&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;len&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;strlen&lt;/span&gt;(str_to_add)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;string_size&amp;nbsp;&amp;lt;=&amp;nbsp;string_length&amp;nbsp;+&amp;nbsp;len&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string_size&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_macro"&gt;EXPAND_SIZE&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;memexpand&lt;/span&gt;&amp;nbsp;string,&amp;nbsp;string_size&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;poke&lt;/span&gt;&amp;nbsp;string,&amp;nbsp;string_length,&amp;nbsp;str_to_add&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string_length&amp;nbsp;+=&amp;nbsp;len&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#global&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TRIAL_TIME&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;10000&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"winmm.dll"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;#cfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"timeGetTime"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"充分なサイズを確保せずに文字列の結合（連結）を実行。"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"独自命令版計測中……"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;set_string&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time_start&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TRIAL_TIME&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;add_string&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"sample&amp;nbsp;string\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&amp;nbsp;-&amp;nbsp;time_start&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"独自命令を使用：%d[ms]"&lt;/span&gt;,&amp;nbsp;time(&lt;span class="hsp3_number"&gt;0&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"独自命令版計測終了。\n"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"+=使用版計測開始……"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time_start&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TRIAL_TIME&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;+=&amp;nbsp;&lt;span class="hsp3_string"&gt;"sample&amp;nbsp;string\n"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&amp;nbsp;-&amp;nbsp;time_start&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"標準の+=を使用：%d[ms]"&lt;/span&gt;,&amp;nbsp;time(&lt;span class="hsp3_number"&gt;1&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"+=使用版計測終了。\n"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"noteadd使用版計測開始……"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;notesel&lt;/span&gt;&amp;nbsp;string&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sdim&lt;/span&gt;&amp;nbsp;string,&amp;nbsp;&lt;span class="hsp3_number"&gt;64&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time_start&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;TRIAL_TIME&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;noteadd&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"sample&amp;nbsp;string"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;loop&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;)&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_function"&gt;timeGetTime&lt;/span&gt;()&amp;nbsp;-&amp;nbsp;time_start&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;strf&lt;/span&gt;(&lt;span class="hsp3_string"&gt;"noteaddを使用：%d[ms]"&lt;/span&gt;,&amp;nbsp;time(&lt;span class="hsp3_number"&gt;2&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;mes&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"noteadd使用版計測終了。"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;stop&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/648738693838588387-6961085993906986514?l=rpen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rpen.blogspot.com/feeds/6961085993906986514/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=648738693838588387&amp;postID=6961085993906986514' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6961085993906986514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/648738693838588387/posts/default/6961085993906986514'/><link rel='alternate' type='text/html' href='http://rpen.blogspot.com/2007/12/blog-post_16.html' title='高速な文字列の結合（連結）'/><author><name>eller</name><uri>http://www.blogger.com/profile/07429654819789962794</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_FvjBr66LVQA/R2SKO-md0CI/AAAAAAAAAFw/oRVQdVNjG2c/s72-c/add_string.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-648738693838588387.post-8601312035005215437</id><published>2007-12-15T11:17:00.000+09:00</published><updated>2007-12-16T12:00:51.468+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HDL'/><category scheme='http://www.blogger.com/atom/ns#' term='HSP'/><category scheme='http://www.blogger.com/atom/ns#' term='文字列操作・解析'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML出力'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveX'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLele'/><title type='text'>HDLのデータベースを利用したスクリプトの(X)HTML変換</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_FvjBr66LVQA/R2M-TOmd0BI/AAAAAAAAAFo/GHdsInfSD0Y/s1600-h/xhtml.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_FvjBr66LVQA/R2M-TOmd0BI/AAAAAAAAAFo/GHdsInfSD0Y/s320/xhtml.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5144023699445108754" /&gt;&lt;/a&gt;SQLeleとHDLのデータベースを利用した、HSPスクリプトの(X)HTMLコンバータ……のモジュール。サンプルスクリプト付き。&lt;br /&gt;ブログにアップするような量じゃない（約1000行！）のですが、折角できたので公開。そのうち正式にHPに置くと思います。ヘルプも作ってないので使いにくいと思いますが、使い道がありましたらどうぞご自由にお使いください。&lt;br /&gt;&lt;br /&gt;このモジュールを利用したコンバータはHSPにHDLとSQLeleが標準でつくようになったら配布を開始したいと思います。&lt;br /&gt;&lt;br /&gt;このスクリプト自身の変換で約3秒かかります。不必要な外部ファイルは解析しない処理を組み込んだこともあり、2秒近い高速化が行えているようです。&lt;br style="clear:both;" /&gt;&lt;code class="hsp3"&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;HSPスクリプトを(X)HTMLへ変換するモジュール（HTXmodule）&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;【動作条件】&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;・HDL用データベース（hdlbase.xdb）が作成されていること&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;・sqlele.hspがcommonフォルダにあること&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;HDL用データベース内のCacheテーブルを使用します。&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#ifndef&lt;/span&gt;&amp;nbsp;HTX_MSG&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#include&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"sqlele.hsp"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#module&lt;/span&gt;&amp;nbsp;HSPtoXHTML&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;変換設定&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_HTML&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;HTML形式で変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_XHTML&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000001&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;XHTML形式で変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ADD_BR&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000002&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;改行時に&amp;lt;br&amp;gt;または&amp;lt;br&amp;nbsp;/&amp;gt;を追加&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_TAB_TO_SPACE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000004&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タブをスペースに変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_SPACE_TO_NBSP&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000008&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;スペースを&amp;amp;nbsp;に変換&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_SEARCH_OTHER&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000010&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;外部のスクリプト（includeしたファイル）を検索&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;マークアップ（MarkUp）する要素&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_CMD&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000100&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;命令&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_FUNC&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000200&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;関数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_COMMENT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000400&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コメント&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_PREPRO&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00000800&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;プリプロセッサ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_SYSVAR&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00001000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;システム変数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_LABEL&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00002000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ラベル&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_BASIC&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00003F00&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;HSP3.1付属スクリプトエディタでマークアップされるすべての要素&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_STRING&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00004000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_MACRO&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00008000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;マクロ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_NUMBER&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00010000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;数値&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_SCODE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00020000&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字コード&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MU_ALL&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x00FFFF00&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;すべての要素&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;エラー&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ERR_NOERROR&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;エラーなし・正常終了&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ERR_NODB&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;データベースが見つからない&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ERR_NOFILE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ファイルが見つからない&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ERR_NODIR&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ディレクトリが見つからない&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_ERR_CONSTRUCTION&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;構文に誤りがある&amp;nbsp;or&amp;nbsp;循環インクルード&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;定数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CP_ACP&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DB_HEADER&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"_TABLE_FOR_HTX_"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ヘッダ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_DEFAULT_TAB_WIDTH&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タブ幅&amp;nbsp;デフォルト値&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_EXPAND_SIZE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;1024&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;スクリプト保存用変数&amp;nbsp;メモリ確保量・拡張量&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_DEFAULT_NEST&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;インクルードネスト&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;HTX_MSG&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0xB000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;改行コード&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CR&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0D&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LF&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0A&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#const&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;CRLF&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_number"&gt;0x0A0D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;タグ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;tag_start&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;=&lt;span class="hsp3_string"&gt;""&lt;/span&gt;)&amp;nbsp;_tag_start@HSPtoXHTML(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#defcfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;_tag_start&lt;/span&gt;@HSPtoXHTML&amp;nbsp;str&amp;nbsp;tag_name,&amp;nbsp;str&amp;nbsp;class_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;class_name&amp;nbsp;!=&amp;nbsp;&lt;span class="hsp3_string"&gt;""&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;lt;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;tag_name&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;class=\""&lt;/span&gt;&amp;nbsp;+&amp;nbsp;class_name&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"\""&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;lt;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;tag_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;ctype&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;tag_end&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;lt;/"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;gt;"&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;tag_alone&lt;/span&gt;(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;=&lt;span class="hsp3_string"&gt;""&lt;/span&gt;)&amp;nbsp;_tag_alone@HSPtoXHTML(&lt;span class="hsp3_number"&gt;%1&lt;/span&gt;,&amp;nbsp;&lt;span class="hsp3_number"&gt;%2&lt;/span&gt;=&lt;span class="hsp3_string"&gt;""&lt;/span&gt;)&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;_tag_alone&lt;/span&gt;@HSPtoXHTML&amp;nbsp;str&amp;nbsp;tag_name,&amp;nbsp;str&amp;nbsp;class_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;if&lt;/span&gt;&amp;nbsp;mode_xhtml&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;_tag_start&lt;/span&gt;(tag_name,&amp;nbsp;class_name)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;nbsp;/&amp;gt;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="hsp3_command"&gt;else&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;_tag_start&lt;/span&gt;(tag_name,&amp;nbsp;class_name)&amp;nbsp;+&amp;nbsp;&lt;span class="hsp3_string"&gt;"&amp;gt;"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;状態&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;STATE_NORMAL&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;STATE_COMMENT&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;STATE_MULTILINE_COMMENT&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;STATE_STRINGS&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;STATE_MULTILINE_STRINGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;状態（行）&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_NORMAL&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_number"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_DEFFUNC&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_DEFCFUNC&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_UNDEF&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_MACRO&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_INCLUDE&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#enum&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;LSTATE_ADDITION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;データベース名&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DB_HDL&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"hdlbase.xdb"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;デフォルトクラス名&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_CMD&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"cmd"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;命令&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_FUNC&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"func"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;関数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_COMMENT&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"comment"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;コメント&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_PREPRO&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"prepro"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;プリプロセッサ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_SYSVAR&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"sysvar"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;システム変数&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_LABEL&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"label"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;ラベル&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_STRING&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"str"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字列&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_MACRO&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"macro"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;マクロ&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_NUMBER&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"num"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;数値&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#define&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_macro"&gt;DEFAULT_CLASS_SCODE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_string"&gt;"scode"&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;文字コード&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#uselib&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"kernel32.dll"&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;#cfunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_preprocessor"&gt;global&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_function"&gt;IsDBCSLeadByteEx&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"IsDBCSLeadByteEx"&lt;/span&gt;&amp;nbsp;sptr,&amp;nbsp;sptr&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;***************************************************&lt;/span&gt;&lt;br /&gt;&lt;span class="hsp3_comment"&gt;//&amp;nbsp;内部で使用する命令&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="hsp3_preprocessor"&gt;#deffunc&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_command"&gt;insert_data&lt;/span&gt;@HSPtoXHTML&amp;nbsp;int&amp;nbsp;markup&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;num&amp;nbsp;=&amp;nbsp;&lt;span class="hsp3_sysval"&gt;stat&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;repeat&lt;/span&gt;&amp;nbsp;num&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="hsp3_command"&gt;sql_q&lt;/span&gt;&amp;nbsp;&lt;span class="hsp3_string"&gt;"INSERT&amp;nbsp;INTO&amp;nbsp;Cache&amp;nbsp;
