2

このライブラリhttp://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Libraryを使用してマクロを記録しています。「イベント」をテキストファイルに保存して後でロードする方法を知りたいですか?

だから、ここにリストがあります:

List<MacroEvent> events = new List<MacroEvent>();

データをテキスト ファイルに取得するにはどうすればよいですか?

4

4 に答える 4

3

3つのオプションがあります。

  1. MacroEventをフォーマットされたテキストにエクスポートするには、ToString()メソッドを使用します。おそらく、デフォルトの実装をオーバーライドする必要があります。必要なすべての情報を必ず入力してください。そうしないと、後でそれらを取得できなくなります。次に、データをロードするためにファイルの読み取りと解析が必要になります。

  2. 組み込みの.netXMLシリアル化機能を使用します。書き込み/読み取り操作は簡単です。

    http://msdn.microsoft.com/en-us/library/ms950721.aspx

    http://support.microsoft.com/kb/815813

  3. 別のアプリケーションでデータを使用する予定がない場合は、BinarySerializerを使用してみませんか?断然最善の方法ですが、結果のファイルはテキスト形式にはなりません。

    http://www.codeproject.com/Articles/1789/Object-Serialization-using-C

于 2012-08-14T13:35:03.703 に答える
0

私が提案するのは、拡張メソッドを使用することです。については何も知りませんMacroEventし、Code Project からコードをダウンロードして見てみるつもりもありませんが、次のようになります。

public static class MacroEventExtensions
{
    public static void WriteToFile(this List<MacroEvent> events, string path)
    {
        StringBuilder fileContents = new StringBuilder();
        foreach (var e in events)
        {
            fileContents.AppendLine("{0}::{1}",
                [some event id from the object],
                [some event message from the object]);
        }

        File.WriteAllText(path, fileContents.ToString());
    }
}

次に、上記のコードで次のように呼び出します。

events.WriteToFile([some path])
于 2012-08-14T13:25:37.307 に答える
0

使用可能なメソッドがある場合MacroEventは、リストを反復処理してテキスト ファイルに出力するだけです。ToString()

于 2012-08-14T13:22:38.740 に答える
0
TextWriter tw = new StreamWriter("myFile.txt");
foreach (MacroEvent item in events)
{
    tw.WriteLine(item.ToString());   
}
tw.Close();
于 2012-08-14T13:23:48.483 に答える