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

研究会

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

〔519〕ACFinder 061029版 kabe (06/10/29 21:59)
〔520〕Re:ACFinder 061029版 Hidemi Oya (06/10/29 23:53)
〔522〕Re:ACFinder 061029版 Hidemi Oya (06/10/31 9:51)
〔521〕xls->acis.db 変換は 25 %増 Hidemi Oya (06/10/31 0:05)
〔523〕2006年11月1日登録反映分が自動更新されない Hidemi Oya (06/11/06 9:54)
〔525〕自宅では OK Hidemi Oya (06/11/06 23:29)
〔528〕キャッシュのクリアが簡単か Hidemi Oya (06/11/07 9:41)
〔529〕Re:2006年11月1日登録反映分が自動更新されな... kabe (06/11/07 13:33)
〔532〕IE キャッシュの自動削除 Hidemi Oya (06/11/07 16:52)
〔526〕データベースコピー大好評 Hidemi Oya (06/11/06 23:37)
〔530〕データ更新確認ダイアログが毎回出る不具合あ... kabe (06/11/07 14:00)
〔533〕Re:データ更新確認ダイアログが毎回出る不具... Hidemi Oya (06/11/07 17:24)
〔534〕HTTP レスポンスヘッダで解決できそう Hidemi Oya (06/11/10 0:33)
〔535〕Re:HTTP レスポンスヘッダで解決できそう kabe (06/11/11 9:18)
〔538〕Re:HTTP レスポンスヘッダで解決できそう Hidemi Oya (06/11/11 11:54)
〔539〕Re:HTTP レスポンスヘッダで解決できそう Hidemi Oya (06/11/12 0:45)
〔541〕Re:HTTP レスポンスヘッダで解決できそう Hidemi Oya (06/11/16 22:31)
〔542〕Re:HTTP レスポンスヘッダで解決できそう kabe (06/11/17 22:11)
〔527〕薬剤タブで表示できない農薬がある Hidemi Oya (06/11/07 9:26)
〔531〕Re:薬剤タブで表示できない農薬がある kabe (06/11/07 14:14)

〔519〕ACFinder 061029版
 kabe WEB  (06/10/29 21:59)

引用なし
   kabe です。

061029版です。
http://acfinder.kabe.info/

同梱の sqlite3.dll を 3.3.8に変更しました。

希釈倍数使用量や使用方法、濃度などの半角カタカナを全角カタカナに変換するよう修正しました。これによりデータベース更新時間がやや遅くなりました。

微生物農薬の濃度で[×]が[ラ]と文字化けしていた不具合を修正しました。

グリッド上でポップアップメニューからコピーを選択した場合に、右クリック時にマウスカーソルのあるセル値をコピーするよう修正しました。

その他[#508]の修正を行いました。
[#509]の“京都微研"の表示を“京都微研”に変更しています。

〔520〕Re:ACFinder 061029版
 Hidemi Oya WEB  (06/10/29 23:53)

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

 毎度素早いバージョンアップありがとうございます。[#509] 関係はきっちり修正されていることを確認しました。[#508] 関係に関しては、後日事務所で確認します。

>私の使っている Xbiffのバージョンが古かったようです。
 なるほど、こいつはうっかりしてました。Delphi のライブラリを疑う前に、まずそっちでしたね。

〔521〕xls->acis.db 変換は 25 %増
 Hidemi Oya WEB  (06/10/31 0:05)

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

>希釈倍数使用量や使用方法、濃度などの半角カタカナを全角カタカナに変換するよう修正しました。これによりデータベース更新時間がやや遅くなりました。
 今回は、自宅マシンで「xls->acis.db 変換」が 30秒強なので、いままでより6秒強増えたことになります。半角カタカナ→全角カタカナ変換で 25 %強の処理時間の増大ってところですね。以前に比べると十分高速ですが、いままでが速かったので、やはり体感速度も遅くなった感じがします。

 xls ファイルの読み方がだんだん分かってきました。CSV かタブ区切りテキストなら、行ごとに INSERT 文に変換して SQLite に書き込むだけですむので、より高速化できるかもしれませんね。

〔522〕Re:ACFinder 061029版
 Hidemi Oya WEB  (06/10/31 9:51)

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

>[#508] 関係に関しては、後日事務所で確認します。
 確認しました。ACFinder の確認ダイアログだけ表示され、Windows の確認ダイアログは表示されなくなりました。

 ところで、現在は LAN からのコピーであっても、データベースの更新を info.LastUpdate の値で判定していますが、これだと今回のようにサーバのデータを手動で更新した場合は端末側のデータベースが更新されません。LAN からのコピーの場合は、データベースファイルのタイムスタンプも含めてデータベースの更新判定を行った方が良さそうです。

〔523〕2006年11月1日登録反映分が自動更新されない
 Hidemi Oya WEB  (06/11/06 9:54)

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

 薬検のダウンロードページで現在公開されている「2006年11月1日登録反映分(2006年10月失効も反映しています)」が自動更新されません。ダウンロードページの HTML 内に、前回のタイトル「2006年10月18日登録反映分」がコメントとして残ってるせいですかねえ?

〔525〕自宅では OK
 Hidemi Oya WEB  (06/11/06 23:29)

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

 事務所のファイルサーバでは自動更新されませんでしたが、自宅マシンでは OK でした。ダウンロードページの HTML を確認したら、「2006年10月18日登録反映分」がコメントアウトされてるのも同様です。
 事務所のファイルサーバは、10/31 に 061029 版を入れてデータベースを手動更新したので、もしかしたらダウンロードページの本体ではなくキャッシュを読みに行ったのかもしれませんね。

 proxy の設定をしていない場合は、ダウンロードページの取得も TUrlDownload ですよね? URLDownloadToFile API はキャッシュ使用の有無などの制御ができないので、ページ取得に関しては、WinINet 系の API を組み合わせた関数を作った方が良いかもしれません。MSDN を見てると結構面倒くさそうなんですが、ちょっと考えてみます。

〔526〕データベースコピー大好評
 Hidemi Oya WEB  (06/11/06 23:37)

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

 061029 版で、データベースコピー時の2重確認がなくなったことと、従来の更新方法では更新速度がやや遅くなったことから、事務所の PC は全て共有フォルダーからのコピーで使うようにしました。
 この体制にして初めて薬検のデータが変更され、私以外の職員は初めてのデータ更新だったわけですが、みんなから「更新が非常に速くなった」と大好評でした。

〔527〕薬剤タブで表示できない農薬がある
 Hidemi Oya WEB  (06/11/07 9:26)

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

 「サンケイマラソン乳剤」「三共スミチオン乳剤」「ミドリヒメ」のように、複数メーカーから同一名称異登録番号で登録されている農薬が、薬剤タブの農薬選択コンボボックスで登録番号が小さい方しか選択できません。登録基本部に関しては略称以外の内容は同じなのであまり問題はありませんが、登録番号が異なる「サンケイマラソン乳剤」や「三共スミチオン乳剤」は登録番号違いで適用が微妙に異なるので、片方の適用が見られないのはちょっと困ることがあるかも…。
 農薬選択コンボボックスは、登録番号と名称の2列表示にして、同一名称異登録番号の農薬を全て列挙してもらった方が良さそうです。

 それと、農薬タブに関しては、登録番号からダイレクトに基本情報や適用を確認できる機能があると、使い方によっては便利なことがあるかもしれません。

〔528〕キャッシュのクリアが簡単か
 Hidemi Oya WEB  (06/11/07 9:41)

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

> proxy の設定をしていない場合は、ダウンロードページの取得も TUrlDownload ですよね? URLDownloadToFile API はキャッシュ使用の有無などの制御ができないので、ページ取得に関しては、WinINet 系の API を組み合わせた関数を作った方が良いかもしれません。MSDN を見てると結構面倒くさそうなんですが、ちょっと考えてみます。
 キャッシュの問題なら、TUrlDownload でダウンロードページを取得する前に、
DeleteUrlCacheEntry(PChar(URL));
でダウンロードページのキャッシュを削除してしまうのが手っ取り早そうです。

〔529〕Re:2006年11月1日登録反映分が自動更新され...
 kabe WEB  (06/11/07 13:33)

引用なし
   >Hidemi Oyaさん

kabe です。

今、確認しました。
私の使っている職場のPCでも、同様の症状です。
IEでもダウンロードページを開くと古いページのままでした。
IEで再読み込みしてから、DBフォルダの update.htm を削除して再度ACFinderを起動するとデータ更新を促しますが、ダウンロードファイルそのものも残っており、1回全てのキャッシュを消さないと正常に更新できない状態です。
PCによって挙動が異なるようなので困りますね。

手動で強制的にキャッシュを削除できるようにしたいと思います。

〔530〕データ更新確認ダイアログが毎回出る不具合...
 kabe WEB  (06/11/07 14:00)

引用なし
   kabe です。

11月1日登録反映分のデータを更新しても、ACFinder起動時にデータ更新確認ダイアログが表示されてしまいます。
現在データ:平成18年10月失効分及び平成18年11月1日登録判定
更新データ:2006年11月1日登録反映分(2006年10月失効も反映しています)
のように。

更新データの有無の判定は農薬検査所のダウンロードページの
「2006年11月1日登録反映分(2006年10月失効も反映しています)」
の部分とデータベースに保存している更新日を比較していますが、データベースの方はExcelファイル中にある
「本ファイルは、「平成18年10月失効」分及び「平成18年11月1日登録」分を反映した農薬登録情報です。」
から取得して保存しており、今回のような文字列の組み合わせになってしまった場合には毎回、データ更新があったと判断してしまいます。(^^;

ダウンロードページから取得した情報をデータベースに保存してもいいのですが、キャッシュからダウンロードした場合などを想定すると、正確な更新情報はExcelファイルから取得する方が安全です。
いずれ何らかの対策したいと思いますが、当面、毎回キャンセルで対応お願いします。

> この体制にして初めて薬検のデータが変更され、私以外の職員は初めてのデータ更新だったわけですが、みんなから「更新が非常に速くなった」と大好評でした。
上記のような不具合で、データ更新専用モードで起動した場合、もしかしてサーバの方は、毎回データ更新してませんか?

〔531〕Re:薬剤タブで表示できない農薬がある
 kabe WEB  (06/11/07 14:14)

引用なし
   >Hidemi Oyaさん

kabe です。

> 「サンケイマラソン乳剤」「三共スミチオン乳剤」「ミドリヒメ」のように、複数メーカーから同一名称異登録番号で登録されている農薬が、薬剤タブの農薬選択コンボボックスで登録番号が小さい方しか選択できません。
あ〜。そうか。そこまでは想定していませんした。
登録番号と農薬名の2列表示にするよう修正します。

〔532〕IE キャッシュの自動削除
 Hidemi Oya WEB  (06/11/07 16:52)

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

>PCによって挙動が異なるようなので困りますね。
 以前は、HTTP レスポンスヘッダか HTML のメタタグにキャッシュコントロールが書かれていたような気がしますが、現在はいずれも無しです。このため、proxy 側のキャッシュ設定が挙動に影響している可能性もありますね。

>手動で強制的にキャッシュを削除できるようにしたいと思います。
 IE のキャッシュクリアだけでダウンロードできるなら、とりあえず proxy のキャッシュ設定は無視できそうです。IE のキャッシュを削除するだけなら、次のような方法で自動処理できると思います。なお、DeleteUrlCacheEntry を使用するためには、
uses WinInet;
が必要です。

1. 下記によりダウンロードページのキャッシュを削除
 DeleteUrlCacheEntry(PChar(DownloadPageUrl));
2. ダウンロードページを取得
3. ダウンロードページが更新されていたら、4 以降を実行
4. 下記によりダウンロードファイルのキャッシュを削除
 DeleteUrlCacheEntry(PChar(KihonLzhUrl));
 DeleteUrlCacheEntry(PChar(Tekiyo2LzhUrl));
 DeleteUrlCacheEntry(PChar(Tekiyo2LzhUrl));
 DeleteUrlCacheEntry(PChar(Tekiyo3LzhUrl));
 DeleteUrlCacheEntry(PChar(Tekiyo4LzhUrl));
5. ダウンロードファイルを取得

〔533〕Re:データ更新確認ダイアログが毎回出る不...
 Hidemi Oya WEB  (06/11/07 17:24)

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

>上記のような不具合で、データ更新専用モードで起動した場合、もしかしてサーバの方は、毎回データ更新してませんか?
 サーバの方は見てなかったんですが、update.html や *.lzh のタイムスタンプを確認したら、おっしゃるとおり今朝の起動時の時刻になっていました。

>ダウンロードページから取得した情報をデータベースに保存してもいいのですが、キャッシュからダウンロードした場合などを想定すると、正確な更新情報はExcelファイルから取得する方が安全です。
 たまたま、CRON ジョブで更新データの自動ダウンロード試験をやってるときだったんですが、10/11 か 10/18 更新分で、実際にダウンロードページのデータ日付の更新ミスがありました。午前中にダウンロードページのレスポンスヘッダで Last-Modified が書き換わってたんですが、HTML のデータ日付は前回のままで、でも LZH には新しいデータが入ってました。「あれ〜?」と思っていたら、夕方には HTML のデータ日付が更新されてました。
 ただ、逆に xls ファイル内の更新日付シートに誤記載がある可能性も否定はできません。あるいは、特定 LZH ファイルだけアップロードし忘れるなんてこともあり得そうです。
 こういったことを考えると、ダウンロードページ、各 XLS ファイルの更新日付シートの更新情報は、全て生で保存しておいて、ユーザが適宜確認できるようにした方が良いかもしれませんね。

 なお、更新情報の比較に関しては、xls ファイルの更新日付シートを正規化しているのと同様に、HTML の更新情報も正規化して比較するしかなさそうです。

〔534〕HTTP レスポンスヘッダで解決できそう
 Hidemi Oya WEB  (06/11/10 0:33)

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

>「本ファイルは、「平成18年10月失効」分及び「平成18年11月1日登録」分を反映した農薬登録情報です。」
>から取得して保存しており、今回のような文字列の組み合わせになってしまった場合には毎回、データ更新があったと判断してしまいます。(^^;
 キャッシュをバイパスして本体から HTTP レスポンスヘッダを取得する関数が、思ったよりも簡単に作れてしまいました。ダウンロードページもダウンロードファイルも、HTTP レスポンスヘッダに Last-Modified と ETag が入っているので、前回受信時の Last-Modified または ETag の値を INI ファイル等に保存しておけば、現在のファイルが前回と異なるかどうかが簡単に判定できます。
 HTTP レスポンスヘッダを取得関数を TUrlDownload コンポーネントに組み込んで、Last-Modified や ETag が変更されている場合のみダウンロードするオプションを簡単に付加できます。ついでに、ダウンロード前にキャッシュを削除するオプションも追加すれば、[#523], [#530] の両方の問題を一気に解決できます。
 また、この方法なら、[#533] で書いたようなミスにも対応できるという利点があります。

 ってことで、近々新しい UrlDl.pas を送りますので、ご利用ください。

〔535〕Re:HTTP レスポンスヘッダで解決できそう
 kabe WEB  (06/11/11 9:18)

引用なし
   >Hidemi Oyaさん

kabe です。

> キャッシュをバイパスして本体から HTTP レスポンスヘッダを取得する関数が、思ったよりも簡単に作れてしまいました。ダウンロードページもダウンロードファイルも、HTTP レスポンスヘッダに Last-Modified と ETag が入っているので、前回受信時の Last-Modified または ETag の値を INI ファイル等に保存しておけば、現在のファイルが前回と異なるかどうかが簡単に判定できます。
人間が書いた文字列を比較するよりは、どう考えてもこちらの方がスマートですね。

> また、この方法なら、[#533] で書いたようなミスにも対応できるという利点があります。
ということはダウンロードページ自体をチェックするのは意味がなく、5つのLZHファイルの更新の有無をそれぞれチェックした方がいいですね。

> ってことで、近々新しい UrlDl.pas を送りますので、ご利用ください。
よろしくお願いします。

〔538〕Re:HTTP レスポンスヘッダで解決できそう
 Hidemi Oya WEB  (06/11/11 11:54)

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

>人間が書いた文字列を比較するよりは、どう考えてもこちらの方がスマートですね。
 おまけに、こちらの方法なら、HTTP ヘッダを取得する際のリクエストヘッダに、If-Modified-Sice フィールドに Last-Modified の値、あるいは If-None-Match フィールドに ETag の値を入れておけば、HTTP サーバが更新したかどうかを自動的に判断してくれるので、これらの比較ルーチンを Delphi で書く必要がないというメリットもあります。

>ということはダウンロードページ自体をチェックするのは意味がなく、5つのLZHファイルの更新の有無をそれぞれチェックした方がいいですね。
 と思ってたんですが、毎回5つのファイルの HTTP ヘッダを取得するのもいかがなものかという感がなきにしもあらずですね。
 9月にクロールピクリンの適用データにバグがあったとき、JPP-NET はデータをすぐ修正しましたが、薬検は検索データベースも Excel ファイルも次の登録変更までデータを修正しませんでした。ダウンロードページが更新されてないのに、LZH ファイルだけが密かに更新される可能性は極めて低そうです。
 ってことで、LZH ファイルが更新されているかどうかの判定にはダウンロードページの Last-Modified を利用するってのが良さそうです。

〔539〕Re:HTTP レスポンスヘッダで解決できそう
 Hidemi Oya WEB  (06/11/12 0:45)

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

> ってことで、近々新しい UrlDl.pas を送りますので、ご利用ください。
 もうとっくにできてるはずだったんですが、事務所では問題なく動作するプログラムが、なぜか自宅ではうまく動いてくれません。自宅では、一度 UrlDownloadToFile を実行した後に、新しい URL の HTTP レスポンスヘッダを取得しようとすると、ステータスコードが 404 (File Not Found) になってしまいます。
 ウィルスセキュリティのせいかなと思ったんですが、これを外しても同じです。Proxy がない環境の方が思った通りの動作をしないってのは一体…???

 ってことで、新しい UrlDl.pas はちょっとかかるかもしれません。

〔541〕Re:HTTP レスポンスヘッダで解決できそう
 Hidemi Oya WEB  (06/11/16 22:31)

引用なし
   自己レスです。

>自宅では、一度 UrlDownloadToFile を実行した後に、新しい URL の HTTP レスポンスヘッダを取得しようとすると、ステータスコードが 404 (File Not Found) になってしまいます。
 とりあえず、UrlDownloadFile の代わりに InternetReadFile を使うことで解決できました。自宅でも事務所でも OK です。
 VCL としてほとんどできあがっていますが、受信バッファサイズなど若干のチューニングが必要な感じです。

 新バージョンでは、[#533] のようにダウンロードページの修正のためにダウンロードページだけ更新され、LZH ファイルは変更無しというケースが発生しても、LZH ファイルはダウンロードしないという使い方が可能です。

>kabe さん
 新バージョンは、今度の日曜日までには送れると思います。先日メールした中間バージョンは、捨ててください。

〔542〕Re:HTTP レスポンスヘッダで解決できそう
 kabe WEB  (06/11/17 22:11)

引用なし
   >Hidemi Oyaさん

kabe です。

> 新バージョンは、今度の日曜日までには送れると思います。先日メールした中間バージョンは、捨ててください。
実はまだほとんど、手をつけていませんでした。
今週末から来週にかけても、あまり時間がとれそうにないので、ACFinder 本体のバージョンアップは遅れそうです。

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