{---プログラム掲示板投稿フォーム--- 【ソフト名】ぶるー☆すたぁ (バージョン 1.03) 【作 成 者】さくらめろん。 (連絡先:sakuramelon@hotmail.com) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.56 【転 載】可(転載条件:作者にメールで連絡すること) 【改変運用】可(投稿したプログラムを他人が改造し運用することを許すか) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有/option.ini(諸々設定ファイル)&basic.txt(基本処理ファイル) 【コメント】 これは投稿したけどすぐログがぶっ飛んだのでもう一度投稿。 いろいろ強化されてます。スタイルシート記述エディタは特にバージョンアップ。 Shift+Enterで改行タグはいります。 以下はプログラム本体。 ---投稿フォームここまで---}
文字サイズ=10 '------------------------------------------------------- *変数設定
エディタ変更=「」 '最初は変更されていない 読込先=「無題.html」'無題にしておく
'------------------------------------------------------- *読み込み
『basic.txt』を、取り込む。 『option.ini』から、フォームの位置復元。 『option.ini』の、INIファイル開く。 『options』の、『sitedir』を、INIファイル読む。 (それ=「」)で、ループ( 「サイトのファイルを置くフォルダを指定してください」と、言う。 フォルダ選択。 『options』の、『sitedir』へ、INIファイル書く。 )。 INIファイル閉じる。 それへ、作業フォルダ変更。
'------------------------------------------------------- *母艦設定
『母艦』を、その単語に特定。 その、タイトルは、「ぶるー☆すたぁ - {読込先} {エディタ変更}」 その、背景色は、ウィンドウ色。 その、変更した時は、( 青エディタの、サイズは、(0,30,(母艦の、幅),(母艦の、高さ)) )。
新規ボタンを、作る。 その、位置は、(0,0) その、イベントを、新規作成処理に、設定。
開くボタンを、作る。 その、位置は、((新規ボタンの、右側),0) その、イベントを、開く処理に、設定。
保存ボタンを、作る。 その、位置は、((開くボタンの、右側),0) その、イベントを、保存処理に、設定。
タグコンボを、作る。 その、位置は、((保存ボタンの、右側),3) その、編集は、オフ。 その、アイテムは、「画像\n文字色\nフォント\n文字サイズ\n太字\n斜体\n下線\n表\n左揃え\n中央揃え\n右揃え\nスタイルシート\n外部スタイルシート」 その、変更した時は、( 青エディタの、選択文字列を、選択テキストに、得る。 タグコンボの、テキストを、選択タグに、得る。 タグ設定を、呼ぶ。 )。
改行ボタンを、作る。 その、位置は、((タグコンボの、右側),0) その、イベントは、( 青エディタの、選択文字列は、「<br>\n」 )。
リンクボタンを、作る。 その、位置は、((改行ボタンの、右側),0) その、イベントは、( 青エディタの、選択文字列を、選択テキストに、得る。 「どちらのリンクですか?」を、「サイト内\nサイト外」の、ボタンで選択。 もし、それ=サイト内なら、( 「{作業フォルダ}」の、文字数。 フォルダの文字数=それ。 「ファイルを選択してください」と、言う。 「HTMLファイル|*.htm;*.html|テキストファイル|*.txt|すべてのファイル|*.*」の、読込ファイル選択。 もし、それ<>「」ならば、( 「{それ}」から、フォルダの文字数文字、左端削除。 「{それ}」の、『\』を、『/』に、置換。 青エディタの、選択文字列は、『<a href="』&「{それ}」&『">』&「{選択テキスト}」&「</a>」 )。 )。 もし、それ=サイト外なら、( 「インターネットアドレスを指定してください」と、尋ねる。 もし、それ<>「」ならば、( 青エディタの、選択文字列は、『<a href="』&「{それ}」&『">』&「{選択テキスト}」&「</a>」 )。 )。 )。
青エディタを、Tエディタとして、作成。 その、テキストは、「<html>\n<head>\n<title>タイトル</title>\n</head>\n<body>\n\n</body>\n</html>」 その、変更した時は、( エディタ変更=「*」 母艦の、タイトルは、「ぶるー☆すたぁ - {読込先} {エディタ変更}」 ) その、キー押した時は、( もし、(押されたキー=13)かつ(押された特殊キー=Shift)ならば、( 青エディタの、選択文字列は、「<br>」 )。 )。 青エディタを、「{母艦のパス}option.ini」から、Tエディタ設定を読込。
'------------------------------------------------------- *メニュー設定
ファイルメニューを、メニュー作成。 ファイルメニューの、タイトルは、「ファイル(&F)」
ファイルメニューに、新規メニューを、メニュー追加。 その、タイトルは、「新規(&N)」 その、ショートカットキーは、『Ctrl+N』 ファイルメニューに、区切り0を、メニュー追加。 その、タイトルは、「-」 ファイルメニューに、開くメニューを、メニュー追加。 その、タイトルは、「開く(&O)」 その、ショートカットキーは、『Ctrl+O』 ファイルメニューに、区切り1を、メニュー追加。 その、タイトルは、「-」 ファイルメニューに、保存メニューを、メニュー追加。 その、タイトルは、「保存(&O)」 その、ショートカットキーは、『Ctrl+S』 ファイルメニューに、名前保存メニューを、メニュー追加。 その、タイトルは、「名前を付けて保存(&A)」 ファイルメニューに、区切り2を、メニュー追加。 その、タイトルは、「-」 ファイルメニューに、終了メニューを、メニュー追加。 その、タイトルは、「終了(&X)」 その、イベントは、おわり。
編集メニューを、メニュー作成。 その、タイトルは、「編集(&E)」
編集メニューに、切り取りメニューを、メニュー追加。 その、タイトルは、「切り取り(&T)」 その、ショートカットキーは、『Ctrl+T』 その、イベントは、( (青エディタの、選択文字列)を、コピー。 青エディタの、選択文字列は、「」 )。 編集メニューに、コピーメニューを、メニュー追加。 その、タイトルは、「コピー(&C)」 その、ショートカットキーは、『Ctrl+C』 その、イベントは、( (青エディタの、選択文字列)を、コピー。 )。 編集メニューに、貼り付けメニューを、メニュー追加。 その、タイトルは、「貼り付け(&P)」 その、ショートカットキーは、『Ctrl+P』 その、イベントは、( クリップボード取得。 青エディタの、選択文字列は、それ。 )。 ツールメニューを、メニュー作成。 その、タイトルは、「ツール(&T)」 ツールメニューに、設定メニューを、メニュー追加。 その、タイトルは、「設定(&O)」 設定メニューに、エディタ設定メニューを、メニュー追加。 その、タイトルは、「エディタの設定(&E)」 その、イベントは、( 青エディタの、Tエディタ設定。 青エディタを、「{母艦のパス}option.ini」へ、Tエディタ設定を保存。 )。
ヘルプメニューを、メニュー作成。 その、タイトルは、「ヘルプ(&H)」
ヘルプメニューに、バージョンメニューを、メニュー追加。 その、タイトルは、「バージョン情報(&A)」 その、イベントは、「ぶるー☆すたぁ ver 1.03\n(c)さくらめろん。\n(sakuramelon@hotmail.com)」と、言う。
終了処理に、終了処理設定。
母艦浮上。
'------------------------------------------------------- *スタイル記述
スタイルフォームを、作る。 その、サイズは、(250,250,660,450) その、スタイルは、ダイアログスタイル。 その、背景色は、ウィンドウ色。 その、可視は、オフ。
スタイルエディタを、Tエディタとして、作成。 その、サイズは、(0,0,300,160)
スタイルリストを、作る。 その、サイズは、(300,0,410,160) その、アイテムは、「セレクタ作成\n\n■フォント■\n文字色\n文字サイズ\nフォント\n\n■背景■\n背景色\n背景画像\n\n■間隔■\n文字間\n行間\n\n■位置■\n位置\nフロート\n位置指定\n重ね順\n幅\n高さ」 その、ダブルクリックした時は、( スタイルリストの、テキストを、選択スタイルに、得る。 スタイル設定を、呼ぶ。 )。
スタイルoボタンを、作る。 その、位置は、(70,170) その、テキストは、「OK」 その、イベントは、( スタイルエディタの、テキストを、出力スタイルに、得る。 青エディタの、選択文字列は、『<style type="text/css">』&「\n<!--\n」&「{出力スタイル}\n」&「-->\n</style>」 スタイルフォームの、可視は、オフ。 )。
スタイルcボタンを、作る。 その、位置は、(170,170) その、テキストは、「キャンセル」 その、イベントは、スタイルフォームの、可視は、オフ。
「スタイルエディタ スタイルリスト スタイルoボタン スタイルcボタン」を、反復( 「{それ}」を、その単語に特定。 そを、スタイルフォームに、乗せる。 )。
'------------------------------------------------------- *表記述
表フォームを、作る。 その、可視は、オフ。 その、サイズは、(250,250,460,400)。 その、スタイルは、ダイアログスタイル。 その、背景色は、ウィンドウ色。
表作成ラベルを、作る。 その、位置は、(10,10) そを、表フォームに、乗せる。
行ラベルを、作る。 その、位置は、(10,40) その、テキストは、「行数:」 そを、表フォームに、乗せる。
行エディタを、作る。 その、サイズは、(70,40,120,90) そを、表フォームに、乗せる。
行単位ラベルを、作る。 その、位置は、(120,43) その、テキストは、「行」 そを、表フォームに、乗せる。
列ラベルを、作る。 その、位置は、(10,70) その、テキストは、「列数:」 そを、表フォームに、乗せる。
列エディタを、エディタとして、作成。 その、サイズは、(70,70,120,90) そを、表フォームに、乗せる。
列単位ラベルを、作る。 その、位置は、(120,73) その、テキストは、「列」 そを、表フォームに、乗せる。
表oボタンを、作る。 その、位置は、(30,100) その、テキストは、「OK」 その、イベントは、( 行エディタの、テキストを、表の行数に、得る。 列エディタの、テキストを、表の列数に、得る。 「{表の行数}行、{表の列数}列の表を作成します。\nよろしいですか?」と、二択。 もし、(それ=はい)ならば、( 青エディタの、選択文字列は、『<table width="幅" border="線の太さ" bordercolor="線の色">』&「\n」 表の行数回( 青エディタの、選択文字列は、『<tr>』&「\n」 表の列数回( 青エディタの、選択文字列は、『<td> </td>』&「\n」 )。 青エディタの、選択文字列は、『</tr>』&「\n」 )。 青エディタの、選択文字列は、『</table>』&「\n」 )。 表フォームの、可視は、オフ。 )。 そを、表フォームに、乗せる。
表cボタンを、作る。 その、位置は、(110,100) その、テキストは、「キャンセル」 その、イベントは、表フォームの、可視は、オフ。 そを、表フォームに、乗せる。
待機。 '------------------------------------------------------- *タグ設定
選択タグで、条件分岐。
「画像」の時、( 「画像はどこにありますか?」を、「サイト内\nサイト外」の、ボタンで選択。 もし、それ=サイト内なら、( 「{作業フォルダ}」の、文字数。 フォルダの文字数=それ。 「画像を選択してください」と、言う。 「イメージ|*.gif;*.jpg;*.jpeg;*.png;*.bmp」の、読込ファイル選択。 もし、それ<>「」ならば、( 「{それ}」から、フォルダの文字数文字、左端削除。 「{それ}」の、『\』を、『/』に、置換。 青エディタの、選択文字列は、『<img src="』&「{それ}」&『" width="幅" height="高さ">』 )。 )。 もし、それ=サイト外なら、( 「インターネットアドレスを指定してください」と、尋ねる。 もし、それ<>「」ならば、( 青エディタの、選択文字列は、『<img src="』&「{それ}」&『" width="幅" height="高さ">』 )。 )。 )。
「文字色」の時、( 「#からの色コードを入力してください。」と、尋ねる。 もし、それ<>「」ならば、( 青エディタの、選択文字列は、『<font color="』&「{それ}」&『">』&「{選択テキスト}」&『</font>』 )。 )。
「フォント」の時、( フォント選択。 それの、「|」までを、切り取る。 もし、それ<>「」ならば、( 青エディタの、選択文字列は、『<font face="』&「{それ}」&『">』&「{選択テキスト}」&『</font>』 )。 )。
「文字サイズ」の時、( 「文字サイズを選んでください」を、「1|2|3|4|5|6|7」の、リストから選択。 もし、それ<>「」ならば、( 青エディタの、選択文字列は、『<font size="』&「{それ}」&『">』&「{選択テキスト}」&『</font>』 )。 )。
「太字」の時、( 青エディタの、選択文字列は、「<b>{選択テキスト}</b>」 )。
「斜体」の時、( 青エディタの、選択文字列は、「<i>{選択テキスト}</i>」 )。
「下線」の時、( 青エディタの、選択文字列は、「<u>{選択テキスト}</u>」 )。
「表」の時、( 表フォームの、可視は、オン。 待機。 )。
「左揃え」の時、( 青エディタの、選択文字列は、『<div align="left">』&「\n{選択テキスト}\n」&『</div>』 )。
「中央揃え」の時、( 青エディタの、選択文字列は、『<div align="center">』&「\n{選択テキスト}\n」&『</div>』 )。
「右揃え」の時、( 青エディタの、選択文字列は、『<div align="right">』&「\n{選択テキスト}\n」&『</div>』 )。
「スタイルシート」の時、( スタイルフォームの、可視は、オン。 待機。 )。
「外部スタイルシート」の時、( 「{作業フォルダ}」の、文字数。 フォルダの文字数=それ。 「ファイルを選択してください」と、言う。 「カスケード スタイルシート|*.css」の、読込ファイル選択。 もし、それ<>「」ならば、( 「{それ}」から、フォルダの文字数文字、左端削除。 「{それ}」の、『\』を、『/』に、置換。 青エディタの、選択文字列は、『<link href="』&「{それ}」&『" type="text/css" rel="stylesheet">』&「\n」 )。 )。 青エディタに、注目。
戻る。
'------------------------------------------------------- *スタイル設定
選択スタイルで、条件分岐。
「セレクタ作成」の時、( 「セレクタ名を入力してください。」と、尋ねる。 もし、それ<>ならば、( スタイルエディタの、選択文字列は、「{それ}\t」&『{』&「\n\t\n」&『}』 )。 )。
「文字色」の時、( 「#からの色コードを入力してください。」と、尋ねる。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「color: {それ};\n」 )。 )。
「文字サイズ」の時、( 「文字サイズを入力してください\n(単位:pt,px,emなど)」と、尋ねる。 フォントサイズ=それ。 「{フォントサイズ}」が、数字か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「font-size: {フォントサイズ};\n」 フォントサイズ=「」。 '空にする )。 )。
「フォント」の時、( フォント選択。 それの、「|」までを、切り取る。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「font-family: {それ};\n」 )。 )。
「背景色」の時、( 「#からの色コードを入力してください。」と、尋ねる。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「background-color: {それ};\n」 )。 )。
「背景画像」の時、( 「{作業フォルダ}」の、文字数。 フォルダの文字数=それ。 「画像を選択してください」と、言う。 「イメージ|*.gif;*.jpg;*.jpeg;*.png;*.bmp」の、読込ファイル選択。 もし、それ<>「」ならば、( 「{それ}」から、フォルダの文字数文字、左端削除。 「{それ}」の、『\』を、『/』に、置換。 スタイルエディタの、選択文字列は、「background-image: ({それ});」 )。 )。
「文字間」の時、( 「文字間を入力してください\n(単位:pxなど)」と、尋ねる。 文字間=それ。 「{文字間}」が、数字か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「word-spacing: {文字間};\n」 文字間=「」。 '空にする )。 )。
「行間」の時、( 「行間を入力してください\n(単位:px,%など)」と、尋ねる。 文字間=それ。 「{行間}」が、数字か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「line-height: {行間};\n」 文字間=「」。 '空にする )。 )。
「位置」の時、( 「位置を指定してください」を、「left\ncenter\nright」の、ボタンで選択。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「text-align: {それ};\n」 )。 )。
「フロート」の時、( 「どちら回りにしますか?」を、「left\nright」の、ボタンで選択。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「float: {それ};\n」 )。 )。
「位置指定」の時、( 「どちらか選択してください」を、「absolute\nrelative」の、ボタンで選択。 もし、それ<>「」ならば、( スタイルエディタの、選択文字列は、「position: {それ};\n」 )。 )。
「重ね順」の時、( 「番号を指定してください\n(大きいものほど前)」と、尋ねる。 重ね順=それ。 「{重ね順}」が、数列か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「z-index: {重ね順};\n」 重ね順=「」。 '空にする )。 )。
「幅」の時、( 「幅を入力してください(単位付)」と、尋ねる。 幅=それ。 「{幅}」が、数字か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「width: {幅};\n」 幅=「」。 '空にする )。 )。
「高さ」の時、( 「高さを入力してください(単位付)」と、尋ねる。 幅=それ。 「{高さ}」が、数字か。 もし、それ=はいならば、( スタイルエディタの、選択文字列は、「height: {高さ};\n」 高さ=「」。 '空にする )。 )。
戻る。
'------------------------------------------------------- *終了処理 「{母艦のパス}option.ini」へ、フォームの位置記録。 もし、エディタ変更=「*」ならば、( 「{読込先}は変更されていますが、保存しますか?」と、三択。 もし、(それ=はい)なら、保存処理に、飛ぶ。 もし、(それ=いいえ)なら、終わり。 もし、(それ=キャンセル)なら、終了処理に 終了処理設定。 )。 待機。
'------------------------------------------------------- |