ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE ★便利!ひまわりBBSランチャーVer1.06 /北神 陽太 (02/01/23(Wed) 12:12) [289]
......MESSAGE Re[1]: ★便利!ひまわりBBSランチャー /矢沢夢ん(マリカビ) (02/01/23(Wed) 13:59) [291]
............MESSAGE テキストサイズの制限 /北神 陽太 (02/01/23(Wed) 14:11) [293]
............MESSAGE ↑の大きな訂正(バグには違いないけど) /矢沢夢ん(マリカビ) (02/01/23(Wed) 14:03) [292]
..................MESSAGE このプログラム自身の取り出しできません /北神 陽太 (02/01/23(Wed) 14:38) [294]
........................MESSAGE このプログラム自身の取り出し対策 /北神 陽太 (02/01/23(Wed) 15:54) [295]
..............................MESSAGE 原因不明 /北神 陽太 (02/01/23(Wed) 16:50) [296]
....................................MESSAGE 解決!Ver1.04以降で対応 /北神 陽太 (02/02/04(Mon) 10:42) [391]
......MESSAGE うわー先にやられてまったー /kobachi (02/01/24(Thu) 01:51) [297]
............MESSAGE Re[2]: うわー先にやられてまったー /北神 陽太 (02/01/24(Thu) 09:24) [299]
......MESSAGE ★問題修正 Ver1.04に更新 /北神 陽太 (02/01/25(Fri) 11:23) [313]
............MESSAGE すごい! /lino (02/01/25(Fri) 14:29) [321]
......MESSAGE ★大幅に機能強化!Ver1.05に更新 /北神 陽太 (02/02/01(Fri) 11:46) [369]
............MESSAGE 感想 /クジラ飛行机 (02/02/01(Fri) 13:19) [371]
............MESSAGE バグ報告 /moka (02/02/01(Fri) 13:57) [372]
..................MESSAGE ★了解! 1.05aに修正 /北神 陽太 (02/02/01(Fri) 17:36) [376]
......MESSAGE 勝手に改造 /moka (02/02/28(Thu) 17:21) [538]
............MESSAGE Re[2]: 勝手に改造 /北神 陽太 (02/02/28(Thu) 18:35) [539]
............MESSAGE Re[2]: 勝手に改造 /Akihiro (02/04/15(Mon) 14:52) [752]
..................MESSAGE タイトルバーの文字列 /北神 陽太 (02/04/15(Mon) 15:34) [753]
........................MESSAGE Re[4]: タイトルバーの文字列 /Akihiro (02/04/15(Mon) 16:00) [754]
..............................MESSAGE Re[5]: タイトルバーの文字列 /北神 陽太 (02/04/15(Mon) 17:00) [755]
....................................MESSAGE Re[6]: タイトルバーの文字列 /Akihiro (02/04/16(Tue) 15:07) [757]
..........................................MESSAGE 詳細を教えてください /北神 陽太 (02/04/16(Tue) 17:26) [758]
................................................MESSAGE Re[8]: 詳細を教えてください /Akihiro (02/04/17(Wed) 14:25) [760]
......................................................MESSAGE コピーができていない場合 /北神 陽太 (02/04/17(Wed) 14:33) [761]
............................................................MESSAGE Re[10]: コピーができていない場合 /Akihiro (02/04/17(Wed) 16:09) [762]
..................................................................MESSAGE 残るは /北神 陽太 (02/04/17(Wed) 17:46) [763]
........................................................................MESSAGE Re[12]: 残るは /Akihiro (02/04/24(Wed) 13:21) [784]
......MESSAGE ★ひまわりVer1.38に対応Ver1.06 /北神 陽太 (02/04/12(Fri) 10:34) [748]


親記事 / ▼[ 291 ] ▼[ 297 ] ▼[ 313 ] ▼[ 369 ] ▼[ 538 ] ▼[ 748 ]
NO.289  ★便利!ひまわりBBSランチャーVer1.06
□投稿者/ 北神 陽太 -(2002/01/23(Wed) 12:12:05)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
{
Ver1.06の変更点:
 ひまわりVer1.38へ対応。
}

{---プログラム掲示板投稿フォーム---
【ソフト名】ひまわりBBSランチャー (バージョン 1.06)
【作 成 者】北神 陽太 (連絡先:y-kitagami@nifty.ne.jp)
      http://homepage1.nifty.com/kitagami/index.htm
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.38
【転  件】可(転載条件:ご連絡があると喜びます)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(ひまわりエディタのhimapad.bakを利用)
【コメント】
 「ひまわりユーザー プログラム掲示板 バックアップ」に掲載されたテキストから
 プログラムソース部分を取り出し、実行するランチャーです。

 一時編集して起動できますので、質問やバグのサポート、掲載プログラム
 のテストに威力を発揮。

 使い方:ヘルプを参照してください。

 ひまわりエディタに貼り付けて実行する場合、himapad.bakファイルを
 使うようなので、このプログラムから呼び出すプログラムも、himapad.bak
 を使っています。(削除する必要はありません)
---投稿フォームここまで---}

母艦の、サイズは、(100,152,740,533)。
 その、タイトルは、「ひまわりBBSランチャーVer1.06」。
 灰色で、画面クリア。

'*** メニュー作成 ***

メニューMファイルを、メニュー作成。
 その、テキストは、「ファイル(&F)」。
 メニューMファイルに、メニュー掲示板を開くを、メニュー追加。
  その、テキストは、「掲示板 URLを開く(&O)」
  その、ショートカットキーは、「Ctrl+O」
  その、イベントは、(URL=『http://www.text2music.com/cgi/bbs/hiptree/cbbs.cgi
   URLを、起動。)

 メニューMファイルに、メニューAを、メニュー追加。
  その、テキストは、「-」

 メニューMファイルに、メニュー終了を、メニュー追加。
  その、テキストは、「閉じる(&C)」
  その、ショートカットキーは、「Ctrl+C」
  その、イベントは、終わり。

メニューM編集を、メニュー作成。
 その、テキストは、「編集(&E)」
 メニューM編集に、メニュー掲示板取り込みを、メニュー追加。
  その、テキストは、「掲示板取り込み(&X)」
  その、ショートカットキーは、「Ctrl+X」
  その、イベントは、掲示板取り込み。

 メニューM編集に、メニューBを、メニュー追加。
  その、テキストは、「-」

 メニューM編集に、メニューコピーを、メニュー追加。
  その、テキストは、「コピー(&C)」
  その、ショートカットキーは、「Ctrl+C」
   メニューコピーに、メニューオリジナルを、メニュー追加。
    その、テキストは、「オリジナル」
    その、イベントは、(
     もし、取得ソース<>「」なら、取得ソースを、クリップボードへ、書く。
      違えば、「※ 取得したソースはありません」と、言う。)

   メニューコピーに、メニュー一時編集テキストを、メニュー追加。
    その、テキストは、「一時編集テキスト」
    その、イベントは、(
     もし、「{メモ0の、テキスト。}」<>「」なら、「{メモ0の、テキスト。}」を、クリップボードへ、書く。
      違えば、「※ テキストがありません」と、言う。)

 メニューM編集に、メニュー元に戻すを、メニュー追加。
  その、テキストは、「一時編集テキストをオリジナルに戻す(&Z)」
  その、ショートカットキーは、「Ctrl+Z」
  その、イベントは、(
   もし、「{取得ソース}」<>「」なら、(
    LEFT(取得ソース、200)。
    「●テキスト破棄して、オリジナルに戻しますか?\n\n」&
     「▼取得している内容:\n\n{それ}」と、二択。
    もし、それ=はいなら、メモ0の、テキストは、「{取得ソース}」。
    )
   違えば、「※ 取得したソースがありません」と、言う。)

 メニューM編集に、メニューCを、メニュー追加。
  その、テキストは、「-」

 メニューM編集に、メニュー整形を、メニュー追加。
  その、テキストは、「テキストの自動整形(&A)」
  その、ショートカットキーは、「Ctrl+A」
  その、イベントは、自動整形。

メニューM実行を、メニュー作成。
 その、テキストは、「実行(&R)」
 メニューM実行に、メニュー実行を、メニュー追加。
  その、テキストは、「実行(&R)」
  その、ショートカットキーは、「F5」
  その、イベントは、実行。
  その、有効は、オフ。

メニューMヘルプを、メニュー作成。
 その、テキストは、「ヘルプ(&H)」
 メニューMヘルプに、メニューヘルプを、メニュー追加。
  その、テキストは、「ヘルプ(&H)」
  その、ショートカットキーは、「F1」
  その、イベントは、ヘルプ。

'*** オブジェクト作成 ***
ボタン0を、ボタンとして、作成。
 その、サイズは、(10,0,140,40)
 その、テキストは、「掲示板取り込み」
 その、イベントを、掲示板取り込みに、設定。

ボタン1を、ボタンとして、作成。
 その、サイズは、(140,0,260,40)
 その、テキストは、「実行」。
 その、イベントを、実行に、設定。
 その、有効は、オフ。

リスト0を、リストとして、作成。
 その、サイズは、(260,0,410,40)
 その、アイテムは、「オリジナル\n一時編集」
 その、イベントを、一時編集に、設定。
 その、値を、0に、設定。

メモ0を、メモとして、作成。
 その、サイズは、(10,40,620,330)
 その、背景色は、RGB(255,255,192)。
 その、編集は、オフ。
 その、フォントサイズは、11。
 その、テキストは、『'プログラムの取得条件は、』&「\n\n」&
 『'1)<投稿者>の次に、コメント<{>で始まる。』&「\n」&
 『'2)<記事><引用>の次に、<削除><キー>で終わる。』&「\n\n」&
 『'上記の文字列が掲示板に無い場合、取得できません。』&「\n」&
 『'また、上記文字列がプログラム内に記述されていると、正常に取得できません。』。

ラベル0を、ラベルとして、作成。
 その、可視は、オフ。
 その、サイズは、(10,330,620,350)
 その、フォント色は、白色。
 その、透過処理は、オフ。
 その、背景色は、青色。
 その、テキストは、「」。

 取得ソース=「」
 退避テキスト=「」
 母艦の、変更した時は、リサイズ。

待機。


*リサイズ
 '*** 母艦のサイズが変更されたとき、メモをリサイズ

 灰色で、画面クリア。
 x2=(母艦の、幅)-20
 y2=(母艦の、高さ)-80
 メモ0の、幅=x2
 メモ0の、高さ=y2
 ラベル0の、Yは、((母艦の、高さ)-40)。
待機。


*自動整形
 '*** 一時編集テキストに、インデントを設定し、一時編集を表示

 '現在のテキストを退避し、CrLfを作業文字に置換(Nullは要素数に反映されないため)
 母艦の、有効は、オフ。
 ラベル0の、可視は、オン。
 メモ0の、背景色は、灰色。
 それ=「{メモ0の、テキスト}」。
 (CHR(13)&CHR(10))を、(「@カイギョウ」&CHR(13)&CHR(10))に、置換。整形ソース=それ。
 整形ソースの、要素数。整形行数=それ。

  'テキストを行単位で配列処理
  整形行数回(カウンタ=回数-1。
   作業行=整形ソース#カウンタ。
   メッセージ=INT((回数/整形行数)*100)。
   メッセージと、5の、余り。
   もし、それ=0
     なら、(ラベル0の、テキストは、「{メッセージ}%」。
         ラベル0の、幅は、((メモ0の、幅)*(メッセージ/100))
         描画処理反映。)
   '含まれる文字を抽出し、グルーピング
   識別A=LEFT(作業行,1)

   作業行の中で、『待機』が、何文字目。識別B#0=それ。
   作業行の中で、『飛ぶ』が、何文字目。識別B#1=それ。
   作業行の中で、『戻る』が、何文字目。識別B#2=それ。
   作業行の中で、『おわり』が、何文字目。識別B#3=それ。
   作業行の中で、『終わり』が、何文字目。識別B#4=それ。
   作業行の中で、『おわる』が、何文字目。識別B#5=それ。
   作業行の中で、『取り込む』が、何文字目。識別B#6=それ。
   識別Bの、配列合計値。識別B=それ。

   作業行の中で、『もし』が、何文字目。識別C#0=それ。
   作業行の中で、『回(』が、何文字目。識別C#1=それ。
   作業行の中で、『繰り返す』が、何文字目。識別C#2=それ。
   作業行の中で、『反復』が、何文字目。識別C#3=それ。
   識別Cの、配列合計値。識別C=それ。

   作業行の中で、『違えば』が、何文字目。識別D#0=それ。
   作業行の中で、『でなければ』が、何文字目。識別D#1=それ。
   識別Dの、配列合計値。識別D=それ。

   '重複した整形操作に対応するため、一度空白を削除
   それ=作業行。
   『 』を、『 』に、置換。作業行=それ。
   作業行の、前後の空白削除。作業行=それ。

   'インデント設定(優先順位の低い順)
   インデント=4。               'デフォルトのインデント
   倍率=2。
   もし、識別D>0なら、インデント=3。       '違えば
   もし、識別C>0なら、インデント=2。      'もし
   もし、識別B>0なら、インデント=1。      '分岐
   もし、識別A=「*」なら、インデント=0。'ラベル

   「 」を、(インデント*倍率)度、リフレイン。   '倍率設定
   作業行=それ&作業行。
   整形ソース#カウンタ=作業行。
  )

 それ=整形ソース。
 (「@カイギョウ」&CHR(13)&CHR(10))を、(CHR(13)&CHR(10))に、置換。
 退避テキスト=それ。
 リスト0の、値は、1。
 一時編集を、呼ぶ。
 ラベル0の、可視は、オフ。
 母艦の、有効は、オン。
待機。


*一時編集
 もし、(リスト0の、値)=0
  なら、(メモ0の、編集は、オフ。メモ0の、背景色は、RGB(255,255,192)
   ボタン1の、テキストは、「実行」。
   もし、ヘルプ表示=オフなら、退避テキスト=メモ0の、テキスト。
   メモ0の、テキストは、取得ソース。)
  違えば、(メモ0の、編集は、オン。メモ0の、背景色は、RGB(255,255,255)
   ボタン1の、テキストは、「一時編集実行」。
   メモ0の、テキストは、退避テキスト。)

 もし、ヘルプ表示=オン
  なら、(もし、取得ソース<>「」
     なら、(ボタン1の、有効は、オン。メニュー実行の、有効は、オン。)
     )
 ヘルプ表示=オフ。
戻る。


*掲示板取り込み
 もし、「{取得ソース}」<>「」なら、(
   LEFT(取得ソース、200)。
   「●現在のテキスト破棄して、新しいテキストを取得しますか?\n\n」&
    「▼取得している内容:\n\n{それ}」と、二択。
   もし、それ=いいえなら、待機。
   )

 チェック0の、値は、オフ。
 ボタン1の、有効は、オフ。
 母艦最小化。
 開始位置=0
 終了位置=0
 対象=「ひまわりユーザー プログラム掲示板 バックアップ」。

 '表示しているBBSのテキストをコピー
 'なぜかうまくいかないので、処理ごとに分割しウェイトをかけた
 'PCのパフォーマンスによって、誤動作する場合はWaitを長くしてください
 「」を、クリップボードへ、書く。
 Wait=0.5
 (Wait)秒、待つ。
 対象を、アクティブ。(Wait)秒、待つ。
 対象に、「%E」を、キー送信。
 対象に、「A」を、キー送信。(Wait)秒、待つ。
 対象に、「%E」を、キー送信。
 対象に、「C」を、キー送信。(Wait)秒、待つ。
 クリップボードを、読む。
 取得テキスト=それ。
 取得エラー=いいえ。
 メモ0の、テキストは、「」。

 CHR(47)。自身対策=それ。'このプログラム自身をコピーする対策

 '先頭の投稿フォーム(コメント)を検索。
 取得テキストの中で、『□投稿者』&自身対策が、何文字目。開始A=それ。
 取得テキストの中で、『{』が、何文字目。開始B=それ。
 もし、それ=0なら、(取得テキストの中で、『{』が、何文字目。開始B=それ。)
 '開始位置の決定条件
 もし、(開始A>開始B または 開始B=0)なら、(取得エラー=はい。取り込み復帰へ、飛ぶ。)
 開始位置=それ。

 '投稿テキストの最後を検索
 'BBSのデータで、「記事・・・キー」の間のスペースが不定なため2重チェック
 取得テキストの中で、『削除』&『キー』&自身対策が、何文字目。終了A=それ。
 取得テキストの中で、『記事』&『引用』が、何文字目。終了B=それ。
 '終了位置の条件
 終了C=終了B-終了A
 もし、(終了C<-7)または(終了C>-6)または(終了B=0)なら、(取得エラー=はい。取り込み復帰へ、飛ぶ。)
 終了位置=それ。

 'ソースを切り出す
 取得テキストの中で、開始位置から、(終了位置-開始位置)つ、MID。
 それを、トリム。
 取得ソース=それ
 メモ0の、テキストは、取得ソース。
 退避テキスト=取得ソース。
 取得ソースを、クリップボードへ、書く。

 ボタン1の、有効は、オン。
 メニュー実行の、有効は、オン。
 リスト0の、値は、0。
 一時編集を、呼ぶ。
 *取り込み復帰
 母艦元のサイズ。
 もし、取得エラー=はいなら、(「」を、クリップボードへ、書く。'エラー内容をクリア
 「■BBSのテキストを取得できませんでした。\n\n」&
 「 開始文字位置={開始位置}\n」&
 「 終了文字位置={終了位置}\n\n」&
 「 <{対象}>の投稿プログラムを表示させてください。\n\n」&
 「 または、ソースの先頭には、<プログラム掲示板投稿フォーム>」&
 「 のコメントが必要です。\n\n」&
 「■掲示板のオリジナル全テキストをメモに表示させますか?」と、二択。
 もし、それ=はいなら、メモ0の、テキストは、取得テキスト。
 )
待機。


*実行
 'ひまわりエディタが使用するhimapad.bakを利用しています。
 もし、(リスト0の、値)=1なら、(取得ソース=メモ0の、テキスト。)

 取得ソースを、「{ランタイムのパス}」&「himapad.bak」へ、書く。
 「{ランタイムのパス}」&「Himawari.exe {ランタイムのパス}himapad.bak」を、起動。

待機。


*ヘルプ
 リスト0の、値は、0。
 一時編集を、呼ぶ。
 ヘルプ表示=オン。
 ボタン1の、有効は、オフ。メニュー実行の、有効は、オフ。
 リスト0の、値は、-1。

 メモ0の、テキストは、『▼▼▼ひまわりBBSランチャーVer1.05a 操作援助▼▼▼

★ヘルプ表示の終了方法
 元に戻すには、リストから<オリジナル/一時編集>を選択してください。

★プログラム実行の注意
 掲示板に掲載されたプログラムは、どんな動作をするのかわかりませんので、
【終了方法】をまず確認してください。もし、終了できなくてもあわてずに自力で
なんとかしましょう。

 プログラムを実行したら、感想はもちろん、バグや要望、アイデアなどが
ありましたら、ぜひResを書き込んでください。きっと投稿者は喜びます(^^;


■初心者向けの使い方
~~~~~~~~~~~~~~~~~~~
 1)<ひまわりユーザー プログラム掲示板 バックアップ>から、投稿プログラムを表示させます。

 2)<掲示板取り込み>ボタンを押します。
  (初回のみプログラムの取得に成功すると実行ボタンが有効になります)

 3)<実行ボタン>を押すと、プログラムを起動します。

 4)必要なら、<ひまわりエディタ>に貼り付けて保存してください。

 <掲示板取り込み>ボタンで次々にプログラムを取得しましょう。


■パワーユーザー向けの使い方
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 取得したソースのオリジナルと、一時編集したソースを切替ながらテスト
できますので、掲載プログラムのアドバイスや添削、アイデアの追加などが
できます。

 字下げの行われていないソースでも、<自動整形>機能がありますので、ある程度
見やすくなるかもしれません。(現バージョンではネストに対応していませんが)

 字下げは、以下のように設定されます。

 ラベル
 ..フロー制御
 ....条件分岐1/ループ
 ......条件分岐2
 ........デフォルト


■機能説明
 ~~~~~~~~
 ◆各種ボタン

 □掲示板取り込みボタン
    表示しているプログラム掲示板のプログラム部分を取得します。
    プログラムが取得できると、前のプログラムは取得した内容に
    更新され、実行ボタンが表示されます。

    プログラムの取得に失敗した場合、内容は変わりません。

 □実行/一時編集実行ボタン
    表示しているプログラムを実行します。
    リストの選択で、オリジナルか一時編集を選択できます。

 □表示リスト
    テキストボックスに表示、実行するプログラムを選択します。


 ◆メニュー

 ○ファイル
  ┣掲示板URLを開く
  ┃ ブラウザで、直接プログラム掲示板を起動します。
  ┃
  ┗閉じる
    プログラムを終了します。

 ○編集
  ┣掲示板取り込み
  ┃ 表示しているプログラム掲示板のプログラム部分を取得します。
  ┃
  ┣○コピー
  ┃ ┣オリジナル
  ┃ ┃ 取得したオリジナルソースをクリップボードへコピーします。
  ┃ ┃
  ┃ ┗一時編集テキストをオリジナルに戻す
  ┃   一時編集したテキストをクリップボードへコピーします。
  ┃
  ┣一時編集テキストをオリジナルに戻す
  ┃ 一時編集した内容をオリジナルの状態に戻します。
  ┃
  ┗テキストの自動整形
    テキストボックスの内容を一時編集して、ラベルや分岐命令で
    自動的にインデントを設定します。
    (注意:現バージョンでは、ネスト構造に対応していません)

 ○実行
  ┗実行
    表示しているプログラムを実行します。
    リストの選択で、オリジナルか一時編集を選択できます。

 ○ヘルプ
  ┗ヘルプ
    ヘルプを表示します。元に戻すには、リストの選択で、
    オリジナルか一時編集を選択します。


■エラーメッセージについて
 ~~~~~~~~~~~~~~~~~~~~~~~~
 取得するプログラムの中に<投 稿 者>、<記 事 引 用>、<削 除 キー>
(実際は半角スペースなし)といった文字列があると、プログラムの最初と
最後が判断できず、エラーとなる場合があります。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Copyright (C) 2002 by ≪Music Workshop≫北神 陽太
e-Mail: y-kitagami@nifty.ne.jp
URL: http://homepage1.nifty.com/kitagami/index.htm
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
End of Help』
待機。



▲[ 289 ] / ▼[ 293 ] ▼[ 292 ]
NO.291  Re[1]: ★便利!ひまわりBBSランチャー
□投稿者/ 矢沢夢ん(マリカビ) -(2002/01/23(Wed) 13:59:12)
□U R L/ http://www.parkcity.ne.jp/~ymsp/s645/
どうやら長いプログラムはクリップボードにはいらないらしいですよ
このプログラムをこのプログラムで(少しややこしいかも)取りこみしたら
途中までしかはいりませんでした



▲[ 291 ] / 返信無し
NO.293  テキストサイズの制限
□投稿者/ 北神 陽太 -(2002/01/23(Wed) 14:11:11)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 私の環境(Windows2000 800M)では問題なく動作していますが、PCのパフォーマンスによって、キー送信がうまくいかないことがあるようです。(IEにキー送信をして、アクティブにしても、すぐにアクティブにならないなど)

 Windowsのクリップボードを使用しているなら、ひまわりと無関係にコピーされているはずなので、他のエディタに貼り付けてみてコピーされているなら、プログラムの切り出しがおかしいかも知れません。

 なお、メモ部品の64kBytes制限を越えたソースは、メモ部品に入りきらないと思います。(今のところないとおもいます)



▲[ 291 ] / ▼[ 294 ]
NO.292  ↑の大きな訂正(バグには違いないけど)
□投稿者/ 矢沢夢ん(マリカビ) -(2002/01/23(Wed) 14:03:41)
□U R L/ http://www.parkcity.ne.jp/~ymsp/s645/
よくみたら他のプログラムを取りこむとこのプログラム自体が取りこまれてます
結果をそのままうつします

※ここから
{---プログラム掲示板投稿フォーム---
【ソフト名】ひまBBSランチャー (バージョン 1.00)
【作 成 者】北神 陽太 (連絡先:y-kitagami@nifty.ne.jp)
      http://homepage1.nifty.com/kitagami/index.htm
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.20
【転  件】可(転載条件:ご連絡があると喜びます)
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(ひまわりエディタのhimapad.bakを利用)
【コメント】
「ひまわりユーザー プログラム掲示板 バックアップ」に掲載されたテキストから
プログラムソース部分を取り出し、実行するランチャーです。

使い方:
1)<ひまわりユーザー プログラム掲示板 バックアップ>から、投稿プログラムを表示させます。
2)取り出す対象は、<プログラム掲示板投稿フォーム>が先頭に必要です。

 ひまわりエディタに貼り付けて実行する場合、himapad.bakファイルを
使うようなので、このプログラムから呼び出すプログラムも、himapad.bak
を使っています。(削除する必要はありません)
---投稿フォームここまで---}

母艦の、サイズは、(0,152,640,533)。
 その、タイトルは、「ひまわりBBSランチャーVer1.00」。

ボタン0を、ボタンとして、作成。
 その、サイズは、(10,10,130,40)
 その、テキストは、「掲示板取り込み」
 その、イベントを、掲示板取り込みに、設定。

ボタン1を、ボタンとして、作成。
 その、サイズは、(140,10,260,40)
 その、テキストは、「実行」。
 その、イベントを、実行に、設定。
 その、可視は、オフ。

メモ0を、メモとして、作成。
 その、サイズは、(10,50,620,370)

待機


*掲示板取り込み
 ボタン1の、可視は、オフ。
 母艦最小化。
 対象=「ひまわりユーザー プログラム掲示板 バックアップ」。

 '表示しているBBSのテキストをコピー
 'なぜかうまくいかないので、処理ごとに分割しウェイトをかけた
 'PCのパフォーマンスによって、誤動作する場合はWaitを長くしてください
 Wait=0.5
 (Wait)秒、待つ。
 対象を、アクティブ。(Wait)秒、待つ。
 対象に、「%E」を、キー送信。
 対象に、「A」を、キー送信。(Wait)秒、待つ。
 対象に、「%E」を、キー送信。
 対象に、「C」を、キー送信。(Wait)秒、待つ。
 クリップボードを、読む。
 取得テキスト=それ。
 取得エラー=いいえ。
 メモ0の、テキストは、「」。

 '先頭の投稿フォーム(コメント)を検索。
 取得テキストの中で、『{』が、何文字目。
 もし、それ=0なら、取得テキストの中で、『{』が、何文字目。
 もし、それ=0なら、(取得エラー=はい。取り込み復帰へ、飛ぶ。)
 開始位置=それ。

 '投稿テキストの最後を検索
 取得テキストの中で、「
※ここまで



▲[ 292 ] / ▼[ 295 ]
NO.294  このプログラム自身の取り出しできません
□投稿者/ 北神 陽太 -(2002/01/23(Wed) 14:38:13)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 ひまわりBBSランチャーで、ひまわりBBSランチャーのソースは取り出しできません。

ソースを切り出す条件として、

1)「{」から始まる
2)「記事引用 削除キー/」で終わる

 この部分を取り出すのですが、ひまわりBBSランチャーのソース自体に、検索文字として途中に「記事引用 削除キー/」という文字列があるため、そこで処理は終了します。



▲[ 294 ] / ▼[ 296 ]
NO.295  このプログラム自身の取り出し対策
□投稿者/ 北神 陽太 -(2002/01/23(Wed) 15:54:54)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 Ver1.01で、このプログラム自身のコピーができるように対策しました。



▲[ 295 ] / ▼[ 391 ]
NO.296  原因不明
□投稿者/ 北神 陽太 -(2002/01/23(Wed) 16:50:18)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 このプログラムを起動して、さらにこのソースを取得することはできますが、取得したソースから新しい「ひまわりBBSランチャー」起動したとき、ソースの終了位置を取得することができません。原因不明です。



▲[ 296 ] / 返信無し
NO.391  解決!Ver1.04以降で対応
□投稿者/ 北神 陽太 -(2002/02/04(Mon) 10:42:19)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 問題修正しました。最新のバージョンを参照してください。



▲[ 289 ] / ▼[ 299 ]
NO.297  うわー先にやられてまったー
□投稿者/ kobachi -(2002/01/24(Thu) 01:51:12)
□U R L/ http://plaza.across.or.jp/~kobachi/
 おんなじことを考える人はいるもんですね。とはいうものの、手をつけてはいませんでしたが。今は、ひまわりのメニューをGUIで編集できるプログラムを作成中です。まだ半分しかできていないのに、500行近くあります…しかも、ソースが汚い。

 ところで、プログラム掲示板の新しい投稿を丸ごと全部取得して、がんがんファイルに保存する…なんて危険なソフトも素敵かもしれません。



▲[ 297 ] / 返信無し
NO.299  Re[2]: うわー先にやられてまったー
□投稿者/ 北神 陽太 -(2002/01/24(Thu) 09:24:21)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 申し訳ない(^^; 実は、ひまわりのバージョンが変わるたびに、過去に掲載したプログラムにバグが出てしまうのですが、私は履歴をとっていないため、BBSからコピー・ペーストしていたら、あまりにも面倒で・・・。

 1/24 9:25現在、次の動作でエラーになる原因を探っています。
1)ひまわりBBSランチで、BBS掲載された「ひまわりBBSランチ」を取得。
2)取得したひまわりBBSランチ」を起動。(同じソースから2重起動)
 なぜか、終了文字位置が取得できずエラーとなります。ソースを見ても同じなんですが・・・。

 kobachiさんの作品も、便利ですね〜。期待してます。



▲[ 289 ] / ▼[ 321 ]
NO.313  ★問題修正 Ver1.04に更新
□投稿者/ 北神 陽太 -(2002/01/25(Fri) 11:23:22)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 ソースを取得できない原因が、BBSの「記 事 引 用」と「削 除 キー/」の間にあるスペースが、おそらくコントロールコード?のためか、半角1文字であったり、2文字であったりと、不定な長さで取得してしまうため、プログラムの最終位置を取得できないという現象でした。

 この問題を解決するため、「記事」&「引用」を検索し、さらに「削 除 キー/」を検索することで、空白を無視して対応しました。

 今回のバージョンから、掲載プログラムのサポートができるように、一時編集して実行することができます。クジラ氏、サポートユーザー必須ですね(^^;



▲[ 313 ] / 返信無し
NO.321  すごい!
□投稿者/ lino -(2002/01/25(Fri) 14:29:18)
□U R L/
これは便利ですね!
投稿ソースの収集が格段に楽になります。

質問ですが、これはIEのみで作動するのでしょうか?
普段はDonutというブラウザを使ってるんですが、
それだと取り込めませんでした。
(IE使えば済むことなので、聞き流してくださいm(__)m。



▲[ 289 ] / ▼[ 371 ] ▼[ 372 ]
NO.369  ★大幅に機能強化!Ver1.05に更新
□投稿者/ 北神 陽太 -(2002/02/01(Fri) 11:46:03)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
Ver1.05の変更点:
 1)メニューの追加、ヘルプなど、大幅に機能強化。
 2)テキスト解析をさらに厳密にし、取得できないケースを抑制。
 3)字下げのないソースでも、自動整形機能で見やすく。

 senkunさんの命令集追加護衛艦に、ダウンロードが追加されましたので、こちらも機能強化です。(^^;



▲[ 369 ] / 返信無し
NO.371  感想
□投稿者/ クジラ飛行机 -(2002/02/01(Fri) 13:19:42)
□U R L/ http://www.text2music.com
すごい、より快適になりましたね!!
掲示板のプログラムを走らせるには、必携のツールですね。
自動整形機能も面白いです。





▲[ 369 ] / ▼[ 376 ]
NO.372  バグ報告
□投稿者/ moka -(2002/02/01(Fri) 13:57:59)
□U R L/ http://www.geocities.jp/moka21/teatime/
実は以前から正常に動作していなくて、
取り込んだプログラムを「実行」しても、
「ひまわりBBSランチャー」自身が起動していました。

その原因は、作業フォルダが北神さんの想定しなかった場所らしく、
保存したファイルと起動するファイルが一致していなかったようです。

=====
*実行
'(中略)

 取得ソースを、「{ランタイムのパス}」&「himapad.bak」へ、書く。

' 「{ランタイムのパス}」&「Himawari.exe himapad.bak」を、起動。
’上のコードでは、作業フォルダの「himapad.bak」を実行するが、
’直前に書き込んだソースファイルとは別物である。(うちの場合)

 「{ランタイムのパス}Himawari.exe {ランタイムのパス}himapad.bak」を、起動。
’himawari.exe と同じ場所にあるファイルを読むには、こうするのが確実。

=====

また、母艦が表示される位置が固定されてますが、
左にタスクバーがある人には隠れてしまって不便だと思います。
(以前うちは左にタスクバーでした。今は上です。)



▲[ 372 ] / 返信無し
NO.376  ★了解! 1.05aに修正
□投稿者/ 北神 陽太 -(2002/02/01(Fri) 17:36:16)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 ランタイムのパスを修正しました。その他発見したバグも修正。

 1.05aの修正:

 4)母艦の初期位置を修正。
 5)自動整形処理中のイベントを無効にした。
 6)ランタイムのパスを厳密にした。

 特に(5)は、このプログラムに限らず、イベントの多重呼び出しや、不都合が出ますね。イベント先では待機されるので、処理が止まってしまいました。



▲[ 289 ] / ▼[ 539 ] ▼[ 752 ]
NO.538  勝手に改造
□投稿者/ moka -(2002/02/28(Thu) 17:21:28)
□U R L/ http://www.geocities.jp/moka21/teatime/
いまさらですが、Ver1.05aを勝手に改造した例を挙げます。
次期バージョンで採用されたら嬉しいです。(^_^)

●自分の使ってるブラウザに対応。
私はDonutPというタブブラウザを使っていて、
ウィンドウタイトルは「Donut P - [ページタイトル]」となります。
277行目を
  '対象=「ひまわりユーザー プログラム掲示板」。
  対象=「Donut P」。
として、対応させてます。
対象を、ウインドウ列挙からワイルドカードで選択すれば、
ブラウザの違いをいくらか吸収できるかもしれませんね。

●ソースを指定フォルダに保存。
掲示板上のよくできたプログラムは特定のフォルダに貯めてるので、
ファイルメニューに保存メニューを付けました。

●投稿フォームからソフト名を取得。
保存するとき、ファイル名はソフト名(+Ver)にするので、
投稿フォームからソフト名を取得して、
クリップボード経由ですぐに入力できるようにしました。
ほんとは、書き込みダイアログの入力初期値に設定できたらいいのだけど。

===

{ファイルメニューに適当に保存メニューを作り、
そのイベントを「プ板フォルダに保存」にします。}

*プ板フォルダに保存
   もし、リスト0=1なら、(取得ソース=メモ0の、テキスト。)
   作業フォルダ=『C:\Soft\_ひまわり\_プログラム掲示板\』
   '↑ショートカットのプロパティの作業フォルダで指定するのがいいかも。
   投稿フォームからタイトル取得。
   「hmw」の、書込ファイル選択。
   もし、それ=「」ならば、待機。
   取得ソースを、それに、書く。
   戻る。
   
*投稿フォームからタイトル取得
   取得ソースの、-1列目から、「【ソフト名】」を、表ピックアップ。
   作業テキスト=それ。
   作業テキストの、「【ソフト名】」までを、切り取る。
   作業テキストを、クリップボードに、書く。
   戻る。



▲[ 538 ] / 返信無し
NO.539  Re[2]: 勝手に改造
□投稿者/ 北神 陽太 -(2002/02/28(Thu) 18:35:56)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 どんどんやって便利にしてください。私も今や手放せません。



▲[ 538 ] / ▼[ 753 ]
NO.752  Re[2]: 勝手に改造
□投稿者/ Akihiro -(2002/04/15(Mon) 14:52:56)
□U R L/
> いまさらですが、Ver1.05aを勝手に改造した例を挙げます。
> 次期バージョンで採用されたら嬉しいです。(^_^)
>
> ●自分の使ってるブラウザに対応。
> 私はDonutPというタブブラウザを使っていて、
> ウィンドウタイトルは「Donut P - [ページタイトル]」となります。
> 277行目を
>   '対象=「ひまわりユーザー プログラム掲示板」。
>   対象=「Donut P」。
> として、対応させてます。
> 対象を、ウインドウ列挙からワイルドカードで選択すれば、
> ブラウザの違いをいくらか吸収できるかもしれませんね。
>
Operaユーザーなので、
対象=「Opera」

対象=「Opera-[ひまわりユーザープログラム掲示板]」
に変えましたが、うまくいかないです・・・どうすればいいのでしょうか?



▲[ 752 ] / ▼[ 754 ]
NO.753  タイトルバーの文字列
□投稿者/ 北神 陽太 -(2002/04/15(Mon) 15:34:11)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
>対象=「ひまわりユーザー プログラム掲示板」

 この部分を、お使いのブラウザのタイトルバーに表示されている文字列に変更すれば、使えるようになります。(注意:ひまわりのバージョンに注意してください)

 なお、タイトルは先頭一致です。また全角半角も区別しますので、注意してください。
 詳しくタイトルを調べるには、「ウィンドウ列挙」で調べることができます。



▲[ 753 ] / ▼[ 755 ]
NO.754  Re[4]: タイトルバーの文字列
□投稿者/ Akihiro -(2002/04/15(Mon) 16:00:15)
□U R L/
*掲示板取り込み
もし、「{取得ソース}」<>「」なら、(
LEFT(取得ソース、200)。
「●現在のテキスト破棄して、新しいテキストを取得しますか?\n\n」&
「▼取得している内容:\n\n{それ}」と、二択。
もし、それ=いいえなら、待機。
)

チェック0の、値は、オフ。
ボタン1の、有効は、オフ。
母艦最小化。
開始位置=0
終了位置=0
対象=「Opera」。

'表示しているBBSのテキストをコピー
'なぜかうまくいかないので、処理ごとに分割しウェイトをかけた
'PCのパフォーマンスによって、誤動作する場合はWaitを長くしてください
「」を、クリップボードへ、書く。
Wait=0.5
(Wait)秒、待つ。
対象を、アクティブ。(Wait)秒、待つ。

対象に、「^A」を、キー送信。(Wait)秒、待つ。

対象に、「^C」を、キー送信。(Wait)秒、待つ。
クリップボードを、読む。
取得テキスト=それ。
取得エラー=いいえ。
メモ0の、テキストは、「」。

CHR(47)。自身対策=それ。'このプログラム自身をコピーする対策



と、改造してみましたが・・・キー送信の部分を改造しました。
これでも、うまくいきません。だれかOperaユーザーいないんでしょうか・・・



▲[ 754 ] / ▼[ 757 ]
NO.755  Re[5]: タイトルバーの文字列
□投稿者/ 北神 陽太 -(2002/04/15(Mon) 17:00:50)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
>対象=「Opera」。
 この部分は、Windows共通で、ブラウザをアクティブにするだけです。大文字小文字、全角半角を区別し、タイトルと先頭一致しないとアクティブになりません。
 まれに、タイトルが内部と違う場合があるのかもしれませんが、以下のサンプルでタイトルを取得してみてください。

{タイトル取得サンプル}
メモ1を、メモとして、作成
ウインドウ列挙。
メモ1=それ。


 もし、うまくいかない場合、編集メニューのショートカットキーがWindowsに準拠しているか確認してください。
1)編集メニュー「%E」
2)すべて選択「A」
3)コピー「C」



▲[ 755 ] / ▼[ 758 ]
NO.757  Re[6]: タイトルバーの文字列
□投稿者/ Akihiro -(2002/04/16(Tue) 15:07:53)
□U R L/
両方ともあってるのですが・・どこがおかしいのでしょうか?



▲[ 757 ] / ▼[ 760 ]
NO.758  詳細を教えてください
□投稿者/ 北神 陽太 -(2002/04/16(Tue) 17:26:30)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
1)ブラウザはアクティブになりますか?
2)クリップボードにコピーはされますか?
3)コントロールコードはWindowsと同じに扱われていますか?

 (3)ですが、ブラウザの表示されている文字コードはWindowsに準拠していますので、もしかすると、このコードが違うのかもしれません。

・改行は CHR(13)&CHR(10)
・BBSの「□投稿者」&CHR(47)

 を識別しています。



▲[ 758 ] / ▼[ 761 ]
NO.760  Re[8]: 詳細を教えてください
□投稿者/ Akihiro -(2002/04/17(Wed) 14:25:01)
□U R L/
> 1)ブラウザはアクティブになりますか?
> 2)クリップボードにコピーはされますか?
> 3)コントロールコードはWindowsと同じに扱われていますか?
>
>  (3)ですが、ブラウザの表示されている文字コードはWindowsに準拠していますので、もしかすると、このコードが違うのかもしれません。
>
> ・改行は CHR(13)&CHR(10)
> ・BBSの「□投稿者」&CHR(47)
>
>  を識別しています。
アクティブにはなっていますが、コピーが出来ていないようです。クリップボードビューアで確認しました。
文字コードについては、あまりよくわかりません・・・すみません。



▲[ 760 ] / ▼[ 762 ]
NO.761  コピーができていない場合
□投稿者/ 北神 陽太 -(2002/04/17(Wed) 14:33:55)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 次の部分が機能していません。

 対象に、「%E」を、キー送信。
 対象に、「A」を、キー送信。(Wait)秒、待つ。
 対象に、「%E」を、キー送信。
 対象に、「C」を、キー送信。(Wait)秒、待つ。
 クリップボードを、読む。

 アクティブウィンドにキー送信しているのですが、ショートカットキーが違うと受け付けません。
 お使いのブラウザのショートカットキーに合わせて変更する必要があります。



▲[ 761 ] / ▼[ 763 ]
NO.762  Re[10]: コピーができていない場合
□投稿者/ Akihiro -(2002/04/17(Wed) 16:09:15)
□U R L/
ショートカットキーはあっているのですが・・・



▲[ 762 ] / ▼[ 784 ]
NO.763  残るは
□投稿者/ 北神 陽太 -(2002/04/17(Wed) 17:46:04)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 Waitの時間を長くする以外、方法はなさそうです。

 メニューへのキー送信(メニューが表示されます)が出来ない場合、対策はちょっとみつからないですね。まったく違うアプリでページをダウンロードしてからソースを切り出すようなソフトが必要かもしれません。

 似たような現象は、16ビットのキー送信アプリで、NTのウィンドウを操作できない場合があります。そのため、メニューに対してキー送信をしているのですが、メニューが他のWindowsアプリと異なるコンポーネントだとうまくいかないかもしれません。



▲[ 763 ] / 返信無し
NO.784  Re[12]: 残るは
□投稿者/ Akihiro -(2002/04/24(Wed) 13:21:09)
□U R L/
レス遅れてすみません。いろいろやってみましたが、だめです。どうもありがとうございました。



▲[ 289 ] / 返信無し
NO.748  ★ひまわりVer1.38に対応Ver1.06
□投稿者/ 北神 陽太 -(2002/04/12(Fri) 10:34:14)
□U R L/ http://homepage1.nifty.com/kitagami/index.htm
 久しぶりに起動したら、ひまわりer1.38でおかしくなることを発見。
自分で不便なためVer1.06へバージョンアップしました。



- Child Tree -