昨日、Skypeログが.sqliteに保存されていることを突然知りました。 まあ、私は週末のレッスンがあると思った。
今日、私はハブに目を向け、ベース自体の説明に特化した
トピック -
トピックを見つけました。また、このまさにベース-
トピックとSkypeLogViewerの言及を復元しました。 素晴らしい、私は別の硬い自転車を書く時が来たと思った。
アイデアは簡単です:luaを使用してチャットを選択およびフィルタリングするのは、lua、sqlクエリ、およびlinqのluaアナログを少し練習したい人や、標準のSkype検索に慣れていない人向けです。 アプリケーション自体はC#(WPF)で記述されています。
何が起こった-カットの下を見てください。
それでは、簡単なものから始めましょう-luaとsqliteで動作するために必要なライブラリを接続します。
選択はそれぞれNLuaとSystem.Data.Sqliteに当てはまりました。 インストールにはNuGetを使用します。
インストールパッケージnlua
インストールパッケージsystem.data.sqlite
便宜上、すべての消防士のために、luaの小さなラッパークラスを作成します
public class LuaLogic { public Lua lua = new Lua();
そして、はい、多くの人が例外をスローすべきだと考えていることを知っています-この特定のケースではこれの必要性が見えないだけです。
ここではコードで使用されるGUI要素の説明があるため、GUIのマークアップを投稿しません。
出力-下品なジョークやアスキーアートなど、あらゆる種類の情報を出力するためのRichTextBox
runlua-ボタン。luaコードを実行します。 実際には、
FileSystemWatcherを使用してファイルを変更することで一時停止でき
ますが、これはすべてのユーザー向けではありません
アカウント-ComboBox。コンピューターにログオンしたことのあるSkypeユーザーを一覧表示します。
それでは、コードに移りましょう。 ヘルパー関数から始めましょう。
static LuaLogic logic = new LuaLogic(); public string current_path = ""; private List<Dictionary<string, object>> data;
そして今-アプリケーションロジック!
public MainWindow() { InitializeComponent();
まあ、軽食のために-ルアコード。
pseudolinq.lua
LinqArray = {} function LinqArray:new( arr ) Ret = {} Ret.arr = arr; setmetatable( Ret , self ) self.__index = self; return Ret; end
script.lua
function search_pattern()
フィルターについて詳しく説明します。
一般に、linqのような形式で行う必要はなく、フィルター自体はリクエストで作成できますが、これは「異常なプログラミング」ハブであるため、明らかでない何かを追加する必要があります。
停止が完了しました。
原則として、それだけです。
ご清聴ありがとうございました!