ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE ファイル検索「LynSearch」 /りんくす (02/07/23(Tue) 10:21) [1098]
......MESSAGE Re[1]: ファイル検索「LynSearch」 /moka (02/07/23(Tue) 10:56) [1099]
............MESSAGE 修正&ちょっとバージョンアップ。 /りんくす (02/07/23(Tue) 17:27) [1103]


親記事 / ▼[ 1099 ]
NO.1098  ファイル検索「LynSearch」
□投稿者/ りんくす -(2002/07/23(Tue) 10:21:16)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】LynSearch (バージョン 0.05)
【作 成 者】りんくす (連絡先:toysmoon@geocities.co.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.54
【転  載】可/(転載条件:作者にメールで連絡すること)
【改変運用】可/
【ひまわり本体への梱包】可/
【実行時に利用作成するファイル】無
【コメント】mokaさんのフォルダ検索を、参考にさせていただきました。というか、簡素化して検索対象をファイルにしてしまっただけなのですが。。。(^^;)(断りもなくすみません。不愉快でしたら削除しますので。。。)Winの付属のファイル検索だと、全角半角をきっちり見分けてしまうので、全角半角が混在したファイル名の検索はできないので、個人的に不便だと感じたので作ってみました。
---投稿フォームここまで---}

母艦の、タイトルは、LynSearch。
   その、幅は、500
   その、高さは、350
灰色で、画面クリア。
   その、リサイズは、オフ。
文字サイズは、10。
母艦を、中央へ移動。

検索フォルダラベルを、ラベルとして、作成。
   その、サイズは、(10,10,100,25)
   その、クリックした時は、フォルダ追加。
文字サイズは、10。
検索フォルダリストを、リストとして、作成。
   その、ファイルドロップは、オン。
   その、サイズは、(10,25,250,75)
   その、ダブルクリックした時は、フォルダ編集。

モードラベルを、ラベルとして、作成。
   その、サイズは、(255,10,445,25)
   その、テキストは、「単検索キーワード」。
キーワードコンボを、コンボとして、作成。
   その、サイズは、(255,25,445,50)

検索ボタンを、ボタンとして、作成。
   その、サイズは、(450,25,490,50)
   その、イベントは、検索開始。

検索結果ラベルを、ラベルとして、作成。
   その、サイズは、(10,85,100,100)
結果リストを、リストとして、作成。
   その、サイズは、(10,100,490,290)
   その、ダブルクリックした時は、ファイル閲覧。

フォルダを開くボタンを、ボタンとして、作成。
   その、イベントは、上位フォルダ。


検索オプションメニューを、メニュー作成。
   検索オプションメニューに、検索オプション0メニューを、メニュー追加。
      その、テキストは、「単検索」。その、値は、1。
      その、イベントは、検索オプションメニューイベント。
   検索オプションメニューに、検索オプション1メニューを、メニュー追加。
      その、テキストは、「AND検索」
      その、イベントは、検索オプションメニューイベント。
   検索オプションメニューに、検索オプション2メニューを、メニュー追加。
      その、テキストは、「OR検索」
      その、イベントは、検索オプションメニューイベント。

フォルダ選択メニューを、メニュー作成。
   その、クリックした時は、フォルダ追加。

ヘルプメニューを、メニュー作成。
   ヘルプメニューに、使い方メニューを、メニュー追加。
   その、イベントは、(
   文字サイズは、9。
『【1】検索フォルダをドロップ、または「検索フォルダ」のラベルをクリックして
   フォルダ選択で選ぶ。複数選択可。
リストを、ダブルクリックで、削除、クリア、編集が出来ます。

【2】検索オプションで、単検索、AND検索、OR検索から、選択できます。
   [単検索] ひとつのキーワードに該当するものを検索。
   [AND検索] 2つ以上のキーワードの、すべてに該当するものを検索。
   [OR検索] 2つ以上のキーワードの、どれかに該当するものを検索。
   AND検索、OR検索のときは、キーワードの間にスペースを入れてください。

【3】検索ボタンを押すと検索結果にヒットしたファイルがリストアップされます。

【4】検索結果のリストでファイルをダブルクリックすると、ファイルが開きます。
   また、ファイルを選択(色を反転)して「フォルダを開く」ボタンを押すと、
   そのファイルがあるフォルダを開けます。』と、言う。
      )
   ヘルプメニューに、バージョン情報メニューを、メニュー追加。
   その、イベントは、(
      「Lynsearch Ver0.05」&「\n」&「  りんくす作」と、言う。
       )

母艦浮上。
待機。

*検索開始
もし、キーワードコンボ=「」ならば、待機。
全対象リスト=「」
検索ファイル=「」
母艦は、「LynSearch - 検索中...」。
(検索フォルダリストの、アイテム)を、反復(
   対象フォルダは、それ。
   もし、RIGHT(検索パス、1)=『\』でなければ、
   対象フォルダ=対象フォルダ&『\』
   「{対象フォルダ}」の、全ファイル列挙。
   検索ファイルは、それ。
      検索ファイルを、反復(
      全対象リスト=全対象リスト&それ&「\n」
      )
)

'検索開始
結果リストの、アイテムは、「」。
検索キーワード=英数半角変換(キーワードコンボ)
もし、検索オプション=0ならば、検索_そのまま。
もし、検索オプション=1ならば、(
   検索キーワードを、「 」で、区切る。
   検索キーワードは、それ。
   検索_AND。
   )
もし、検索オプション=2ならば、(
   検索キーワードを、「 」で、区切る。
   検索キーワードは、それ。
   検索_OR。
   )
         
{履歴を重複チェックして追加}
履歴フラグは、オフ。
履歴は、(キーワードコンボの、アイテム)。
履歴を、反復(
   もし、それが、(キーワードコンボの、テキスト)ならば(
   履歴の、(回数-1)行目を、行削除。
   履歴フラグは、オン。抜ける。
   )
)
もし、履歴フラグならば、履歴は、それ。
履歴=(キーワードコンボの、テキスト)&「\n」&履歴。
キーワードコンボの、アイテムは、履歴。

それは、(結果リストの、アイテム)。要素数。
母艦は、「LynSearch - ヒット数=」&「{それ}/{要素数(全対象リスト)}中」
待機。

*検索_そのまま
全対象リストを、反復(
   s=それ。S=英数半角変換。
   Sの中で、検索キーワードが、何文字目。
   もし、それ>0ならば、
   結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
)
戻る。

*検索_AND
全対象リストを、反復(
   検索フラグ=0。s=それ。S=英数半角変換。
   検索キーワードを、反復(
      Sの中で、それが、何文字目。
      もし、それ>0ならば、検索フラグ=検索フラグ+1
      )
   もし、検索フラグ=要素数(検索キーワード)ならば、
   結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
)
戻る。

*検索_OR
全対象リストを、反復(
   s=それ。S=英数半角変換。
   検索キーワードを、反復(
      Sの中で、それが、何文字目。
      もし、それ>0ならば、(
      結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
      抜ける。
      )
   )
)
戻る。

*ファイル閲覧
「explorer {結果リストの、テキスト}」を、起動。
待機。

*上位フォルダ
「{結果リストの、テキスト}」から、パスを切り出す。
「explorer {それ}」を、起動。
待機。

*検索オプションメニューイベント
検索オプション0メニューの、値は、0。
検索オプション1メニューの、値は、0。
検索オプション2メニューの、値は、0。
イベントオブジェクトの、値は、1。
(イベントオブジェクトの、名前)の中で、8から、1つ、切り出す。
検索オプションは、それ。
もし、検索オプション=0ならば、(モードラベルの、テキストは、「単検索キーワード」。)
もし、検索オプション=1ならば、(モードラベルの、テキストは、「AND検索キーワード」。)
もし、検索オプション=2ならば、(モードラベルの、テキストは、「OR検索キーワード」。)
戻る。

*フォルダ追加
フォルダ選択。
もし、それが、「」ならば、待機。
検索フォルダリストの、アイテムは、(検索フォルダリストの、アイテム)&それ&「\n」
待機。

*フォルダ編集
「編集しますか?」を、「削除\n全消去\n修正」の、ボタンで選択。
もし、それが、「」ならば、待機。
もし、それが、削除ならば、(
   (検索フォルダリストの、アイテム)の、(検索フォルダリストの、値)行目を、行削除。
   検索フォルダリストの、アイテムは、それ。待機。)
もし、それが、全消去ならば、(
   検索フォルダリストの、アイテムは、「」。待機。)
もし、それが、修正ならば、(
   ダイアログ初期値=検索フォルダリストの、テキスト。
   「変更?」と、尋ねる。
      もし、それが、「」ならば、待機。
      検索フォルダリストの、テキストは、それ。待機。)



▲[ 1098 ] / ▼[ 1103 ]
NO.1099  Re[1]: ファイル検索「LynSearch」
□投稿者/ moka -(2002/07/23(Tue) 10:56:46)
□U R L/ http://www.geocities.jp/moka21/teatime/
おお、なかなかいいですね。
私のプログラムがお役に立てて良かったです。

検索結果にフルパスが表示されますが、
そのパスが「\\」となってしまってます。



▲[ 1099 ] / 返信無し
NO.1103  修正&ちょっとバージョンアップ。
□投稿者/ りんくす -(2002/07/23(Tue) 17:27:08)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】LynSearch (バージョン 0.08)
【作 成 者】りんくす (連絡先:toysmoon@geocities.co.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.54
【転  載】可/(転載条件:作者にメールで連絡すること)
【改変運用】可/
【ひまわり本体への梱包】可/
【実行時に利用作成するファイル】無
【コメント】mokaさんのフォルダ検索を、参考にさせていただきました。というか、簡素化して検索対象をファイルにしてしまっただけなのですが。ミスも見つけていただいて、mokaさんに感謝です。

Winの付属のファイル検索だと、全角半角をきっちり見分けてしまうので、全角半角が混在したファイル名の検索はできないので、個人的に不便だと感じたので作ってみました。
2002.7.24 結果でパスが「\\」となってしまうのを修正しました。
2002.7.25 大文字小文字も関係なく検索できるようにしました。
画面のサイズを変更できるようにしました。
---投稿フォームここまで---}

母艦の、タイトルは、LynSearch。
   その、幅は、500
   その、高さは、350
   灰色で、画面クリア。
   母艦の、変更した時は、リサイズ。
文字サイズは、10。
母艦を、中央へ移動。

検索フォルダラベルを、ラベルとして、作成。
   その、サイズは、(10,10,100,25)
   その、クリックした時は、フォルダ追加。
文字サイズは、10。
検索フォルダリストを、リストとして、作成。
   その、ファイルドロップは、オン。
   その、サイズは、(10,25,250,75)
   その、ダブルクリックした時は、フォルダ編集。

モードラベルを、ラベルとして、作成。
   その、サイズは、(255,10,445,25)
   その、テキストは、「単検索キーワード」。
キーワードコンボを、コンボとして、作成。
   その、サイズは、(255,25,445,50)

検索ボタンを、ボタンとして、作成。
   その、サイズは、(450,25,490,50)
   その、イベントは、検索開始。

検索結果ラベルを、ラベルとして、作成。
   その、サイズは、(10,85,100,100)
結果リストを、リストとして、作成。
   その、サイズは、(10,100,490,290)
   その、ダブルクリックした時は、ファイル閲覧。

フォルダを開くボタンを、ボタンとして、作成。
   その、イベントは、上位フォルダ。


検索オプションメニューを、メニュー作成。
   検索オプションメニューに、検索オプション0メニューを、メニュー追加。
      その、テキストは、「単検索」。その、値は、1。
      その、イベントは、検索オプションメニューイベント。
   検索オプションメニューに、検索オプション1メニューを、メニュー追加。
      その、テキストは、「AND検索」
      その、イベントは、検索オプションメニューイベント。
   検索オプションメニューに、検索オプション2メニューを、メニュー追加。
      その、テキストは、「OR検索」
      その、イベントは、検索オプションメニューイベント。

フォルダ選択メニューを、メニュー作成。
   その、クリックした時は、フォルダ追加。

ヘルプメニューを、メニュー作成。
   ヘルプメニューに、使い方メニューを、メニュー追加。
   その、イベントは、(
   文字サイズは、9。
『【1】検索フォルダをドロップ、または「検索フォルダ」のラベルをクリックして
   フォルダ選択で選ぶ。複数選択可。
リストを、ダブルクリックで、削除、クリア、編集が出来ます。

【2】検索オプションで、単検索、AND検索、OR検索から、選択できます。
   [単検索] ひとつのキーワードに該当するものを検索。
   [AND検索] 2つ以上のキーワードの、すべてに該当するものを検索。
   [OR検索] 2つ以上のキーワードの、どれかに該当するものを検索。
   AND検索、OR検索のときは、キーワードの間にスペースを入れてください。

【3】検索ボタンを押すと検索結果にヒットしたファイルがリストアップされます。

【4】検索結果のリストでファイルをダブルクリックすると、ファイルが開きます。
   また、ファイルを選択(色を反転)して「フォルダを開く」ボタンを押すと、
   そのファイルがあるフォルダを開けます。』と、言う。
      )
   ヘルプメニューに、バージョン情報メニューを、メニュー追加。
   その、イベントは、(
      「Lynsearch Ver0.05」&「\n」&「  りんくす作」と、言う。
       )

母艦浮上。
待機。

*リサイズ
結果リストの、幅は、(母艦の、W)-20
結果リストの、高さは、(母艦の、H)-145
フォルダを開くボタンの、Yは、(母艦の、H)-35
戻る。

*検索開始
もし、キーワードコンボ=「」ならば、待機。
全対象リスト=「」
検索ファイル=「」
母艦は、「LynSearch - 検索中...」。
(検索フォルダリストの、アイテム)を、反復(
   対象フォルダは、それ。
   もし、RIGHT(対象フォルダ、1)=『\』でなければ、
   対象フォルダ=対象フォルダ&『\』
   「{対象フォルダ}」の、全ファイル列挙。
   検索ファイルは、それ。
      検索ファイルを、反復(
      全対象リスト=全対象リスト&それ&「\n」
      )
)

'検索開始
結果リストの、アイテムは、「」。

検索キーワード=英数半角変換(キーワードコンボ)
検索キーワード=小文字変換(検索キーワード)

もし、検索オプション=0ならば、検索_そのまま。
もし、検索オプション=1ならば、(
   検索キーワードを、「 」で、区切る。
   検索キーワードは、それ。
   検索_AND。
   )
もし、検索オプション=2ならば、(
   検索キーワードを、「 」で、区切る。
   検索キーワードは、それ。
   検索_OR。
   )
         
{履歴を重複チェックして追加}
履歴フラグは、オフ。
履歴は、(キーワードコンボの、アイテム)。
履歴を、反復(
   もし、それが、(キーワードコンボの、テキスト)ならば(
   履歴の、(回数-1)行目を、行削除。
   履歴フラグは、オン。抜ける。
   )
)
もし、履歴フラグならば、履歴は、それ。
履歴=(キーワードコンボの、テキスト)&「\n」&履歴。
キーワードコンボの、アイテムは、履歴。

それは、(結果リストの、アイテム)。要素数。
母艦は、「LynSearch - ヒット数=」&「{それ}/{要素数(全対象リスト)}中」
待機。

*検索_そのまま
全対象リストを、反復(
   s=それ。S=英数半角変換。
   S=小文字変換(S)
   Sの中で、検索キーワードが、何文字目。
   もし、それ>0ならば、
   結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
)
戻る。

*検索_AND
全対象リストを、反復(
   検索フラグ=0。s=それ。S=英数半角変換。
   検索キーワードを、反復(
      Sの中で、それが、何文字目。
      もし、それ>0ならば、検索フラグ=検索フラグ+1
      )
   もし、検索フラグ=要素数(検索キーワード)ならば、
   結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
)
戻る。

*検索_OR
全対象リストを、反復(
   s=それ。S=英数半角変換。
   検索キーワードを、反復(
      Sの中で、それが、何文字目。
      もし、それ>0ならば、(
      結果リストの、アイテムは、(結果リストの、アイテム)&「{s}\n」
      抜ける。
      )
   )
)
戻る。

*ファイル閲覧
「explorer {結果リストの、テキスト}」を、起動。
待機。

*上位フォルダ
「{結果リストの、テキスト}」から、パスを切り出す。
「explorer {それ}」を、起動。
待機。

*検索オプションメニューイベント
検索オプション0メニューの、値は、0。
検索オプション1メニューの、値は、0。
検索オプション2メニューの、値は、0。
イベントオブジェクトの、値は、1。
(イベントオブジェクトの、名前)の中で、8から、1つ、切り出す。
検索オプションは、それ。
もし、検索オプション=0ならば、(モードラベルの、テキストは、「単検索キーワード」。)
もし、検索オプション=1ならば、(モードラベルの、テキストは、「AND検索キーワード」。)
もし、検索オプション=2ならば、(モードラベルの、テキストは、「OR検索キーワード」。)
戻る。

*フォルダ追加
フォルダ選択。
もし、それが、「」ならば、待機。
検索フォルダリストの、アイテムは、(検索フォルダリストの、アイテム)&それ&「\n」
待機。

*フォルダ編集
「編集しますか?」を、「削除\n全消去\n修正」の、ボタンで選択。
もし、それが、「」ならば、待機。
もし、それが、削除ならば、(
   (検索フォルダリストの、アイテム)の、(検索フォルダリストの、値)行目を、行削除。
   検索フォルダリストの、アイテムは、それ。待機。)
もし、それが、全消去ならば、(
   検索フォルダリストの、アイテムは、「」。待機。)
もし、それが、修正ならば、(
   ダイアログ初期値=検索フォルダリストの、テキスト。
   「変更?」と、尋ねる。
      もし、それが、「」ならば、待機。
      検索フォルダリストの、テキストは、それ。待機。)



- Child Tree -