このライブラリhttp://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Libraryを使用してマクロを記録しています。「イベント」をテキストファイルに保存して後でロードする方法を知りたいですか?
だから、ここにリストがあります:
List<MacroEvent> events = new List<MacroEvent>();
データをテキスト ファイルに取得するにはどうすればよいですか?
このライブラリhttp://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Libraryを使用してマクロを記録しています。「イベント」をテキストファイルに保存して後でロードする方法を知りたいですか?
だから、ここにリストがあります:
List<MacroEvent> events = new List<MacroEvent>();
データをテキスト ファイルに取得するにはどうすればよいですか?
3つのオプションがあります。
MacroEventをフォーマットされたテキストにエクスポートするには、ToString()メソッドを使用します。おそらく、デフォルトの実装をオーバーライドする必要があります。必要なすべての情報を必ず入力してください。そうしないと、後でそれらを取得できなくなります。次に、データをロードするためにファイルの読み取りと解析が必要になります。
組み込みの.netXMLシリアル化機能を使用します。書き込み/読み取り操作は簡単です。
別のアプリケーションでデータを使用する予定がない場合は、BinarySerializerを使用してみませんか?断然最善の方法ですが、結果のファイルはテキスト形式にはなりません。
http://www.codeproject.com/Articles/1789/Object-Serialization-using-C
私が提案するのは、拡張メソッドを使用することです。については何も知りません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])
使用可能なメソッドがある場合MacroEvent
は、リストを反復処理してテキスト ファイルに出力するだけです。ToString()
TextWriter tw = new StreamWriter("myFile.txt");
foreach (MacroEvent item in events)
{
tw.WriteLine(item.ToString());
}
tw.Close();