まとめると、こんな感じでしょうか。 ----- IF 開こうとするファイルが存在しない == TRUE IF 開こうとするファイルパスが履歴にない == TRUE ・デフォルト設定で、ファイルを新規作成する。 ELSE IF 使われる文字コードがユーザーから指示されている == FALSE ・履歴の情報を元に、ファイルを新規作成する? 「ファイルが有りません、前回と同じファイル名、文字コードで新規に作成します。」 というようなメッセージボックスを表示する? ELSE ・指示されている文字コードで、ファイルを新規作成する? 前回と異なる文字コードのとき問い合わせを行う」設定がオンのときは、 履歴の情報がユーザーの指示と違っていたら問い合わせる? ENDIF ENDIF ELSE IF 開こうとするファイルパスが履歴にない == TRUE ・適当に自動判別してファイルを開く。 ELSE IF 二重オープンしようとしている == FALSE ・履歴の情報を元に、ファイルを開く。 前回と異なる文字コードのとき問い合わせを行う」設定がオンのときは、 履歴の情報が自動認識と違っていたら問い合わせがある。 ELSE ・「いったん閉じてからやりなおして」みたいなメッセージを出して、 操作を中止させる? ・文字コード指定で開く場合のみ中止させる? ENDIF ENDIF ENDIF -----
▼ラスティブ さん > まとめると、こんな感じでしょうか。 拡張するとしたら、このような、図になります。 削除されたファイルが開けるのは、「最近使ったファイル(F)」から、のみだと思います。 履歴から開くと、今まで言っていたのは、この意味ですので、以後区別して発言します。 履歴には、文字コードが既に記録され、指定されているので、且つ 削除されたファイルの文字コードは、もはや自動認識出来ないので、前回との比較も無く。 ----- IF 開こうとするファイルが存在しない == TRUE (削除) |・履歴の情報を元に、ファイルを新規作成する?キャンセル?−−のダイアログボックス ||「ファイルが有りません、前回と同じファイル名、文字コードで新規に作成します。」 ||というようなメッセージボックスを表示する?しない?−−のチェックボックス (削除) ELSE (省略) ENDIF -----
> まとめると、こんな感じでしょうか。 拡張するとしたら、このような、図になります。 ▼ maruさん コマンドラインの件、無視していました、失礼しました。 チェックボックスは既に有りました、見落としていました。 [ ] 開こうとしたファイルが存在しないとき警告する(E) ----- IF 開こうとするファイルが存在しない == TRUE |IF 開こうとしたファイルが存在しないとき警告する(E)が、ONの場合 ||・「○○というファイルは存在しません。ファイルを保存…」を表示 |ENDIF || |IF 開こうとするファイルパスが履歴に無い(コマンドラインから開く) == TRUE ||IF 文字コードがユーザーから指示されていない == TRUE |||・デフォルトの文字コードS-JISで、ウインドウを新規作成する。 ||ELSE |||・指示されている文字コードで、ウインドウを新規作成する。 ||ENDIF |ELSE ||IF 文字コードがユーザーから指示されていない == TRUE |||・履歴の情報を元に、ウインドウを新規作成する。 ||ELSE (コマンドラインから開く) |||・指示されている文字コードで、ウインドウを新規作成する。--- @ ||| 履歴の文字コード情報を更新する ||ENDIF |ENDIF ELSE-IF 開き直す(W)から開く(文字コード指定) == TRUE | ・指示されている文字コードで、表示し直す | ステータスバーと、履歴の文字コード情報を更新する ELSE |(省略) ENDIF ----- @ ファイルが存在しない時は「前回と異なる文字コード」の問い合わせは必要無い? 既に、コマンドラインで文字コードを指定・指示している為。