□投稿者/ senkun -(2002/01/25(Fri) 19:56:46)
□U R L/ |
{---プログラム掲示板投稿フォーム--- 【ソフト名】命令集追加護衛艦(バージョン 0.61β) 【作 成 者】senkun 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.20 【転 件】可(転載条件:ご連絡があると幸いです!) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有 【使用方法】 マクロとして動きますので、ひまわりに登録してくださいね。 【コメント】 みなさん命令集追加護衛艦を、つかっていますか? つかってませんよね・・・ (残念) そこで、使っていただく為にも、バージョンアップさせるべく、 ソースの雛型を、自分のHPやBBSに載せ、ダウンロードできるようにすべく、 動いておりました。(未だHPは、作成できていないのですが・・・) 基本部分は前からできていて、ひまわりBBSでは使用していました。 (本当は自分のHP用にする予定だったが・・・)
そんなおり、北神 陽太さんによるBBSダウンロードの書込みが、 あるではありませんか? 先を越されたなぁ〜と思っていたら、今日よく動きをみたら、 あまりにも異なっていたので、「こういうのもありでは・・・」 といういうわけで、載せておきます。 (まだ、対応してないタグ等もありますので、あくまでβということで、 お許しいただきたいと思います。
【履歴】 Ver0.60β → 0.61β :ひまわりの板以外のケースもとりあえず対応。 (ソースの切出しを行わない。)
---投稿フォームここまで---}
現在のVersion="0.61"
命令集フォルダパス=母艦のパス&『lib\』 命令集フォルダパスへ、作業フォルダ変更。 護衛艦説明ファイル=『goeikan.txt』
INIファイルの位置は、ランタイムのパス&『goeikan.ini』 INIファイルの位置から、フォームの位置復元。
INIファイルの位置の、INIファイル開く。 『PATH』の、『lib』を、INIファイル読む。 もし、(それ="")ならば、 (命令集フォルダパス=母艦のパス&『lib\』) 違えば、 ( 命令集フォルダパス=それ {にセットする} ) INIファイル閉じる。
母艦の、テキストは、「 命令集追加護衛艦 Version {現在のVersion}」 護衛艦の背景色は、RGB(175,175,220)。
'*初期化処理 護衛艦の背景色で、画面クリア。
ヘルプメニューを、メニュー作成。 その、テキストは、「ヘルプ(&H)」。'...を、...に、設定。と同じ。 ヘルプメニューに、使い方メニューを、メニュー追加。 ヘルプメニューに、情報メニューを、メニュー追加。
使い方メニューの、イベントを、使い方メニュー押下時に、設定。 その、テキストを、「護衛艦の使い方...」に、設定。
情報メニューの、イベントを、情報メニュー押下時に、設定。 その、テキストを、「Version 情報...」に、設定。
命令集表示欄ラベルを、ラベルとして、作成。 その、サイズは、(0,8,220,30) その、テキストを、「【 命令集一覧 】」に、設定。
命令集表示欄を、リストとして、作成。 その、サイズは、(10,30,220,360) その、イベントを、命令集選択時に、設定。
内容表示欄ラベルを、ラベルとして、作成。 その、サイズは、(220,8,220,30) その、テキストを、「【 内容表示欄 】」に、設定。
内容表示欄を、メモとして、作成。 その、サイズは、(230,30,530,360)
処理ラベルを、ラベルとして、作成。 その、サイズは、(540,8,220,30) その、テキストを、「【 処 理 】」に、設定。
'// 画面作成 貼り付けボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「貼付(&P)」に、設定。 その、イベントを、貼り付け押下時に、設定
読み込みボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「読込(&L)」に、設定。 その、イベントを、読み込み押下時に、設定
ダウンロードボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「Web取得(&W)」に、設定。 その、イベントを、ダウンロード押下時に、設定
命令化ボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90
その、テキストを、「命令化(&E)」に、設定。 その、イベントを、命令化押下時に、設定
命令削除ボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「削除(&D)」に、設定。 その、イベントを、命令削除押下時に、設定
実行ボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「実行(&R)」に、設定。 その、イベントを、実行押下時に、設定。
管理ボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「管理(&M)」に、設定。 その、イベントを、管理押下時に、設定。
閉じるボタンを、ボタンとして、作成。 その、高さは、30 その、幅は、90 その、テキストを、「閉じる(&Q)」に、設定。 その、イベントを、閉じる押下時に、設定。
母艦の、変更した時を、リフレッシュに、設定。 リフレッシュを、呼ぶ。
命令集表示欄への読み込み処理を、呼ぶ。 閉じる押下時に、終了処理設定。 待機。 '===================================================================================================== '****************************************** イベント処理群 ****************************************** '===================================================================================================== *命令集選択時 命令集は、それ。 内容表示欄は、""。 命令集表示欄の、値を、索引に、得る。 (命令集フォルダパス & 命令集全部#索引 & ".hmm")を、読む。
命令集内容は、それ。 内容表示欄は、命令集内容。 戻る。
*貼り付け押下時 挿入命令集は、内容表示欄。 "himapad"の、"command"へ、"insert {挿入命令集}" を、DDE送信。 おわり。
*読み込み押下時 命令集フォルダパスへ、作業フォルダ変更。 '-- この命令が効かない(前にこの操作をした場所を記憶しているみたい。)
"*"の、 読込ファイル選択 選択ファイルは、それ。 選択ファイルの、要素数。{行数でも、同じ結果です!}
もし(それ=0)ならば、 待機。 もし(それ=1)ならば、 読み込みファイルは、選択ファイル#0 もし(それ>1)ならば、 ( それは、選択ファイル 「\n」を、「|」に、置換。 「選択項目を1つに絞ってください。」が,それの, どれか尋ねる。 読み込みファイルは、それ。'-- 本当は、選択項目にあるかのチェックが必要! ) もし、読み込みファイル=""ならば、 待機。 読み込みファイルを、読む。 内容表示欄は、それ。 戻る。 *ダウンロード押下時 「ひまわり-プログラムの板-で、取得したいURLを入力してください。」を、メモ記入。 もし、それ=「」ならば、待機。 ダウンロードURLは、それ。 今。 『:』を,『』に,置換。 HHMMSSは、それ。 ワークダウンロードファイル=Temp&HHMMSS
ダウンロードURLを、母艦のパス&ワークダウンロードファイルへ、HTTPダウンロード。 母艦のパス&ワークダウンロードファイルを、読む。 取得HTMLは、それ。
「-ひまわりの板-にあるソースの場合は、ソースのみ取得が可能です。 加工処理を行いますか? (ただし、HTMLタグの切出しを行う為、ソース自体にタグが含まれると、 正しい結果が得られません。)」、と、二択。
もし、(それ=はい)ならば、( '// ひまわりの板ならば、以下の操作でソースを切り分ける。 それは、取得HTML。 それの、「---投稿フォームここまで---}」から、「記事引用」までの、範囲を切り取る。 『<br>』を、「\n」に、置換。 「記事引用」を、「」に、置換。 それから、タグ削除。 『&』を『&』に、置換。 『<』を『<』に、置換。 『>』を『>』に、置換。 『"』を『"』に、置換。 それの、0行目を、行削除。 取得HTMLは、それ。)
内容表示欄は、取得HTML。
戻る。*命令化押下時 "登録する命令集の名前"と, 尋ねる。
登録命令集名は、それ。
もし(登録命令集名={キャンセル}"")ならば、 待機。 選択登録ファイル名は、登録命令集名 & ".hmm" (命令集フォルダパス & 選択登録ファイル名)が、存在するか。
もし、(それ<>0)ならば、 ("以前に作成された命令集を上書きしますが、よろしいですか?"と、二択。 もし、(それ=0)ならば、命令化押下時へ、飛ぶ。 ) '-- 保存処理 それは、内容表示欄。 (命令集フォルダパス & 選択登録ファイル名)へ、保存。 命令集表示欄への読み込み処理を、呼ぶ。 待機。
*命令削除押下時 命令集表示欄の、値を、削除索引に、得る。
もし、削除索引が、-1{選択されてない・・・}ならば、 ( それは、命 それは、内容表示欄。 (命令集フォルダパス & 選択登録ファイル名)へ、保存。 命令集表示欄への読み込み処理を、呼ぶ。 待機。
*命令削除押下時 命令集表示欄の、値を、削除索引に、得る。
もし、削除索引が、-1{選択されてない・・・}ならば、 ( それは、命令集全部。 「削除する命令を、1つ選択してください。」が,それの, どれか尋ねる。 削除対象は、それ。 ) 違えば、{選択れていれば・・・} ( 削除対象は、命令集全部#削除索引。 ) もし、削除対象が、"" ならば、待機。 (命令集フォルダパス&削除対象& ".hmm")を、ファイル削除。 命令集表示欄への読み込み処理を、呼ぶ。 待機。
*管理押下時 命令集フォルダパスへ、作業フォルダ変更。 フォルダ選択。
もし、(それ="")ならば、待機。
INIファイルの位置の、INIファイル開く。 『PATH』の、『lib』へ、INIファイル書く。 INIファイル閉じる。
命令集フォルダパスは、それ。 母艦の、テキストは、「 命令集追加護衛艦」 命令集表示欄への読み込み処理を、呼ぶ。 待機。 *実行押下時 '内容表示欄を、ひまわりする。 '// ひまわりによる実行方式に変更する。 今。 『:』を,『』に,置換。 HHMMSSは、それ。 ワーク実行ファイル=Temp&HHMMSS&『.hmw』 それは、内容表示欄。 母艦のパス&ワーク実行ファイルへ、書く。 母艦のパス&ワーク実行ファイルを、起動して終了まで待機。
母艦のパス&ワーク実行ファイルを,ファイル削除。 待機。
*閉じる押下時 母艦元のサイズ。 INIファイルの位置へ、フォームの位置記録。
おわり。
*使い方メニュー押下時 『護衛艦の使い方.hmw』を、起動。
待機。 *情報メニュー押下時 '護衛艦説明ファイルが,存在するか。 -- 「存在するか。」で、相対パスが利用できない! 母艦のパス&護衛艦説明ファイルが,存在するか。 もし、(それ<>0)ならば、 ( 護衛艦説明ファイルを,読む。 ヘルプテキストは、それ。 ヘルプテキストの、「#2」から、「#3」までの,範囲を切り取る。 ヘルプテキストの、0行目を、行削除。 それを、言う。 )違えば、 ( 「****** Presented by senkun ***** 」と、言う。 ) 戻る。
'================================================================================================== '****************************************** その他処理群 ****************************************** '================================================================================================== *命令集表示欄への読み込み処理 命令集表示欄の、アイテムを、""に、設定。 内容表示欄=""
'//--○拡張子取り除いて表示。20011017 ADD 命令集フォルダパス&『*.hmm』の,ファイル列挙。 ファイル全部は、それ。 正=0 命令集全部="" ファイル全部を、反復( 列挙ファイル名は、それ。 それから,拡張子を切り出す。。 '-- 拡張子hmmのものだけを格納。 列挙ファイル名から、4文字、右端を切り取る。 命令集全部#正は、列挙ファイル名。 正は、正+1。 ' *次の周回 )
命令集表示欄の、アイテムを、命令集全部に、設定。 戻る。
*リフレッシュ '// リサイズに対応。 '-- とりあえずできたけど、画面部品もうちょっと考えて作るべし! 護衛艦の背景色で、画面クリア。 母艦の、Xを、母艦のXに、得る。 母艦の、Yを、母艦のYに、得る。
母艦の、幅を、 母艦の幅に、得る。 母艦の、高さを、母艦の高さに、得る。 ボタンの幅は、90。 処理ラベルの、 Xは、(母艦の幅 -188+ボタンの幅) 貼り付けボタンの、Xは、(母艦の幅 -188+ボタンの幅) 読み込みボタンの、Xは、(母艦の幅 -188+ボタンの幅) ダウンロードボタンの、Xは、(母艦の幅 -188+ボタンの幅) 命令化ボタンの、 Xは、(母艦の幅 -188+ボタンの幅) 命令削除ボタンの、Xは、(母艦の幅 -188+ボタンの幅) 管理ボタンの、 Xは、(母艦の幅 -188+ボタンの幅) 実行ボタンの、 Xは、(母艦の幅 -188+ボタンの幅) 閉じるボタンの、 Xは、(母艦の幅 -188+ボタンの幅) 閉じるボタンの、 Yは、(母艦の高さ -50)
内容表示欄の、サイズは、(230,30,(母艦の幅-188+ボタンの幅-10),0)
命令集表示欄の、高さは、(母艦の高さ -50)。 内容表示欄の、 高さは、(母艦の高さ -50)。
'// 最低サイズの設定 母艦の、幅を、 母艦の幅に、得る。 母艦の、高さを、母艦の高さに、得る。 もし、(母艦の幅<520)ならば、母艦の、幅を、520に、設定。 もし、(母艦の高さ<360)ならば、母艦の、高さを、360に、設定。
'INIファイルの位置へ、フォームの位置記録。
戻る。
|
|