Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2011, 13:54   #1
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию Поисковик файлов

Здравствуйте!
Выкладываю на Ваше рассмотрение маленькую прогу.
Называется она незамысловато - Searcher и предназначена для поиска файлов на локальном компьютере по их имени.
Идея написания такой проги родилась тогда, когда я пытался найти электронную книгу в папке, в которую на протяжении нескольких лет беспорядочно сбрасывал всякую литературу, касающуюся техники.
В итоге на тот момент уже накопилось около 600 файлов, и поиск нужного файла, мягко говоря, затянулся.
Конечно, можно было воспользоваться Пуск > Найти, но скорость запуска этого поисковика на использовавшейся тогда машине не впечатлила.
Таким образом, родился Searcher.

Буду рад замечаниям, советам и предложениям.
Вложения
Тип файла: rar Searcher.rar (177.3 Кб, 19 просмотров)
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 28.11.2011, 19:08   #2
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Не сразу разобрался ищет ли программа или нет.
Как запустил - искал медленно, как перезапустил программу - очень быстро нашел файлы. (параметры по стандарту)
Не понравилось что при выборе "Точная фраза" он ищет файлы "*5.bmp" (при том что в edit.text - "5.bmp").

При первом запуске было:
При закрытии:

Access violation at address 00403250 in module 'searcher.exe'. Read of address FFFFFFFF.

Программа не закрылась.
Еще раз закрываю опять пишет это (см. выше).
Сразу после этого написала Priveleged instruction.
И только после этого программа закрылась.

После второго запуска программы - такого не наблюдалось.
win 7 x64
zotox вне форума Ответить с цитированием
Старый 29.11.2011, 13:24   #3
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Цитата:
Не понравилось что при выборе "Точная фраза" он ищет файлы "*5.bmp" (при том что в edit.text - "5.bmp").
Я понял, о чем Вы.
Алгоритмически там все правильно (находит "*5.bmp"), просто название для этого пункта - "Точная фраза", как только что оказалось, не слишком удачное. Этот пункт я ввел, ориентируясь на длинные названия книг, которые валяются у меня в упомянутой папке, чтобы Searcher по запросу, скажем, "Оптимизация в технике" сохранял порядок слов, т.е. находил именно книгу, в названии которой присутствует "Оптимизация в технике", например "Оптимизация в технике. Рейвиндран, Реклейтис, Рэгсдел.djvu".
Чесно говоря, поиск по имени файла целиком почему-то вылетел из головы, но обещаю исправиться.

А по поводу исключительных ситуаций - черт его знает, будем разбираться.
Searcher основательно тестировался пока только на XP sp2, и с семеркой Вы первый.

Цитата:
При закрытии:

Access violation at address 00403250 in module 'searcher.exe'. Read of address FFFFFFFF.
А Вы закрыть пытались в момент, когда шел процесс поиска?

Цитата:
Не сразу разобрался ищет ли программа или нет.
Да, хочется как-то соощать пользователю, что программа не висит, а ищет.
Использовать что-то типа прогрессбар не хочется - существенно тормозит процесс поиска.

Спасибо за отзыв.
Программирую по необходимости

Последний раз редактировалось tsar_; 29.11.2011 в 14:21.
tsar_ вне форума Ответить с цитированием
Старый 29.11.2011, 14:54   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от tsar_ Посмотреть сообщение
Использовать что-то типа прогрессбар не хочется - существенно тормозит процесс поиска
Бред какой...
Вы полагаете, что инкремент позиции прогресс-бара по времени сопоставим с временем позиционирования головок винта ???
mihali4 вне форума Ответить с цитированием
Старый 29.11.2011, 15:25   #5
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Цитата:
Бред какой...
Вот что получается, если дописывать пост, когда тебя из аудитории выгоняют...
Извиняюсь.
Я имел ввиду, что прогрессбар еще настроить надо, на что время нужно.
Ничего, почитаю, разберусь, че-то придумаю.
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 29.11.2011, 19:38   #6
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
А Вы закрыть пытались в момент, когда шел процесс поиска?
Честно говоря я уже не помню, искала ли программа или нет.
Но сейчас проверил во время поиска файла закрыть программу - симптомы те же что я описал. (только без окна с текстом "Priveleged instruction")
zotox вне форума Ответить с цитированием
Старый 30.11.2011, 12:29   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Да, хочется как-то соощать пользователю, что программа не висит, а ищет.
любая анимация.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.11.2011, 15:12   #8
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

To zotox:
Цитата:
Честно говоря я уже не помню, искала ли программа или нет.
Но сейчас проверил во время поиска файла закрыть программу - симптомы те же что я описал. (только без окна с текстом "Priveleged instruction")
Да, обнаружил свою алгоритмическую ошибку - при закрытии программы в процессе поиска происходят галюны с выскакиванием Access violation...

To Пепел Феникса:
Цитата:
любая анимация.
Согласен. Даже мигающая лампочка с пояснением "Идет поиск.."- уже хорошо.
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 01.12.2011, 03:43   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от tsar_ Посмотреть сообщение
Даже мигающая лампочка с пояснением "Идет поиск.."- уже хорошо.
Проще надо быть.
Достаточно показывать юзеру TPanel с надписью "Подождите пожалуйста, идет поиск..."
Ну, и курсор переключать на "песочные часы".
mihali4 вне форума Ответить с цитированием
Старый 01.12.2011, 08:47   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Достаточно показывать юзеру TPanel с надписью "Подождите пожалуйста, идет поиск..."
Ну, и курсор переключать на "песочные часы".
блокировать окно?а вдруг юзер передумал...(кстати во время поиска не удалось закрыть приложение,а отмены нет)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
локальный поисковик файлов the_deer_one Софт 2 12.11.2018 22:16
Delphi. Поисковик файлов. Рекурсия. DirectoryListBox. Mr_freeman Помощь студентам 5 08.11.2011 23:44
Поисковик Sk_R Microsoft Office Access 0 29.04.2011 17:20
поисковик C# Neymexa Общие вопросы .NET 8 29.03.2009 10:39