{---プログラム掲示板投稿フォーム--- 【ソフト名】AutoUP (バージョン 0.74) 【作 成 者】yuk (連絡先:nagisayuk1@mail.goo.ne.jp) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.47 【転 載】可/(転載条件:作者にメールで連絡すること/ご自由に) 【改変運用】可/(投稿したプログラムを他人が改造し運用することを許すか) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有(score_data.iniなど具体的なファイル名を) 【コメント】 20020509 サーバー上にないフォルダ内のファイルをアップロードできないバグ(?)を修正。 2回目以降起動した時にダイアログの閉じるボタンを押した時の動作を変更。 その他。 20020502 設定ファイルの名前を変えました。 ヘルプのスタイルを枠なしからダイアログスタイルに変更しました。 誤字を訂正しました。 20020502 ソフト名を変更しました。 ヘルプを読んで使ってみてください。 ---投稿フォームここまで---} {AutoUP} バージョン=0.74 終了イベントに、終了処理設定。 現フォルダ=作業フォルダ。 「up.txt」が、存在するか。 n=それ もし、それ=0ならば、「」を、「up.txt」に、保存。 「AutoUP_set.ini」が、存在するか。 m=それ もし、それ=0ならば、「」を、「AutoUP_set.ini」に、保存。 もし、(n=1)かつ(m=1)ならば、(母艦は、「AutoUP」。 「モードは?」を、「お試し\n実用」の、ボタンで選択。 もし、それ=「」ならば、終わり。 モードは、それ。母艦は、「AutoUP {モード}」 もし、それ=実用ならば、(「すぐにアップロードしますか?」を、「今すぐupload\n設定」の、ボタンで選択。 もし、それ=「」ならば、終わり。 もし、それ=今すぐuploadならば、アップロードイベント。))
*ヘルプの内容設定 目次=「このソフトについて\nしくみ\nメニューについて\n設定タブ\n拡張子設定タブ\n注意\n連絡先」
内容0=「このソフトについて\n\nこのソフトは、作者のサイトの更新作業をらくちんにするために作られました。 一回設定を済ませてしまうと、後はいつでもuploadボタンを押すだけで変更されたファイルを自動的にフォルダ構造を再現してアップロードしてくれます。」 内容1=「しくみ\n\nまず、ホームディレクトリを指定します。\nすると『up.txt』にバックアップファイルを作成します。\n 作ったバックアップファイルの内容と現在のフォルダの内容をファイル名とファイル作成日時を元に比較して、変更が確認されたらそのファイルをアップロードする項目に追加します。」 内容2=「ファイルメニュー\n 保存\n\n 設定をどこか変更したらプログラムを終了させるときに設定を保存するかどうか選べる仕様になっていますが心配性の方はこまめに保存しておいた方がいいです。 また、設定を変更してすぐにアップロードしたい場合、一度保存してからでないと設定通りに動作しません。\n モード\n\n お試しモードにするとuploadボタンを押したとき、アップロードするファイル名を表示して終了します。 実用モードでは実際にサーバーにアップします。接続に失敗したときはビープ音が二回鳴り、ダイアログが出ます。 なお、モード名はプログラムのタイトル部分に表示されます。\n\n終了\n\n プログラムを終了します。\n タブメニュー\n\n 各タブを表示します。\n\nuploadメニュー・uploadボタン\n\n 設定通りにアップロードします。 ショートカットキーは\"Ctrl+Enter\"です。\n\nヘルプメニュー\n\nヘルプ\n\n このヘルプを表示します。\n バージョン情報\n\n バージョンなどをダイアログで表示します。」 内容3=「設定タブ\n FTPホスト、FTPユーザー、FTPパスワード\n FTPホスト…FTPホスト\n FTPユーザー…FTPユーザーID\n FTPパスワード…FTPパスワード それぞれにサーバーから割り当てられた値を書き込んでください。\n ホームディレクトリ\n\n 参照ボタンを押すことで設定できます。\n 上記四つの項目はアップロードするのに必ず必要な項目です。\n必ず設定してください。\n 除外フォルダ\n ホームディレクトリ以下のフォルダでアップロードしたくないフォルダがあるときにチェックします。 項目名横の参照ボタンを押すことで設定できます。\n 複数ある場合は一つ一つ設定してください。 クリアボタンを押すとクリアされます。\n\n日本語ファイルを許可\n 日本語名(2Bite文字)のファイルやフォルダをアップロードしてよい場合はここをチェックします。 デフォルトではチェックされていません。\n 拡張子チェック\n ここをチェックすると拡張子によってアップロードするかしないか設定できます。 詳細は拡張子タブの説明に譲ります。\n デフォルトではチェックされていません。」 内容4=「拡張子設定タブ\n アップロードするファイルの拡張子を制限できます。\nアップロードしたい拡張子にチェックマークをつけてください。\n 要望があれば、もっと細かく設定できるようにします。\nまた、上部にあるプルダウンメニューからgeocitiesを選ぶと、geocitiesで使える拡張子がチェックされます。」 内容5=「注意\n\n・アップロード中にほかのアプリケーションを起動させようとすると時間がかかる場合があります。\n ・このソフトを使って起きたいかなる責任もyukはおいません。自己の責任でこのソフトを使ってください。」 内容6=「作者名 yuk\n\ne-mail nagisayuk1@mail.goo.ne.jp\n\nサイト ../../\n バグとか発見したらメールください。\n感想とか、要望とかあったらメール、または掲示板で教えてください。」
*見た目の作成 ファイルメニューを、メニュー作成。 ファイルメニューに、保存メニューを、メニュー追加。 その、イベントは、設定ファイル書き込み。 その、ショートカットキーは、「Ctrl+S」 ファイルメニューに、モードメニューを、メニュー追加。 モードメニューに、実用メニューを、メニュー追加。 その、値は、オン。 その、イベントは、(モード=実用 実用メニューの、値は、オン。 お試しメニューの、値は、オフ。 母艦は、「AutoUP {モード}」) モードメニューに、お試しメニューを、メニュー追加。 その、イベントは、(モード=お試し 実用メニューの、値は、オフ。 お試しメニューの、値は、オン。 母艦は、「AutoUP {モード}」) ファイルメニューに、終了メニューを、メニュー追加。 その、イベントは、終わり。 その、ショートカットキーは、「Ctrl+W」 タブメニューを、メニュー作成。 タブメニューに、設定メニューを、メニュー追加。 その、値は、オン。 その、イベントは、設定ボタンの、イベント。 タブメニューに、拡張子設定メニューを、メニュー追加。 その、値は、オフ。 その、イベントは、上級設定ボタンの、イベント。 uploadメニューを、メニュー作成。 その、イベントは、アップロードイベント その、ショートカットキーは、「Ctrl+Enter」 ヘルプメニューを、メニュー作成。 ヘルプメニューに、使い方メニューを、メニュー追加。 その、ショートカットキーは、「F1」 その、イベントは、ヘルプイベント。 ヘルプメニューに、バージョン情報メニューを、メニュー追加。 その、イベントは、「AutoUP\nver.{バージョン}\n制作 yuk」と、言う。
フォント色は、黒色。 (15,15)に、移動。 設定ボタンを、ラベルとして、作成。 その、テキストは、「設定」 その、幅は、39 その、高さは、21 その、イベントは、( 設定メニューの、値は、オン。 拡張子設定メニューの、値は、オフ。 設定パネルの、可視は、オン。 ペン色は、非アクティブ色。 (55,11)から、(55,35)へ、線。※境界線 ) (65,15)に、上級設定ボタンを、ラベルとして、作成。 その、テキストは、「拡張子設定」 その、幅は、84 その、高さは、21 その、イベントは、( 設定メニューの、値は、オフ。 拡張子設定メニューの、値は、オン。 設定パネルの、可視は、オフ。 ペン色は、白色。 (55,11)から、(55,35)へ、線。※境界線 )
uploadボタンを、ボタンとして、作成。 その、位置は、(171,5) その、イベントは、アップロードイベント。 ヘルプボタンを、ボタンとして、作成。 その、位置は、(uploadボタンの、右側) その、イベントは、ヘルプイベント
上級設定パネルを、パネルとして、作成。 その、位置は、(5,35) その、幅は、325 その、高さは、340 im2を、イメージとして、作成。 その、位置は、(51,0) その、透過処理は、オン。 塗り色は、ウインドウ色。 ペン色は、塗り色。 im2の、(0,0)から、(93,0)に、線描画。 im2を、上級設定パネルに、乗せる。
設定パネルを、パネルとして、作成。 その、位置は、(5,35) その、幅は、325 その、高さは、340 im1を、イメージとして、作成。 その、位置は、(0,0) その、透過処理は、オン。 im1の、(2,0)から、(49,0)に、線描画。 im1を、設定パネルに、乗せる。
(110,13)に、移動。 それ=「ホスト、ユーザー、パスワード」 「、」を、「\n」に、置換。 それを、反復( 「{それ}ラベルを、ラベルとして、作成。」を、ひまわりする。 その、Xは、10 その、テキストは、「FTP{それ}」 「{それ}ラベルを、設定パネルに、乗せる。 ({それ}ラベルの、右側)に、{それ}エディタを、エディタとして、作成。 その、Xは、120 その、Yは、(({それ}ラベルの、Y)-5) その、幅は、195 {それ}エディタを、設定パネルに、乗せる。」を、ひまわりする。)
(パスワードエディタの、下側)に、ホームディレクトリラベルを、ラベルとして、作成。 その、Xは、10 その、テキストは、「ホームディレクトリ」 (ホームディレクトリラベルの、下側)に、ホームディレクトリエディタを、エディタとして、作成。 その、幅は、221 その、編集は、オフ。 参照ボタンを、ボタンとして、作成。 その、位置は、(ホームディレクトリエディタの、右側)。 その、イベントは、ホームディレクトリ変更イベント 参照ボタンを、設定パネルに、乗せる。 ホームディレクトリラベルを、設定パネルに、乗せる。 ホームディレクトリエディタを、設定パネルに、乗せる。
(ホームディレクトリエディタの、下側)に、移動。 除外チェックを、チェックとして、作成。 その、テキストは、「除外フォルダ」 その、位置は、(10,165) その、幅は、150 (除外チェックの、下側)に、除外メモを、メモとして、作成。 その、幅は、305 その、編集は、オフ。 除外ボタンを、ボタンとして、作成。 その、テキストは、「参照」 その、位置は、(156,(除外チェックの、Y)-5)。 その、イベントは、( フォルダ選択。 除外メモは、"{除外メモ}{それ}\n"。) 「チェック\nメモ\nボタン」を、反復("除外{それ}を、設定パネルに、乗せる。"を、ひまわりする。) (除外ボタンの、右側)に、クリアボタンを、ボタンとして、作成。 その、イベントは、除外メモは、「」
(除外メモの、下側)に、移動 日本語チェックを、チェックとして、作成。 その、テキストは、「日本語を許可」 その、幅は、120 拡張子チェックを、チェックとして、作成。 その、テキストは、「拡張子をチェック」 その、幅は、180 日本語チェックを、設定パネルに、乗せる。 拡張子チェックを、設定パネルに、乗せる。 クリアボタンを、設定パネルに、乗せる。
拡張子コンボを、コンボとして、作成。 その、位置は、(10,10) その、編集は、オフ。 その、アイテムは、「フリー\ngeocities\nすべてを許可\nすべて不許可\n反転」 その、値は、0 その、イベントは、拡張子選択イベント 拡張子コンボを、上級設定パネルに、乗せる。 n=0 m=0 拡張子リスト=「.lzh,.zip,.gz,.tgz,.map,.aiff,.au,.wav,.wrk,.bmp,.jpg,.gif,.tif .tiff,.png,.ivs,.mov,.avi,.txt,.css,.cnf,.cab,.spi,.ged,.html,.htm,.class,.js .java,.hqx,.mid,.key,.mp3,.doc,.pdf,.qt,.mov,.ra,.ram,.dcr,.dir,.dxr,.swf,.sit .tsp,.viv,.vivo,.vox,.wrl,.vqf,.vql,.vqe,.asf,.asx,.xdw,.xbd,.ps,.exe,cgi,その他」 拡張子リストの、「.」を、「」に、置換。 「,」を、「\n」に、置換。 0列目をキーに、表重複項目削除。 0列目を、表ソート。 拡張子リストは、それ。 それを、反復( 「((7+52*n),(43+30*m))に、{それ}チェックを、チェックとして、作成。」を、ひまわりする。 その、テキストは、それ。 その、幅は、50 n=n+1 もし、n>5ならば、(n=0 m=m+1) 「{それ}チェックを、上級設定パネルに、乗せる。」を、ひまわりする。) その他チェックの、幅は、100
ヘルプフォームを、フォームとして、作成。 その、可視は、オフ。 その、スタイルは、ダイアログスタイル。 その、タイトルは、「{母艦}-ヘルプ」 その、幅は、530 その、高さは、300 その、背景色は、ウインドウ色
ヘルプリストを、リストとして、作成。 その、位置は、(10,10) その、アイテムは、目次 その、値は、0 その、イベントは、「ヘルプメモは、内容{ヘルプリスト}」を、ひまわりする。 その、幅は、160 その、高さは、280
ヘルプメモを、メモとして、作成。 その、位置は、(ヘルプリストの、右側) その、スクロールバーは、縦。 その、幅は、340 その、高さは、280 その、編集は、オフ。 その、テキストは、内容0 「ヘルプリスト\nヘルプメモ」を、反復( "{それ}"を、ヘルプフォームに、乗せる。) ヘルプフォームを、中央に移動。 ヘルプリストの、イベント。
設定ファイル読み込み。
「{モード}メニューの、イベント。」を、ひまわりする。
母艦の、幅は、335 母艦の、高さは、380 母艦の、背景色は、ウインドウ色。 母艦を、中央に移動。
ペン色は、白色。 ペン太さは、1 (6,10)から、(55,10)へ、線。'一つ目横 (56,10)から、(150,10)へ、線。※二つ目横 (5,11)から、(5,35)へ、線。※一つ目左 ペン色は、非アクティブ色。 (55,11)から、(55,35)へ、線。※一つ目右(境界) (150,11)から、(150,35)へ、線。※二つ目右
るるる=「ホストエディタ\nユーザーエディタ\nパスワードエディタ\n除外メモ\n拡張子コンボ」 るるるを、反復(「{それ}の、変更した時は、変更イベント。」を、ひまわりする。) 拡張子リストを、反復("{それ}チェックの、イベントは、変更イベント。"を、ひまわりする。) 日本語チェックの、イベントは、変更イベント 除外チェックの、イベントは、(変更イベント。除外チェックイベント。) 拡張子チェックの、イベントは、(変更イベント 上級設定パネルの、有効は、オン。 もし、(拡張子チェックの、値=0)ならば、上級設定パネルの、有効は、オフ。)
母艦浮上 ※DEBUG。 待機。
*拡張子選択イベント メイレイ=オン もし、(拡張子コンボの、テキスト)=フリーならば、戻る。 もし、(拡張子コンボの、テキスト)=すべて不許可ならば、メイレイ=オフ もし、(拡張子コンボの、テキスト)=反転ならば、メイレイ=NO
もし、メイレイ=NOならば、( 拡張子リストを、反復(「もし、NOT({それ}チェック)=0ならば、{それ}チェックは、オフ。 違えば、{それ}チェックは、オン。」を、ひまわりする。) 戻る。)
拡張子リストを、反復(「{それ}チェックは、{メイレイ}。」を、ひまわりする。) もし、(拡張子コンボの、テキスト)=geocitiesならば、( 「exe\ncgi\nその他」を、反復(「{それ}チェックは、オフ。」を、ひまわりする。)) 戻る。
*ヘルプイベント ヘルプフォームの、可視は、オン。 戻る。
*アップロードイベント 母艦最小化。 母艦の、タイトルは、「準備中」 file=「」 アプパスは、「」 アプファイルは、「」 増えたフォルダ=「」
設定ファイル読み込み
るるるに、「up.txt」を、開く ホームディレクトリエディタの、全ファイル列挙。 それを、反復( ふぁいるは、それ。 ふぁいるの、ファイル日時。 それ="{ふぁいる} {それ}" " "を、「,」に、置換。 fileは、「{file}{それ}\n」)
ふぁいるの増減チェック
n=0 fileを、反復( LLL=それ 拡張子をチェックイベント もし、m=0ならば、( 除外フォルダをチェック もし、m=0ならば、( 日本語ファイルをチェック もし、m=0ならば、( LLLと、るるる#nで、文比較。 もし、それ=いいえならば、(アプパスは、"{アプパス}{LLL#0#0}\n")))) n=n+1) アプパスの、ホームディレクトリエディタを、「」に、置換。 『\』を、「/」に、置換。 アプファイルは、それ。 もし、モード=お試しならば、( BEEP。 アプパスと、言う。 アプファイルと、言う。 終わり。)
n=0 FTPホストは、ホストエディタ FTPユーザーIDは、ユーザーエディタ FTPパスワードは、パスワードエディタ FTP接続。
もし、増えたフォルダ=「」でなければ、( 増えたフォルダを、反復( それの、FTPフォルダ作成)) エラーイベントに、エラー処理設定。
アプパスを、反復( 母艦の、タイトルは、アプファイル#n。 それを、アプファイル#nへ、FTPアップロード。 n=n+1) FTP切断。 ダミーに、エラー処理設定。
*空アプイベント 「」を、「up.txt」に、保存。 n=0 ホームディレクトリエディタの、全ファイル列挙。 それを、反復( ふぁいるは、それ。 母艦の、タイトルは、「終了処理{n}」 ふぁいるの、ファイル日時。 それ="{ふぁいる} {それ}" " "を、「,」に、置換。 「{それ}\n」を、「up.txt」に、追加保存。 n=n+1 )
もし、bsフラグ=onならば、戻る。 BEEP。 おわり。
*設定ファイル読み込み inilist=「ホストエディタ,ホスト\nユーザーエディタ,ID\nパスワードエディタ,パス ホームディレクトリエディタ,ホーム\n除外チェックの、値,除外チェック\n除外ファイル,除外ファイル 日本語チェックの、値,日本語チェック\n拡張子コンボの、値,拡張子コンボ 拡張子チェックの、値,拡張子チェック\nオフリスト,オフリスト\nオンリスト,オンリスト」
n=「」 「AutoUP_set.ini」の、INIファイル開く。 inilistを、反復(nは、それ。 "基本"の、「{n#1#0}」を、INIファイル読む。 「{n#0#0}=それ」を、ひまわりする。) INIファイル閉じる。
オンリストの、表行列交換。オンリストは、それ。 オフリストの、表行列交換。オフリストは、それ。
n=0 除外ファイルの、「☆」を、"\n"に、置換。 除外メモは、それ。 オンリストを、反復("{それ}チェックの、値=1"を、ひまわりする。) 戻る。
*設定ファイル書き込み 除外メモの、"\n"を、「☆」に、置換。 除外ファイルは、それ。
オフリストは、「」 オンリストは、「」 拡張子リストを、反復( 「({それ}チェックの、値)で、条件分岐。」を、ひまわりする。 0の時、オフリストは、「{オフリスト}{それ},」 1の時、オンリストは、「{オンリスト}{それ},」 ) 現フォルダへ、作業フォルダ。
「AutoUP_set.ini」の、INIファイル開く。 inilistを、反復(るるは、それ。 「それ={それ#0#0}」を、ひまわりする。 "基本"の、「{るる#1#0}」へ、INIファイル書く。) INIファイル閉じる。 変更フラグ=「」 母艦の、タイトルは、「AutoUP {モード}{変更フラグ}」 戻る。
*日本語ファイルをチェック m=0 もし、(日本語チェックの、値)=1ならば、戻る。 「{LLL#0#0}」の、ホームディレクトリエディタを、「」に、置換。 「s/(.)/$1\n/gk」で、正規表現置換。 それを、反復( それが、全角か。 もし、それが、はいならば、(m=1。抜ける。)) 戻る。
*除外フォルダをチェック m=0 もし、(除外チェックの、値)=0ならば、戻る。 (除外メモの、テキスト)を、反復( 「{LLL#0#0}」を、"{それ}*"で、マッチ。 もし、それ=「」でなければ、(m=1。抜ける。)) 戻る。
*拡張子をチェックイベント m=0 もし、(拡張子チェックの、値)=0ならば、戻る。 捜し物=オフリスト もし、その他チェックの、値=0ならば、捜し物=オンリスト
「{LLL#0#0}」から、ファイル名を切り出す。 拡張子を切り出す。 「.」を、「」に、置換。 捜し物の、0列目から、それを、表検索。 もし、捜し物=オンリストならば、(もし、それ<0ならば、m=1) もし、捜し物=オフリストならば、(もし、それが、0以上ならば、m=1) 戻る。
*除外チェックイベント もし、(除外チェックの、値)=0ならば、( 除外メモの、有効は、オフ。 クリアボタンの、有効は、オフ。 除外ボタンの、有効は、オフ。 ) 違えば、( 除外メモの、有効は、オン。 クリアボタンの、有効は、オン。 除外ボタンの、有効は、オン。 ) 戻る。
*ふぁいるの増減チェック 「□\n{るるる}☆\n{file}」の、0列目をキーに、表重複項目削除。 "□"から、"☆"までの、範囲を切り取る。 「□\n」を、「」に、置換。 「☆」を、「」に、置換。 減った項目は、それ。 「□\n{file}☆\n{るるる}」の、0列目をキーに、表重複項目削除。 "□"から、"☆"までの、範囲を切り取る。 「□\n」を、「」に、置換。 「☆」を、「」に、置換。 増えた項目は、それ。 ※DEBUG。 もし、減った項目<>「」ならば、( 減った項目を、反復( るるるの、「{それ}\n」を、「」に、置換。 るるるは、それ。))
もし、増えた項目<>「」ならば、( n=「」 増えた項目を、反復( それ=それ#0#0 fileの、0列目から、それを、表検索。 n="{n}{それ},") nから、1文字、右端を切り取る。 nの、「,」を、「\n」に、置換。 n=それ。 nを、反復( るるるの、"{それ}"行目へ、「☆」を、行挿入。 るるるは、それ。) ディレクトリチェック。 ) 戻る。
*ホームディレクトリ変更イベント 「ホームディレクトリを変更すると\n新たにバックアップファイルを作成します。\n変更直後までに更新されたファイルは\nアップロードされません。\nよろしいですか?」と、二択。 もし、それ=いいえならば、戻る。
フォルダ選択。 もし、それ=「」ならば、戻る。 ホームディレクトリエディタは、それ。 「ホームディレクトリが変更されました。\nバックアップファイルを作成します。」と、言う。 bsフラグ=on 空アプイベント bsフラグ=off 「AutoUP_set.ini」の、INIファイル開く。 それは、ホームディレクトリエディタ。 「基本」の、「ホーム」へ、INIファイル書く。 INIファイル閉じる。 戻る。
*終了イベント もし、変更フラグ=「*」ならば、( 「設定が変更されていますが\n保存してから終了しますか?」と、三択。 もし、それ=はいならば、設定ファイル書き込み。 もし、それ=「」ならば、戻る。) 終わり。
*エラーイベント BEEP。 1秒、待つ。 BEEP。 「FTP接続中にエラーが発生しました。 いったん、プログラムを終了させます。」と、言う。 「」に、終了処理設定。 終わり。
*ダミー エラーを警告。 戻る。
*変更イベント 変更フラグ=「*」 母艦の、タイトルは、「AutoUP {モード}{変更フラグ}」 戻る。
*ディレクトリチェック 増えた項目を、反復( むむむは、「{それ#0#0}」。 むむむから、ファイル名を切り出す。 むむむの、それを、「」に、置換。 むむむは、それ。 るるるで、むむむの、出現回数。 もし、それ=0ならば、( むむむの、ホームディレクトリエディタを、「」に、置換。 『\』を、「\n」に、置換。 むむむは、「」 それを、反復( むむむは、「{むむむ}{それ}\\」 るるるで、「{ホームディレクトリエディタ}{むむむ}」の、出現回数。 もし、それ=0ならば、(むむむの、『\』を、「/」に、置換。 1文字、右端削除。 増えたフォルダ=「{増えたフォルダ}{それ}\n」 )))) 戻る。 |