Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
11 / 114 ツリー <前へ | 次へ>

〔974〕ACFinder 090801test版 kabe (09/08/01 22:54)

〔1016〕Re:ACFinder 090815版 Hidemi Oya (09/08/16 18:56)
〔1017〕Re:ACFinder 090815版 Hidemi Oya (09/08/16 19:28)
〔1018〕Re:ACFinder 090815版 kabe (09/08/18 22:16)
〔1019〕ACFinder 090823版 kabe (09/08/23 17:29)
〔1020〕Re:ACFinder 090823版 Hidemi Oya (09/08/23 23:04)

〔1016〕Re:ACFinder 090815版
 Hidemi Oya WEB  (09/08/16 18:56)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>090815版を公開しました。
 ありがとうございます。薬剤タブのリストボックスをキーボードで選択するのが、とっても楽になりました。薬剤タブ全体の表示速度もかなり速くなったような感じがしますが、これでも OnClick 時の表示ではもっさりします?
 ところで、上下端でさらに↑↓キーを押したり、現在表示中のアイテムをマウスで再選択すると再表示されるので、[#1012] の方法でしょうか?

>ログペインの更新時、TMemo に BeginUpdate 〜 EndUpdate を入れると、最下行にスクロールできず(カーソル位置の設定が無視される?)、この処理は入れていません。
 下記のようにすれば解決できます。EndUpdate の前にスクロール可能な案3が速いかと思ったんですが、どれでも実行速度は変わりませんでした。

案1
Memo1.Lines.BeginUpdate;
Memo1.Lines.Add(....);
 …
Memo1.Lines.EndUpdate;
Memo1.SelLength := 0;

案2
Memo1.Lines.BeginUpdate;
Memo1.Lines.Add(....);
 …
Memo1.Lines.EndUpdate;
Memo1.Perform(EM_LINESCROLLCARET, 0, 0);

案3
Memo1.Lines.BeginUpdate;
Memo1.Lines.Add(....);
 …
Memo1.Perform(EM_LINESCROLL, 0, Memo1.Perform(EM_GETLINECOUNT, 0, 0));
Memo1.Lines.EndUpdate;

〔1017〕Re:ACFinder 090815版
 Hidemi Oya WEB  (09/08/16 19:28)

引用なし
   訂正です(^_^;)。

案2
誤: Memo1.Perform(EM_LINESCROLLCARET, 0, 0);
正: Memo1.Perform(EM_SCROLLCARET, 0, 0);

〔1018〕Re:ACFinder 090815版
 kabe  (09/08/18 22:16)

引用なし
   >Hidemi Oyaさん

kabe です。

> ところで、上下端でさらに↑↓キーを押したり、現在表示中のアイテムをマウスで再選択すると再表示されるので、[#1012] の方法でしょうか?
すいません。
FList1Selectd := ListBox1.ItemIndex;
を入れ忘れてました。

>Memo1.SelLength := 0;
これを入れるだけで良かったとは…

次バージョンで反映させます。

〔1019〕ACFinder 090823版
 kabe  (09/08/23 17:29)

引用なし
   kabe です。

090823版を公開しました。
http://acfinder.kabe.info/

薬剤タブの薬剤リストを上下キーで移動する際の検索タイミングを変更しました。
直前に選択した薬剤を再検索しないように修正しました。

ログペインの更新時に、表示を早くするよう修正していますが、(BeginUpdate〜EndUpdate)体感の程は不明です。

各タブの検索中にボタン類を無効にするよう修正しています。

〔1020〕Re:ACFinder 090823版
 Hidemi Oya WEB  (09/08/23 23:04)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>090823版を公開しました。
 ありがとうございます。あまり使う人はいないでしょうが、SQL タブで時間のかかる検索を実行しているときも、これで安心ですね。検索結果がない場合も、実行時間はダイアログの OK ボタンを押すまでの時間じゃなく、実際の検索実行時間が表示されるようになったんですね。

>ログペインの更新時に、表示を早くするよう修正していますが、(BeginUpdate〜EndUpdate)体感の程は不明です。
 現状では、ログペインへの書込のたびに EndUpdate を実行してませんか? これを、各タブで全ての検索が終了してから EndUpdate を実行するようにすれば、 体感できるようになると思います。何らかの理由で Exit で抜け出す場合も、finally 節に EndUpdate を入れておけば OK です。
 ただ、前にも書きましたが、自宅マシンだと現状でも薬剤タブのリストボックスは OnClick で検索しても大丈夫じゃないかと思えるくらい高速化されてますけどね。

Log.Lines.BeginUpdate;
try // この節以降は必ず finally が実行される
 …
if (…) then Exit; // この場合 finally にジャンプする
Log.Lines.Add(…);
 …
Log.Liens.Add(…);
 …
finally
Log.Lines.EndUpdate;
Log.SelLength := 0;
end;

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
11 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.