//ver.1.01を 修正しました。
{---プログラム掲示板投稿フォーム--- 【ソフト名】ひまわり図書館 ver.1.01+(ユーティリティ) 【作 成 者】hat-Sheep(連絡先:s-lucker@center.tsuyama-ct.ac.jp) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.57(「ひまわり図書館 ver.1.00」はver.1.56で製作。) 【転 載】可(転載条件:連絡してください。) 【改変運用】可 【ひまわり本体への梱包】可(梱包できたら大成功!) 【実行時に利用作成するファイル】2つあります。 INIファイル(HLinfo.ini) …いろいろな設定保存用。 hmwファイル(HLtemp.hmw) …プログラム部分実行用。(ひまわり図書館を閉じると、自動的に削除されます。) (※「実行」で作成されたファイルは、削除されません。) 【コメント】 *** 「ひまわり図書館」について ***
--- この度は、ひまわり図書館にご来館ありがとうございます! ---
・今までsampleフォルダをわざわざ開いて、ソースを見ていたあなた! ・今までメールマガジンを読むのにファイルを開いたり閉じたりしていた君! に使ってもらおう、というわけで設立したのが、この「ひまわり図書館」です。 (どっちも当てはまったりするのが僕ですが…)
まさにライブラリー&ユーティリティー! 今まで皆様が作られたひまわりプログラムや、 過去のメルマガの中を自由に歩き回りましょう! と便利なので、皆さんぜひご利用くださいませませ。(オフラインですが)
バグ・エラー報告、感想、意見、ツッコミがあると、嬉しいなぁです。 あと、作って欲しい背景パターンや機能があれば、メールもしくは掲示板にどうぞ。 可能な限り作りますので。 では。 by hat-Sheep /|.▽.| ---投稿フォームここまで---} //-----------------------------------------------------------------------
//変数設定 ************************************************************** ver=「.1.01+」; sys= 0; ch = 0; bg =「check」; 背景リスト=「チェック模様\nフェンス模様\n四角郡模様\n氷床模様\n背景の色を選択」; GUIリスト=「フォルダ一覧\nファイル一覧\n内容\n実行ボタン 機能メニュー\n設定メニュー\n検索メニュー\nヘルプメニュー」; ダイアログキャンセルの値=「存在のありえない言葉〜」;
//ファイル&パス設定 ***************************************************** テンプレート=(母艦のパス&『HLtemp.hmw』); いにファイル=(母艦のパス&『HLinfo.ini』); メルマガパス=(ランタイムのパス&『doc\mail-magazine\』); サンプルパス=(ランタイムのパス&『sample\』);
//フォルダ読み込み ****************************************************** (ランタイムのパス&『sample\』)の フォルダ列挙。 列挙されたフォルダは (それ&「メールマガジン\nマイひまわり\nフォルダ選択」)。
//プログラム ************************************************************ *メイン GUI部品作成。 INIファイル読み込み。 基本背景。 フォーム整形。 リサイズ。 0.1秒 待つ。 母艦浮上。 待機。
*フォーム整形 母艦の タイトルは 「ひまわり図書館 ver{ver}」。 母艦の 幅は 840。 母艦の 高さは 440。 母艦を 中央へ移動。 母艦の 変更した時は リサイズ。 終わり設定に 終了処理設定。 戻る。
*GUI部品作成 フォルダ一覧を コンボとして 作成。 その アイテムは 列挙されたフォルダ。 その フォントサイズは 10。 その 編集は オフ。 その イベントは フォルダ一覧イベント。 ファイル一覧を リストとして 作成。 その フォントサイズは 10。 その クリックした時は ファイル一覧クリック。 その ダブルクリックした時は 選択ファイル実行。 ふるぱすを メモとして 作成。 その フォントサイズは 10。 その テキストは 『〓〓〓 ようこそ、「ひまわり図書館」 へ! 〓〓〓』。 実行ボタンを ボタンとして 作成。 その フォントサイズは 10。 その イベントは 実行ボタンイベント。 内容を Tエディタとして 作成。 機能メニューを メニュー作成。 機能メニューに ⇒ファイル実行を メニュー追加。その イベントは 選択ファイル実行。 機能メニューに →範囲実行を メニュー追加。その イベントは 選択範囲実行。 機能メニューに 区切り線0を メニュー追加。その テキストは 「-」。 機能メニューに 名前を付けて保存を メニュー追加。その イベントは( 「ひまわりスクリプト(*.hmw)|*.hmw|テキストファイル(*.txt)|*.txt」の 書込ファイル選択。 もし それ=「存在のありえない言葉〜」 ならば 戻る。違えば 内容を それへ 保存。 ) 機能メニューに 選択範囲を保存を メニュー追加。その イベントは( 「ひまわりスクリプト(*.hmw)|*.hmw|テキストファイル(*.txt)|*.txt」の 書込ファイル選択。 もし それ=「存在のありえない言葉〜」 ならば 戻る。違えば 「{内容の 選択文字列}」を それへ 保存。 ) 検索メニューを メニュー作成。 検索メニューに ファイル検索を メニュー追加。その イベントは ファイルを検索。 設定メニューを メニュー作成。 設定メニューに 模様替えを メニュー追加。 模様替えに チェック模様を メニュー追加。その イベントは( ch=0;bg=「check」; 背景変更。 ) 模様替えに フェンス模様を メニュー追加。その イベントは( ch=1;bg=「fence」; 背景変更。 ) 模様替えに 四角郡模様を メニュー追加。その イベントは( ch=2;bg=「square」; 背景変更。 ) 模様替えに 氷床模様を メニュー追加。その イベントは( ch=3;bg=「ice」; 背景変更。 ) 模様替えに 背景の色を選択を メニュー追加。その イベントは( ch=4; 色選択。bgは それ。 背景変更。 ) 設定メニューに ファイル一覧の設定を メニュー追加。 ファイル一覧の設定に ファイル一覧の文字色設定を メニュー追加。その イベントは( 変更箇所=「ファイル一覧」;文字の色変更。 ) ファイル一覧の設定に ファイル一覧の背景色設定を メニュー追加。その イベントは( 変更箇所=「ファイル一覧」;背景の色変更。 ) 設定メニューに Tエディタの設定を メニュー追加。その イベントは 内容の Tエディタ設定。 設定メニューに 区切り線1を メニュー追加。その テキストは 「-」。 設定メニューに マイひまわり変更を メニュー追加。その イベントは マイひまわりイベント。 ヘルプメニューを メニュー作成。 ヘルプメニューに 館内説明を メニュー追加。その イベントは 使い方ヘルプ。 ヘルプメニューに 区切り線2を メニュー追加。その テキストは 「-」。 ヘルプメニューに ひまわり図書館についてを メニュー追加。その イベントは ばーじょん情報。 戻る。
*フォルダ一覧イベント sys=0; 選択フォルダは (フォルダ一覧の テキスト)。 選択フォルダで 条件分岐。 「メールマガジン」の時 列挙パスは メルマガパス。 「マイひまわり」 の時 列挙パスは マイフォルダパス。 「フォルダ選択」 の時( フォルダ選択。 もし それ=「存在のありえない言葉〜」 ならば 戻る。 違えば 列挙パスは それ。 ) その他の時(列挙パスは (サンプルパス&「{選択フォルダ}」&『\』)) (列挙パス&『*.hmw』)の ファイル列挙。列挙されたファイルは それ。 (列挙パス&『*.txt』)の ファイル列挙。列挙されたファイルに 「{それ}」を 足す。 (列挙パス&『*.ini』)の ファイル列挙。列挙されたファイルに 「{それ}」を 足す。 (列挙パス&『*.bak』)の ファイル列挙。列挙されたファイルに 「{それ}」を 足す。 ファイル一覧の アイテムは 列挙されたファイル。 ふるぱすの テキストは 列挙パス。 戻る。
*ファイル一覧クリック もし sys=1 ならば 選択ファイルは ファイル一覧の 選択文字列。 違えば 選択ファイルは (列挙パス&ファイル一覧の 選択文字列)。 ふるぱすの テキストは 「{選択ファイル}」。 ファイル取り出し。 戻る。
*ファイル取り出し 内容は 「」。 選択ファイルを 開く。 内容は それ。 戻る。
*実行ボタンイベント 選択ファイルから 拡張子を切り出す。かくちょ〜し名は それ。 もし 「{内容の 選択文字列}」=「」 ならば( もし かくちょ〜し名=「.hmw」 ならば 全体実行。 ) 違えば 選択範囲実行。 戻る。
*選択ファイル実行 選択ファイルから 拡張子を切り出す。 もし それ=「.hmw」ならば 選択ファイルを 起動。 戻る。
*全体実行 内容を テンプレートへ 保存。 テンプレートを 起動。 戻る。
*選択範囲実行 (内容の 選択文字列)を テンプレートへ 保存。 テンプレートを 起動。 戻る。
*ファイルを検索 sum=0; 検索されたファイル=「」; 「検索したい言葉は?」と 尋ねる。 もし それ=「存在のありえない言葉〜」 ならば 戻る。違えば 検索文字列は それ。 フォルダ選択。 もし それ=「存在のありえない言葉〜」 ならば 戻る。違えば 検索パスは それ。 GUI無効。 sys=1; ふるぱすの テキストは 「…しばらくお待ちください…」。描画処理反映。 (検索パス&『*.hmw』)の 全ファイル列挙。全部のファイルは それ。 (検索パス&『*.txt』)の 全ファイル列挙。全部のファイルに 「{それ}」を 足す。 (検索パス&『*.ini』)の 全ファイル列挙。全部のファイルに 「{それ}」を 足す。 (検索パス&『*.bak』)の 全ファイル列挙。全部のファイルに 「{それ}」を 足す。 全部のファイルを 反復();sum=回数; 全部のファイルを 反復( ロングネームは それ。 ロングネームから ファイル名を切り出す。 それを 「.」で 区切る。ネームのみは それ#0。 ネームのみを 「(*){検索文字列}(*)」で マッチ。 もし それ#0<>「」 ならば( 検索されたファイルに 「{ロングネーム}\n」を 足す。 ) ふるぱすの テキストは 「…検索中 {回数}/{sum}…」。描画処理反映。 ) ふるぱすの テキストは 「キーワード-{検索文字列}-による検索結果です。」 ファイル一覧の アイテムは 検索されたファイル。 GUI無効解除。 戻る。
*文字の色変更 「{変更箇所}の フォント色は 色選択。」を ひまわりする。 戻る。
*背景の色変更 「{変更箇所}の 背景色は 色選択。」を ひまわりする。 戻る。
*背景変更 背景リストを 反復(それの 値は (ch=回数-1)。) bgが 数列か。 もし それ=1 ならば 母艦の 背景色は bg。 違えば 「背景作成{bg}を 呼ぶ。」を ひまわりする。 0.1秒 待つ。 戻る。
*マイひまわりイベント フォルダ選択。 もし それ=「存在のありえない言葉〜」 ならば 戻る。 違えば マイフォルダパスは それ。 フォルダ一覧イベント。 戻る。
*リサイズ 背景変更。 fx=母艦の 幅;fy=母艦の 高さ; フォルダ一覧の 幅は INT(fx*0.15)。 ファイル一覧の 幅は INT(fx*0.15)。 ファイル一覧の 高さは fy-60。 ファイル一覧の 位置は (10,40)。 内容の 幅は INT(fx*0.81)。 内容の 高さは fy-60。 内容の 位置は ((ファイル一覧の 幅)+20,40)。 実行ボタンの 幅は 40。 実行ボタンの 高さは 20。 実行ボタンの 位置は ((ファイル一覧の 幅)+20,10)。 ふるぱすの 幅は INT(fx*0.81)-50。 ふるぱすの 高さは 20。 ふるぱすの 位置は ((ファイル一覧の 幅)+(実行ボタンの 幅)+30,10)。 戻る。
*GUI無効 GUIリストを 反復(それの 有効は オフ。) 戻る。//ほかのプログラムに使えそうなので、ラベル化してあります。
*GUI無効解除 GUIリストを 反復(それの 有効は オン。) 戻る。//上記と同じ。
*使い方ヘルプ 「*** 館内説明 ***\n\n」& 「・左上に見えるコンボボックスよりジャンルをお選びください。\n」& 「・すると、リストにファイルが表示されますので、選んでください。\n」& 「・後は、どうぞごゆっくりファイルをお読みください。\n\n」& 「・hmwファイルの場合は、\n」& 「 リストの中のファイル名をダブルクリックすることで、起動できます。\n」& 「・実行ボタンを押すと、\n」& 「 エディタを範囲選択している場合は、'その部分'だけ、\n」& 「 していない場合は、'エディタの内容全体'を実行します。\n」& 「※ひまわり命令でない場合は、\n エラーが出る恐れがありますので、よく確認してください。」& と 言う。 戻る。
*ばーじょん情報 「 *** ひまわり図書館 ver{ver} ***\n\n」& 「 この度は、ひまわり図書館にご来館ありがとうございます。\n」& 「当館は ひまわり(ver.1.56) により、2002.9.16に設立されました。\n\n」& 『 by 館長「hat-Sheep」/|.▽.|』と 言う。 戻る。
*INIファイル読み込み いにファイルが 存在するか。 もし それ=1 ならば( いにファイルの INIファイル開く。 システムの 背景を INIファイル読む。bgは それ。 システムの 背景値を INIファイル読む。chは それ。 システムの リスト文字を INIファイル読む。ファイル一覧の フォント色は それ。 システムの リスト背景を INIファイル読む。ファイル一覧の 背景色は それ。 システムの マイフォルダを INIファイル読む。マイフォルダパスは それ。 内容を いにファイルから Tエディタ設定を読込。 INIファイル閉じる。 )違えば( 「 *** ひまわり図書館 ver{ver} 設定 ***\n\n」& 「ダウンロ−ドありがとうございます!\n早速ですが、あなたのひまわりフォルダを教えてください。」と 言う。 「」を いにファイルに 保存。 いにファイルの INIファイル開く。 フォルダ選択。マイフォルダパスは それ。 もし それ=「存在のありえない言葉〜」 ならば( 「キャンセルなんてしないでくださいよ…。\nもう一回最初からいきますよ。\n」& 「では、リテイク…スタート!」と 言う。 いにファイルを ファイル完全削除。 INIファイル読み込みへ 飛ぶ。 ) それ=マイフォルダパス。システムの マイフォルダへ INIファイル書く。 内容を いにファイルに Tエディタ設定を保存。 内容を いにファイルから Tエディタ設定を読込。 INIファイル閉じる。 「 *** ひまわり図書館 ver{ver} 設定 ***\n\n」& 「設定完了です♪\nこれから末永いご愛用、よろしくお願いします!」と 言う。 ) 背景リストを 反復(それの 値は (ch=回数-1))。 戻る。
*終わり設定 テンプレートを ファイル完全削除。 いにファイルの INIファイル開く。 それは bg。システムの 背景へ INIファイル書く。 それは ch。システムの 背景値へ INIファイル書く。 それは ファイル一覧の フォント色。システムの リスト文字へ INIファイル書く。 それは ファイル一覧の 背景色。システムの リスト背景へ INIファイル書く。 それは マイフォルダパス。システムの マイフォルダへ INIファイル書く。 内容を いにファイルに Tエディタ設定を保存。 INIファイル閉じる。 戻る。
//背景集 (あなたのプログラムにもどうぞ)************************************ *基本背景 チェック絵を イメージとして 作成。//背景作成check用、初めて作ったやつ。 その 幅は 40。 その 高さは 40。 その 可視は オフ。 ペン色=RGB(180,180,255);塗り色=RGB(180,180,255); チェック絵の (0,0)から (20,20)へ 四角形描画。 ペン色=RGB(220,220,255);塗り色=RGB(220,220,255); チェック絵の (20,0)から (40,20)へ 四角形描画。 チェック絵の (0,20)から (20,40)へ 四角形描画。 ペン色=白色;塗り色=白色; チェック絵の (20,20)から (40,40)へ 四角形描画。 四角絵を イメージとして 作成。//背景作成square用、なんかなぁ… その 幅は 40。 その 高さは 40。 その 可視は オフ。 ペン色=黄色;塗り色=黄色; 四角絵の (10,0)から (20,10)へ 四角形描画。 四角絵の (0,20)から (10,30)へ 四角形描画。 四角絵の (30,10)から (40,20)へ 四角形描画。 四角絵の (20,30)から (30,40)へ 四角形描画。 氷床絵を イメージとして 作成。//背景作成ice用、結構いい出来? その 幅は 40。 その 高さは 40。 その 可視は オフ。 iを 0から 40まで 繰り返す( ペン色=RGB(i+195,i+195,i+215); 氷床絵の (i,0)から (i,40)へ 線描画。 氷床絵の (0,i)から (40,i)へ 線描画。 ) 戻る。
*背景作成check bx=INT((母艦の 幅)/40);by=INT((母艦の 高さ)/40); iを 0から bxまで 繰り返す( jを 0から byまで 繰り返す( チェック絵を 母艦の (i*40,j*40)に イメージコピー。 ) ) 戻る。
*背景作成fence 白色で 画面クリア。 ペン色は 白色。塗り色は 肌色。 bx=INT((母艦の 幅)/40);by=INT((母艦の 高さ)/40); by回( t=2*回数; (0,(t-1)*20)から ((母艦の 幅),t*20)へ 四角形。 ) (bx+1)回( t=2*回数; ((t-1)*20,0)から (t*20,(母艦の 幅))へ 四角形。 ) 戻る。
*背景作成square bx=INT((母艦の 幅)/40);by=INT((母艦の 高さ)/40); iを 0から bxまで 繰り返す( jを 0から byまで 繰り返す( 四角絵を 母艦の (i*40,j*40)に イメージコピー。 ) ) 戻る。
*背景作成ice bx=INT((母艦の 幅)/40);by=INT((母艦の 高さ)/40); iを 0から bxまで 繰り返す( jを 0から byまで 繰り返す( 氷床絵を 母艦の (i*40,j*40)に イメージコピー。 ) ) 戻る。
|