構成ファイルを使用してWindowsデスクトップアプリケーションの設定を保存する一般的な方法は何ですか?設定はランタイムでのみ変更できますが、オプションでファイルで変更できますか?はいの場合、このオプションをユーザーに提供する方法は? (詳細は以下)
Delphi 7で古いスタイルのWindowsデスクトップアプリケーションを開発しています。アプリケーションには、実行時に使用されるいくつかの設定パラメータがあります。アプリケーションには設定ダイアログウィンドウがあり、パラメータは最初に構成(XML)ファイルから読み込まれ、メモリにキャッシュされます。
元々は、現在のランタイムセッションに対してのみパラメーターを変更する可能性がありました。後で、ユーザーが「なんとかして」オプション/明示的に変更を構成ファイルに保存できるようにするための要件を受け取りました。
私は次の方法で実装しました:ユーザーが変更を実行してから[OK]ボタンをクリックすると、ファイルの設定も変更するかどうかを尋ねる他のダイアログが開きます。サブフォルダに適用するかどうかを尋ねるために開かれた)
そのようなロジックを実装するためのより良い..または正しい/正しい方法はありますか?
問題は、ユーザーエクスペリエンスではなく技術的な実装を見ていることだと思います。ユーザーは通常、どこに保存されているか、どのように保存されているかは気にせず、保存されていることだけを気にします。したがって、ユーザーにファイルの処理を要求する代わりに、ユーザーがファイルの保存を期待していると想定します。その後、それらを保存する場所を選択します。バージョン管理システムを使用して、少なくとも以前に保存された状態を維持します。次に、「以前の設定を使用しますか?」または「最後の変更を元に戻しますか?」、または「デフォルトにリセットしますか?」
ユーザーが[OK]ボタンをクリックした後にポップアップが表示される代わりに、[設定]ウィンドウ内に[変更を構成ファイルに保存する]チェックボックスを追加すると、ユーザーエクスペリエンスが向上します。ユーザーエクスペリエンスの利点は次のとおりです。1。OKアクションの後に迷惑なポップアップはありません。 2.ユーザーが[設定]にいるときに、可能なすべてのオプションを提示します。 3.クリック数を減らします。
これは、Microsoft Wordが「normal.dotテンプレートへの変更を保存しますか?」と尋ねたときの動作に似ていると思います。またはそのようなもの。これにより、Microsoft Word 可能性がない、および可能が、変更を将来のドキュメントのデフォルトとして保存します(最初は明確にされなかった場合でも、一体何がnormal.dotでしたか?)。これを実装する最良の方法は、次のものを保持/保持する必要があるということです。
既に使用している質問ボックスに次のように変更します。「このセッションにのみ適用しますか、それとも今後のセッションのデフォルトにしますか?」 「このセッションのみ」、「今後のセッションも」、「キャンセル」の3つのボタンを指定します。
ダイアログボックスにチェックボックスを追加します。「もう聞かないでください(設定で変更できます)」。
設定ウィンドウにチェックボックスを追加します。「設定の適用方法について自分の好みについて尋ねてください。」
リクエストに従って、回答としての私のコメント。
Windowsでは、設定を変更するときにこれらの設定が保持されるのが一般的です。
つまり、新しい設定は、アプリケーションの停止と起動を存続させる必要があります。そしてそれは一般にそれらをファイルまたはデータベースに保存することを意味します。
率直に言って、私はあるセッションから次のセッションまで私の設定を覚えていないアプリケーションを呪い、そしておそらく削除します。