{---プログラム掲示板投稿フォーム--- 【ソフト名】LynMail (バージョン 0.50) 【作 成 者】りんくす (連絡先:toysmoon@geocities.co.jp) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.54 【転 載】可(転載条件:まさかそんな方はいないと思いますが(笑)メールくださるとうれしいです) 【改変運用】可 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】有(「lynmail.ini」「histry.ini」「syomei.ini」「address.csv」「Memoフォルダ」「PopMailフォルダ」「SmtptMailフォルダ」) 【コメント】マニュアルを見ながら、いろんな方の作品を参考にしながら、試行錯誤して、なんとか動くようにはなりました。もっと効率のよい書き方があるんじゃないかなぁと思いながら、でも、自分が作ったものがちゃんと(?)動くのが嬉しくて、投稿しちゃいます。(笑) ただ、送信済みメールの呼出、書きかけ保存、呼出などのときに、作業フォルダの変更がうまくいかない場合があるんですが、どうしたらいいのかわかりません。どなたか助けてください。(;_;)他のことでも「ここをこうしたほうが」とか、「ここはまずいよ」というアドバイスを頂けたらとても嬉しいです。使い方で不明な点は、ヘルプを読んでくださいませ。 注!!!:長すぎるせいか投稿できなかったので、投稿を【前半】【後半】2つに分けました。
---投稿フォームここまで---} 母艦の、タイトルは、「LynMail」 母艦の、サイズは、(0,0,640,470)。 文字サイズは、10。 灰色で、画面クリア。 終了ラベルに、終了処理設定。
//////// 設定の読み込み //////// 母艦のパス&「lynmail.ini」が、存在するか。 もし、それならば、( 母艦のパス&「lynmail.ini」の、INIファイル開く。 『メール送信者名』の、『sname』を、INIファイル読む。 メール送信者名は、それ。 『メール送信元』の、『saddress』を、INIファイル読む。 メール送信元は、それ。 『メールホスト』の、『shost』を、INIファイル読む。 送信ホストは、それ。 『メールホスト』の、『Jhost』を、INIファイル読む。 受信ホストは、それ。 『メールID』の、『account』を、INIファイル読む。 メールIDは、それ。 『メールパスワード』の、『pass』を、INIファイル読む。 メールパスワードは、それ。 『削除設定』の、『frag』を、INIファイル読む。 削除設定は、それ。 『自動署名』の、『frag』を、INIファイル読む。 自動署名は、それ。 INIファイル閉じる。 ) 母艦のパス&「syomei.ini」が、存在するか。 もし、それならば、( 母艦のパス&「syomei.ini」を、読む。 署名内容は、それ。) 違えば、( それは、「」 母艦のパス&「syomei.ini」へ、書く。 母艦のパス&「syomei.ini」を、読む。 署名内容は、それ。) 母艦のパス&「address.csv」が、存在するか。 もし、それならば、( 母艦のパス&「address.csv」を、読む。 アドレス帳データは、それ。) 違えば、( それは、「名前 ,メールアドレス \n」 母艦のパス&「address.csv」へ、書く。 母艦のパス&「address.csv」を、読む。 アドレス帳データは、それ。) 母艦のパス&「histry.ini」が、存在するか。 もし、それならば、( 母艦のパス&「histry.ini」を、読む。 履歴データは、それ。) 違えば、( それは、「履歴\n」 母艦のパス&「histry.ini」へ、書く。 母艦のパス&「histry.ini」を、読む。 履歴データは、それ。) 母艦のパス&「SmtptMail\\」が、存在するか。 もし、それが、いいえならば、(母艦のパス&「SmtptMail」へ、フォルダ作成。) 母艦のパス&「PopMail\\」が、存在するか。 もし、それが、いいえならば、(母艦のパス&「PopMail」へ、フォルダ作成。) 母艦のパス&「Memo\\」が、存在するか。 もし、それが、いいえならば、(母艦のパス&「Memo」へ、フォルダ作成。)
//////// 部品作成 //////// // 基本設定フォーム // 基本設定フォームを、フォームとして、作成。 その、可視は、オフ。 その、背景色は、灰色。 その、スタイルは、ダイアログスタイル。 その、サイズは、(0,0,420,470) 文字サイズは、9。 (10,10)へ、移動。
送信者名を、ラベルとして、作成。 送信者名を、基本設定フォームに、乗せる。 送名前編集エディタを、エディタとして、作成。 その、テキストは、メール送信者名。 送名前編集エディタを、基本設定フォームに、乗せる。
送信アドレスを、ラベルとして、作成。 送信アドレスを、基本設定フォームに、乗せる。 送アドレス編集エディタを、エディタとして、作成。 その、テキストは、メール送信元。 送アドレス編集エディタを、基本設定フォームに、乗せる。
送信メールホストを、ラベルとして、作成。 送信メールホストを、基本設定フォームに、乗せる。 送信ホスト名編集エディタを、エディタとして、作成。 その、テキストは、送信ホスト。 送信ホスト名編集エディタを、基本設定フォームに、乗せる。
受信メールホストを、ラベルとして、作成。 受信メールホストを、基本設定フォームに、乗せる。 受信ホスト名編集エディタを、エディタとして、作成。 その、テキストは、受信ホスト。 受信ホスト名編集エディタを、基本設定フォームに、乗せる。
アカウントを、ラベルとして、作成。 アカウントを、基本設定フォームに、乗せる。 アカウント編集エディタを、エディタとして、作成。 その、テキストは、メールID。 アカウント編集エディタを、基本設定フォームに、乗せる。
パスワードを、ラベルとして、作成。 パスワードを、基本設定フォームに、乗せる。 パスワード編集エディタを、エディタとして、作成。 その、テキストは、メールパスワード。 パスワード編集エディタを、基本設定フォームに、乗せる。
署名ラベルを、ラベルとして、作成。 署名ラベルを、基本設定フォームに、乗せる。 署名編集メモを、メモとして、作成。 その、幅は、200。 その、テキストは、署名内容。 署名編集メモを、基本設定フォームに、乗せる。
保存ボタンを、ボタンとして、作成。 保存ボタンを、基本設定フォームに、乗せる。 その、テキストは、「保存」 その、イベントは、基本設定保存。
受信時サーバー削除チェックを、チェックとして、作成。 その、サイズは、(210,20,400,40) その、テキストは、受信時にサーバーから削除する。 その、値は、削除設定。 受信時サーバー削除チェックを、基本設定フォームに、乗せる。
自動署名挿入チェックを、チェックとして、作成。 その、サイズは(210,50,400,70) その、テキストは、自動で署名を挿入。 その、値は、自動署名。 自動署名挿入チェックを、基本設定フォームに、乗せる。
// アドレス帳フォーム // アドレス帳フォームを、フォームとして、作成。 その、可視は、オフ。 その、背景色は、灰色。 その、スタイルは、ダイアログスタイル。 その、サイズは、(0,0,390,470)
登録アドレス一覧ラベルを、ラベルとして、作成。 その、サイズは、(10,10,130,25) 登録アドレス一覧ラベルを、アドレス帳フォームに、乗せる。 めるあどグリッドを、グリッドとして、作成。 その、サイズは、(10,25,290,400) その、編集は、オン。 その、アイテムを、アドレス帳データに、設定。 その、ダブルクリックした時は、宛先決定。 めるあどグリッドを、アドレス帳フォームに、乗せる。
宛先ボタンを、ボタンとして、作成。 その、サイズは、(295,25,340,45) 宛先ボタンを、アドレス帳フォームに、乗せる。 その、テキストは、「宛先」 その、イベントは、宛先決定。 CCボタンを、ボタンとして、作成。 その、サイズは、(295,50,340,70) CCボタンを、アドレス帳フォームに、乗せる。 その、テキストは、「CC」 その、イベントは、CC宛先決定。 BCCボタンを、ボタンとして、作成。 その、サイズは、(295,75,340,95) BCCボタンを、アドレス帳フォームに、乗せる。 その、テキストは、「BCC」 その、イベントは、BCC宛先決定。
アドレス削除ボタンを、ボタンとして、作成。 その、サイズは、(295,355,380,375) アドレス削除ボタンを、アドレス帳フォームに、乗せる。 その、イベントは、めるあど削除。 修正ボタンを、ボタンとして、作成。 その、サイズは、(295,380,380,400) 修正ボタンを、アドレス帳フォームに、乗せる。 その、テキストは、「修正を保存」 その、イベントは、めるあど修正。
名前ラベルを、ラベルとして、作成。 その、サイズは、(10,415,40,430) 名前ラベルを、アドレス帳フォームに、乗せる。 名前エディタを、エディタとして、作成。 その、サイズは、(10,430,100,445) 名前エディタを、アドレス帳フォームに、乗せる。 アドレスラベルを、ラベルとして、作成。 その、サイズは、(100,415,180,430) アドレスラベルを、アドレス帳フォームに、乗せる。 アドレスエディタを、エディタとして、作成。 その、サイズは、(100,430,290,445) アドレスエディタを、アドレス帳フォームに、乗せる。 追加ボタンを、ボタンとして、作成。 その、サイズは、(295,430,340,450) 追加ボタンを、アドレス帳フォームに、乗せる。 その、テキストは、「追加」 その、イベントは、めるあど登録。
// 受信メール表示するフォーム // 受信メールフォームを、フォームとして、作成。 その、可視は、オフ。 その、サイズは、(0,0,500,470) その、背景色は、灰色。 その、変更した時は、受信メールメモの、サイズは、(0,30,(受信メールフォームの、幅),(受信メールフォームの、高さ))。 添付ファイルを見るボタンを、ボタンとして、作成。 その、サイズは、(05,05,140,25) その、イベントは、添付ファイルを開く。 添付ファイルを見るボタンを、受信メールフォームに、乗せる。 受信メールメモを、メモとして、作成。 その、サイズは、(0,30,(受信メールフォームの、幅),(受信メールフォームの、高さ))。 その、編集は、オフ。 その、スクロールバーは、縦。 受信メールメモを、受信メールフォームに、乗せる。
履歴リストを、リストとして、作成。 その、可視は、オフ。 その、アイテムは、履歴データ。 履歴リストを、受信メールフォームに、乗せる。
// 添付を開く窓 // 添付ビューアフォームを、フォームとして、作成。 その、可視は、オフ。 その、位置は、(0,20) その、幅は、500 その、高さは、450 その、変更した時は、添付リサイズ。 ファイルリストを、リストとして、作成。 その、サイズは、(0,0,500,30) その、イベントは、添付表示。 ファイルリストを、添付ビューアフォームに、乗せる。 添付ブラウザを、ブラウザとして、作成。 その、URLは、「about:blank」 その、サイズは、(0,30,500,450) 添付ブラウザを、添付ビューアフォームに、乗せる。
// メニュー作成 // 基本設定メニューを、メニュー作成。 その、イベントは、基本設定編集。
アドレス帳メニューを、メニュー作成。 その、イベントは、アドレス帳呼び出し。
送信済メールメニューを、メニュー作成。 その、イベントは、送信済みメール呼び出し。
ヘルプメニューを、メニュー作成 その、イベントは、ヘルプ表示。
// 母艦の部品作成 // 送信ボタンを、ボタンとして、作成。 その、サイズは、(10,10,60,40) その、イベントは、メール送信実行。
受信ボタンを、ボタンとして、作成。 その、サイズは、(10,50,60,80) その、イベントは、メール受信実行。
送信者ラベルを、ラベルとして、作成。 その、サイズは、(105,10,140,30) 送信者入力エディタを、エディタとして、作成。 その、サイズは、(150,10,230,30) その、テキストは、メール送信者名。 送信元入力エディタを、エディタとして、作成。 その、サイズは、(230,10,490,30) その、編集は、オフ。 その、有効は、オフ。 その、テキストは、メール送信元。
宛先ラベルを、ラベルとして、作成。 その、サイズは、(105,35,140,55) その、クリックした時は、アドレス帳呼び出し。 宛先入力エディタを、エディタとして、作成。 その、サイズは、(150,35,490,55)
CCラベルを、ラベルとして、作成。 その、サイズは、(105,60,140,90) その、クリックした時は、アドレス帳呼び出し。 CCリストを、リストとして、作成。 その、サイズは、(150,60,490,90) その、ダブルクリックした時は、CCリスト編集。
BCCラベルを、ラベルとして、作成。 その、サイズは、(105,95,140,125) その、クリックした時は、アドレス帳呼び出し。 BCCリストを、リストとして、作成。 その、サイズは、(150,95,490,125) その、ダブルクリックした時は、BCCリスト編集。
添付ラベルを、ラベルとして、作成。 その、サイズは、(105,130,140,160) その、クリックした時は、添付選択。 添付リストを、リストとして、作成。 その、サイズは、(150,130,490,160) その、ファイルドロップは、オン。 その、ダブルクリックした時は、添付リスト編集。
件名ラベルを、ラベルとして、作成。 その、サイズは、(10,170,60,200) 件名入力エディタを、エディタとして、作成。 その、サイズは、(50,170,490,200)
メール本文編集を、メモとして、作成。 その、サイズは、(5,195,490,445) その、スクロールバーは、縦。 その、ファイルドロップは、オン。 その、ファイルドロップした時は、メール本文ドロップ。 もし、(自動署名=1)ならば、メール本文編集の、テキストは、「\n{署名内容}\n」。
文字サイズは、9。 新規作成ボタンを、ボタンとして、作成。 その、サイズは、(500,300,630,325) その、イベントは、新規作成。 署名挿入ボタンを、ボタンとして、作成。 その、サイズは、(500,330,630,355) その、イベントは、署名使用。 書きかけ保存ボタンを、ボタンとして、作成。 その、サイズは、(500,390,630,415) その、イベントは、書きかけ保存。 書きかけ呼出ボタンを、ボタンとして、作成。 その、サイズは、(500,420,630,445) その、イベントは、書きかけ呼出。
// 受信メール項目 // 受信メールグリッドを、グリッドとして、作成。 その、サイズは、(500,10,630,250) その、編集は、オン。 その、ダブルクリックした時は、受信メールを読む。 受信メール呼出設定を、呼ぶ。
返信ボタンを、ボタンとして、作成。 その、サイズは、(500,260,540,280) その、イベントは、受信メール返信。 転送ボタンを、ボタンとして、作成。 その、サイズは、(545,260,585,280) その、イベントは、受信メール転送。 削除ボタンを、ボタンとして、作成。 その、サイズは、(590,260,630,280) その、イベントは、受信メール削除。
母艦浮上。 待機。
//////// ここからイベント設定 //////// // 受信メール閲覧のイベント // *受信メールを読む 受信メールフォームの、可視は、オン。 受信メールフォームに、注目。 添付ファイルを見るボタンの、有効は、オン。 受信メールグリッドの、アイテムを、受信データに、得る。 受信メールグリッドの、値を、インデックスに、得る。 読むメールは、(受信データ#4#インデックス)。
もし、読むメール=「」ならば、待機。 違えば、( 母艦のパス&「PopMail\\{読むメール}」を、読む。 内容は、それ。 受信メールメモの、テキストは、内容。 (履歴リストの、アイテム)を、反復( 履歴は、それ。 もし、履歴が、読むメールならば( (履歴リストの、アイテム)の、(回数-1)行目を、行削除。 履歴リストの、アイテムは、それ。 抜ける。 ) ) 履歴リストの、アイテムは、(履歴リストの、アイテム)&「{読むメール}\n」。 受信メール呼出設定を、呼ぶ。 ) 待機。
*受信メール呼出設定 受信データは、「」。 母艦のパス&「PopMail\\」へ、作業フォルダ変更。 『*.txt』の、ファイル列挙。 A=-1 それを、反復( 対象ファイル=それ。 A=A+1 母艦のパス&「PopMail\\{対象ファイル}」を、読む。 変更データは、それ。 変更データの、「添付ファイル:」から、「\n」までの、範囲を切り取る。 それの、「添付ファイル:」を、「」に、置換。 もし、それ=「」ならば、添付有無は、「」。 違えば、添付有無は、「o」。 変更データの、「件名:」から、「\n」までの、範囲を切り取る。 それの、「件名:」を、「」に、置換。 表示件名は、それ。 (履歴リストの、アイテム)で、「\n{対象ファイル}」の、出現回数。 もし、(それ<1)ならば、表示件名=「(未読){表示件名}」。 変更データの、「送信者:」から、「\n」までの、範囲を切り取る。 それの、「送信者:」を、「」に、置換。 表示送信者は、それ。 「{対象ファイル}」の、ファイル日時。 表示日時は、それ。
受信データ#0#A=添付有無 受信データ#1#A=表示件名 受信データ#2#A=表示送信者 受信データ#3#A=表示日時 受信データ#4#A=対象ファイル )。 受信メールグリッドの、アイテムは、「o,受信メール ,送信者,受信日時,ファイル\n{受信データ}」。 戻る。
*添付ファイルを開く 添付ビューアフォームの、可視は、オン。 添付ビューアフォームに、注目。 ファイルデータは、「」。 B=0 内容を、反復( 対象は、それ。 対象の、「添付ファイル:」から、「\n」までの、範囲を切り取る。 それの、「添付ファイル:」を、「」に、置き換える。それの、トリム。 もし、それが、「」ならば、抜ける。 添ファイルは、母艦のパス&「PopMail\\{それ}」。 ファイルデータ#B=添ファイル B=B+1 ) ファイルリストの、アイテムは、ファイルデータ。 待機。
*添付表示 対応形式=「shtml,txt,css,ini,png,jpg,gif,bmp」 (ファイルリストの、テキスト)から、拡張子を切り出す。 「.」を、「」に、置換。小文字変換。 対応形式の中で、それが、何文字目。 もし、それ>0ならば、添付ブラウザの、URLは、ファイルリストの、テキスト。 違えば、添付ブラウザの、URLは、「about:<EMBED src=\"{ファイルリストの、テキスト}\">」。 待機。
*添付リサイズ ファイルリストの、サイズは、(0,0,(添付ビューアフォームの、W),30) 添付ブラウザの、サイズは、(0,30,(添付ビューアフォームの、W),(添付ビューアフォームの、H)) 戻る。
*受信メール削除 受信メールグリッドの、アイテムを、受信データに、得る。 受信メールグリッドの、値を、インデックスに、得る。 受信メール数=要素数(受信データ) もし、(受信メール数=<インデックス)ならば、待機。 もし、(受信メール数=1)ならば、待機。 違えば、( 受信データの、インデックス行目を、行削除。 受信メールグリッドの、アイテムは、それ。 削除メールは、(受信データ#4#インデックス)。 母艦のパス&「PopMail\\{削除メール}」を、ファイル削除。 削除メールから、4文字、右端を切り取る。 母艦のパス&「PopMail\\{削除メール}.eml」を、ファイル削除。
(履歴リストの、アイテム)を、反復( 履歴は、それ。 もし、履歴が、削除メール&「.txt」ならば( (履歴リストの、アイテム)の、(回数-1)行目を、行削除。 履歴リストの、アイテムは、それ。 抜ける。 ) ) 受信メール呼出設定を、呼ぶ。 ) 待機。 |