Post:#312889 Date:19.06.2011 (19:45) ... Здравствуйте! Достало меня рыться по сайтам в поисках аналогов для замены того или иного транзистора. Решил написать прогу - справочник, чтоб иметь возможность быстро отфильтровать компоненты по нужным параметрам. Прога еще в стадии разработки, но уже можно пользоваться. Решил выложить на всеобщее обсуждение. Может, кто что предложит дельное.
Данные буду потихоньку подтягивать и обновлять
_________________
За все время существования ветки поступили следующие предложения:
1)Форма по заполнению для централизованного обновления.
Заполняй прямо в проге, отмечайте, выгружайте отмеченные, присылайте - затяну и выложу обновленные базы.
2)Прокрутка без колесика - готово.
3)Фильтр по первым символам - исправлен и готов.
4)Поиск замен.
Начал было делать но встает много проблем: для разных целей по разным параметрам подбираются замены. По некоторым неограниченно в большую сторону, по некоторым в меньшую и т.п. Если это все учесть, то получается тот же фильтр в главном окне. Так что отказался от этой идеи.
5)Печать списка замен на принтере и на рынок.
Фильтруйте по нужным параметрам, жмите "печать", прога отфильтрованный список скинет в "браузер по умолчанию" и из него печатайте.
6)Единицы измерения в колонках. Готово.
7)Колонка с "Корпусами". Готово.
8)Текстовый формат базы. Проверялся XML формат, ОЧЕНЬ медленно загружается/записывается. Отказался.
9)Фильтр с указанием "от" и "до". Готов.
10)Выделение по двойному щелчку. Работает в режиме "только чтение". Готово.
11)Выделение диапазона по Shift+Click. Не смотря на кажущуюся простоту, довольно трудоемко. Пока отказался.
12)Заголовки параметров на английском (с русскими подсказками). В стадии написания.
13)Сортировка. Готова.
14)Сохранение при закрытии/по Enter. Готово.
15)Печать и поиск в браузере по умолчанию, а не IE. Готово.
16)Если есть PDF, открывать по двойному щелчку. Работает в режиме "только чтение" при двойном щелчке на колонке "PDF".
Поиск PDF что-то начинает делать, при попытке остановить все зависает, надо срубать. Что он делает, я не понял - начинает грузить все подряд? Надо хотя бы выделенные или одну, там где стоит курсор. Если ему не мешать, то через десяток файлов говорит "bad request".
PS. О, он чего-то накачал . Только процесс неконтролируемый. И зачем все подряд. И кстати, если он качает с datasheeycatalog.com, то там за выкачку сразу банят по IP. Наверняка на других сайтах то же самое.
При пометке пробелом фокус прыгает в верхнее поле "модель", а должен переходить на следующую строку, чтобы нажав и подержав пробел, выделить диапазон из отфильтрованных компонентов. Ведь другого способа нет. Естественно, следующее нажатие пробела приводит к пустой таблице. Впрочем, если экспорт не работает, то и это неважно.
Импорт из txt ничего не делает. Экспорта в txt нет. Это самое главное, что я просил в начале - чтобы самому работать с базой вне оболочки, а в ней делать только хранение, поиск и фильтрацию. Потому что я сразу не полагался, что движок базы и программист позволят пользователю что-то делать. Значит, не судьба.
Если это готовый продукт, то "инструмента" я пока так и не увидел. Как-то совсем неочевидно, что оно будет делать, например, при обновлении из интернета. Качать? С какого сайта? в каком формате? А если он изменится, будет мусор? А если сайт ляжет, и т.д.
Возвращаюсь к своей "базе", которая у меня в виде текстового файла .
_________________ И мню аз яко то имать быть, что сам себе всяк может учить.
to FindZimorodok: кнопка будет, с поиском PDF вообще еще не все гладко. А вот про дебагер не совсем понял. Дебагер html страниц? Даже не знаю, что сказать. Если б у меня хоть раз вылез, было бы на чем потренироваться, как это обойти, а так... непонятно, что делать.
Сортировка вместо фильтра - заманчиво, сам хотел сначала так сделать, но, как с помощью щелчков по колонкам задать такой режим: сначала сортировать по напряжению, а при одинаковых, еще и по току?! Ведь учитывая специфику, частый случай! По этому и отдал предпочтение фильтру вместо сортировки.
Сделать все фильтры на одном окне, как в 1с8, подумаю. Есть идея, но есть и вопросы. Если все как я думаю, то переделаю. Интересно так же, что остальные думают по этому поводу?
Ну а запоминание состояния фильтра, честно говоря, поленился, другие аспекты были более интересными. Постараюсь на днях реализовать.
to Eduard:
опять у тебя ошибки... ладно, может че и зацепил, пока другое делал. Проверю. Отметку для экспорта доработаю. Продукт еще не готов, будет дорабатываться. Выкачка PDF тоже еще будет дорабатываться. И качает она не с конкретного сайта. Там такой алгоритм: передаю гуглу команду найти конкретную модель среди только PDF. Получив от гугла страницу, смотрю, есть ли на ней прямая ссылка на PDF. Если есть, ставлю на закачку. Да, до конца это еще не отлажено, даже у меня есть проблемы. И, честно говоря, не факт, что гугл найдет действительно даташит, а не левую PDFку с упоминанием детали. Тут я безсилен, парсить PDFку пока даже не мечтаю. Теперь о обновлении деталей. Данные беру с DigiKey.com, с обычных html страниц, которые все видят в обозревателе. Так что не думаю, что забанят, а даже если и сделают такую гадость, добавлю настройки для указания Proxy серверов, пусть ловят . Если изменят формат, что маловероятно, работа ведь не маленькая, мне переделать загрузчик на несколько порядков проще, чем им поменять формат. Есть одно исключение, но умолчу, дабы враги не воспользовались.
И так, не отчаивайтесь, работа не закончена! Продолжение следует...
добавил Exe для Эдурада, залогировал экспорт чуть ли не построчно. Ну и выделение пробелом исправил.
А вообще, чем смотрится например BiPolar.rcdb - что за формат? А почему в dbf не захотел?
Корректно ничем не смотрится, "двоичный", а так, Far/Total commander. Если знаком с программированием, да и для всех интересующихся, выкладываю рабочий кусок по загрузке и записи данных.
DBF - хотел, но, в Delphi нет компонента, работающего напрямую с DBF, выискивать компонент сторонних производителей не захотел, а таскать 6-8 dll BDE, вместо одной midas.dll, тоже как-то не очень. Вот и извратился.
Не нашел "Выделить все", или нет этой функции? Ладно вручную накликаю и в хмл конвертну. Просто кусок таблицы нужен, лень вбивать самому, в 1с-ке накидать хочу интерфейс - поизголяться. Там с отборами проще, всё в оболочке уже прописано.
Попробовал последнюю версию. Ничего не поломалось. Поиск pdf - файлы находит, отображает, но посмотреть не даёт. При клике по лого ИЕ открывается браузер с результатами поиска в гугле. Экспорт в xml работает, обновление - нет. И не работало.
По моему, скачивать базу со стороннего сайта неправильно - если начнут банить, то будут проблемы, и не только у пользователей этой проги. Я думаю, базу можно пока на скифе разместить - думаю, админ не будет против. Особенно если обновление будет "кусочное", или как там его:)
По поводу фич - непонятно, зачем нужен поиск pdf и эта пикча с ИЕ - если я хочу найти PDF, то я сделаю это в браузере. С другой стороны, просили же сделать поиск аналогов.
И ещё - название модели одного и того же, по сути, транзюка, может начинаться с С, SC, 2SC - и ещё многабукафф. Можно как-нибудь сделать так, чтобы при наборе последовательности символов искались все варианты, в которых она содержится?
Ну с pdf, еще до ума не доведено. Идея была такая: иметь все на компе, ведь не все параметры в справочнике присутстуют. Кроме того, ну есть у меня личная папка с даташитами, так там пойди найди чего! А тут клацнул по нужной детальке, коль она заинтересовала, и смотри во всех подробностях. Но не знаю, доведу ли до ума выкачку pdf с интернета, там много нюансов. А тут еще папой сегодня стал, теперь руки наверно вообще будут доходить редко.
На счет проблем за скачивание, х.з., может и могут быть, хотя данные то общедоступные, что могут предъявить? Другое дело, что на дельфи написано, вот это проблема, хотя прога то не платная, а в учебных целях вроде раньше было можно! Так что всерьез рассматриваю вариант переписывания на Lazarus, как плюс, будет база в dbf, можно скомпилить и под линукс, и под х64, и ... много под что еще.
Базу на скифе, заманчиво, но думаю будет против, т.к. для опытов/экспериментов/отладки надо будет открыть мне доступ по ftp.
Кнопка с лого ИЕ - просто для удобства, а то названия длинные бывают, и набирать вломы, и память подводит.
Про замены давно в шапке ветки написал. Или что-то непонятно? (я не в смысле наезда, а доходчивости изложения). Или сами опишите в подробностях, как вам видится эта функция. Для прояснения, такие нюансы: выбирать детали, у которых ВСЕ параметры аналогичные, или все ">=", так есть вредные характеристики, как емкость затвора! Или такой вариант, нужен транзистор на входной каскад усилителя, т.е. где-то 100мА, 20В. И нафик мне транзюки на 10А 1000В, хотя по параметрам вписывается. Так как?
Ну а поиск по "вхождению" - запросто. Сделаю, выложу.
Ну так прими поздравления!!! Папой это да..., времени отнимает это состояние много.
А мне идея с ПДФ-ками нравится - визуализация это сила. Только наверное, лучше найденный ПДФ-ник именовать как название элемента, чтоб такое добро потом можно, в случае надобности в любой БД развернуть.
Кстати, те которые успел скачать, у меня из колонки таблицы нормально открываются.
Спасибо!
Да сначала и думал пдфник называть по имени детали, но как оказалось, один пдфник может идти сразу на пачку деталей. Лишнее скачивание, объем на диске... как-то оно не очень, вот и решил оставить так.
"Нормально открываются" - ну Yarston под линуксом все это пробует, логично ждать неожиданностей.Догадываюсь, почему и обновление у него не работает.
А тут еще папой сегодня стал, теперь руки наверно вообще будут доходить редко.
Мои поздравления В принципе, прога уже вполне юзабельна, базу бы вот только расширить, но это уже немного в другой плоскости проблема:)
PDF у меня скачиваются в папки, но само окно поиска после завершения скачивания ни на какие нажатия не реагирует, и гнусно орёт спикером при попытке закрыть его. Приходится перезапускать прогу.
Спасибо за поздравления!
Пара дней в запасе есть, постараюсь сделать, чтоб поиск ПДФок останавливался.
Что-то Эдуард молчит, что у него с лог-ом при экспорте.
_______
Капец, допрограммился, после моих интенсивных запросов к гуглу на поиск, они ввели следующее:
Я в шоке! Но мы ж люди русские, с нами такой номер не пройдет. Надо или вводить паузу между запросами, или запросы маскировать под разные браузеры, или вообще делать через различные поисковики(можно так:google.ru..., yandex.ru..., rambler.ru..., или так: google.ru; google.com; google.com.ua ...). Во поле для творческого подхода!
Лорд Грэй извини конечно, но я надеялся, что ты будешь добиваться исчезновения ошибок, которые есть, но вместо этого из версии в версию появляются новые глюки, как результат новых фич, которые мне лично не кажутся нужными. По мне, так лучше поставить задачу-минимум и отладить, чтобы работало как часы, и только после этого добавлять новые функции. По крайней мере, в этом случае некоторые "промежуточно-окончательные" версии получатся рабочими.
Я веду базу в текстовом виде и у меня отработана ручная процедура подбора детальки путем сопоставления нескольких списков одновременно (параметры - аналоги - наличие - цена).
И второе, я не вижу причин, почему бы не писать код так, чтобы исполнялся на любой машине. Правда, я не писал под вин, поэтому возможно, здесь я не объективен.
_________________ И мню аз яко то имать быть, что сам себе всяк может учить.