ファイル名を指定して実行(Windowsキー + R)を開く
以下のコマンドを実行
shell:sendto
便利なので、是非、試してみて下さい。
| イベント | 説明 |
|---|---|
| Resize | コントロールのサイズが変更された時に発生。 |
| SizeChanged | Sizeプロパティが変更されたときに発生。 |
| Layout | コントロールが配置し直す時に発生。 |
上記の説明では、イマイチ違いが解らないので、実際に発生の順序の違いを調べました。
●ユーザのマウス操作でFormサイズを変更した場合
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
●プログラミングでSizeプロパティを変更した場合
this.Size = new Size(300, 100);
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
●プログラミングでHeightプロパティを変更した場合
Form.Height += 100;
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
結果は、どれも同じ順序で発生することが解りました。
なお、Microsoftのドキュメントでは、「Layoutイベントを使用してカスタムレイアウトを処理すること」をお勧めしています。
q:
コマンドウィンドウが開くと通常のコマンドモード時の操作が可能になります。
カーソルを再実行したい行に移動してEnterを押下すると再実行されます。
q/
または、
q?
カーソルを再検索したい行に移動してEnterを押下すると再検索されます。
:q
便利なので、是非、試してみて下さい。
以下のSampleのとおり、TextExtractor.Extract()メソッドで、ファイル内の文字列を取得できます。
※Shift-Jisのテキストファイル(.txt)は、UTF-8に変換しないと抽出に失敗するので要注意。
public void TikaExtractorTest() {
var txtExtractor = new TextExtractor();
var path = @"C:\Temp\Test.xlsx";
var content = txtExtractor.Extract(path);
Debug.WriteLine(content.Text);
}
以下のSampleのとおり、ReadJEnc.JP.GetEncoding()メソッドで文字コードを自動判定することができます。
ShiftJIS
ポイントは、以下の2点です。
public void LongPointTest() {
var analyzer = new WhitespaceAnalyzer();
var iwc = new IndexWriterConfig(analyzer);
iwc.SetOpenMode(IndexWriterConfigOpenMode.CREATE);
//テスト用インデックス作成---------------------------------------------
DateTime baseDate = DateTime.Parse("2020/07/16 08:00:00");
var ram = new RAMDirectory();
var writer = new IndexWriter(ram, iwc);
try {
for (int i = 0; i < 10; i++) {
var doc = new Document();
doc.Add(new TextField("text", "hoge foo", FieldStore.YES));
DateTime tmp = baseDate.AddDays(i);
long l = long.Parse(tmp.ToString("yyyyMMddHHmmss"));
//日付文字列をlong値で保持
doc.Add(new LongPoint("date", l));
//long値をストアするには、同じフィールド名でStoredFieldとして指定する必要がある。
doc.Add(new StoredField("date", l));
writer.AddDocument(doc);
}
} finally {
writer.Close();
}
//検索------------------------------------------------------------
TermQuery tq = new TermQuery(new Term("text", "foo"));
//日付範囲の条件
Query rq = LongPoint.NewRangeQuery("date", 20200717000000, 20200719000000);
BooleanQueryBuilder b = new BooleanQueryBuilder();
b.Add(tq, BooleanClauseOccur.MUST); //AND条件
b.Add(rq, BooleanClauseOccur.FILTER); //AND条件(スコアリングに関与しない)
Query q = b.Build();
DirectoryReader dr = DirectoryReader.Open(ram);
IndexSearcher searcher = new IndexSearcher(dr);
ScoreDoc[] hits = searcher.Search(q, 100).ScoreDocs;
for (int i = 0; i < hits.Length; i++) {
var doc = searcher.Doc(hits[i].Doc);
Debug.WriteLine(DateTime.ParseExact(doc.Get("date"), "yyyyMMddHHmmss", null));
}
}
2020/07/17 8:00:00
2020/07/18 8:00:00
エラー箇所にジャンプ 「Ctrl + Shift + F12」 ブレークポイント 設定/解除 「F9」 有効化/無効化 「Ctrl + F9」 ViEmu特有 「:ls」:バッファナンバーのリストを表示。 「:b2」:バッファ2のファイルを開く。 「:n」:次のバッファのファ...