Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Имя файла может не совпадать с его настоящим именем. Никто не знает как получить имя файла из него самого? Мож функция у кого какая есть? Или Петр, мож слепишь плагин с такой возможностью? Скорей всего он разовый будет, но вот понадобилась такая возможность. Интернет перерыл, ничего не нашел что бы сам смог реализовать. Мож консолька какая есть? Не хочешь читать хелп?
Нет, я про файлы плагинов NB. Делаю базу для плагинов в которую можно будет собрать все плагины которые есть на компе, ну или создать одну единую базу. И вот при добавлении в базу плагина хочу ориентироваться не на название файла, а выдергивать название из него самого. Просто к примеру у меня может в папке лежать по 3-4 а то и 5 файлов одного плагина но с разными названиями. И название в базу при таком положении попадает первого найденного. А мне б желательно и название и версию.
Нет, это мы можем сделать только в том случае если плагин установлен. К тому же, если мы будем к примеру устанавливать плагин просто двойным кликом по файлу, то будет открываться сама программа. И запись в реестр добавляется только после закрытия НБ.
Здесь мне кажется только плагин поможет. Жду ответа от Петра. Мож че придумает. Я два дня убил на поиски решения. Плюс ночи прихватил. Не хочешь читать хелп?
mishem, внутреннее имя файла прописывается в секции ресурсов и отображается в "свойствах файла". Но только имя файла тебе ничего не даст, поскольку нужна версия. Возьми к примеру NB: внутреннее имя файла всегда одно и то же, а версии - разные. Я подумаю, что тут можно сделать. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В свойствах отображается то имя, которое в данный момент у файла.
Цитата (Peter)
Но только имя файла тебе ничего не даст, поскольку нужна версия.
Версия желательно, но не обязательно. Мне достаточно было бы "родного" имени файла.
Цитата (Peter)
Я подумаю, что тут можно сделать.
Я когда гуглил, очень много наталкивался на обсуждение именно для делфи. И вроде бы как я понял решение есть, мож я не правильно понял.
Цитата (Peter)
Я подумаю, что тут можно сделать.
Я жду и надеюсь.
Добавлено (10 Февраля 2013, 21:03) ---------------------------------------------
Цитата (Peter)
внутреннее имя файла прописывается в секции ресурсов
Я подумал что если можно значок выдернуть, значит и имя тоже получается можно. Единственная проблема со значками это та, что если файл запакован не upx выдернуть не получается. Как пример это твой плагин, дембеля. Не хочешь читать хелп?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я ничего не включаю! Мне нужно понять: что именно тебе надо, т.к. сам прекрасно видишь, что имен у файла может быть несколько, а необушные плагины, если не прописано в ресурсах (что чаще всего), нужно читать иначе, чем остальные файлы. То, что читает сама Windows об имени файла одно, а то, что читает NB об имени плагина - другое, и в плагине могут присутствовать оба варианта.
Цитата (mishem)
Другие нормально все.
А NeoBookDB, например?
Цитата (mishem)
думал сделал уже.
Быстро только кошки родят! - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
У меня программа находит все nbp и nbr файлы и складывает их в архив точно так же как они находятся на компе. К примеру С:NeoBookDB\NeoBookDB.nbp и С:NeoBookDB\рус\Русификатор NeoBookDB .nbp. В архиве будет выглядеть NeoBookDB.nbp и рус\Русификатор NeoBookDB .nbp При получении имени файла создается массив из двух имен, и я беру имя первого попавшего файла. Это может быть как NeoBookDB так и Русификатор NeoBookDB (это пример у другого они вообще по другому могут называться). Так вот что бы не было путаницы хочу получить имя из ресурсов файла. Как это будет читаться, разницы не имеет. Если файлы идентичны то у всех название будет одно и то же вне зависимости как его обозвал пользователь на компьютере. Версия в принципе особой роли не имеет, так как при поиске файла в базе я откидываю версию и ищу по названию. По этому как это называется? Родное, внутреннее или как то еще я не знаю. Что треба написал, надеюсь понял.
Цитата (Peter)
А NeoBookDB, например?
Да, тоже нормально достается.
А не, сбрехал, из твоего тоже достается. Чет у меня в голове отложилось что нет. Сейчас полез специально посмотреть. В данный момент у меня 20 штук установлено. Из них не может достать из dmCMDLine, dmWord это Дембеля плагины и alStartup плагин Алиена. Все остальные достаются нормально. Вспомнил почему на твой грешил, твой значок база данных не видит, приходится из за этого все значки конвертировать в png формат что бы база данных понимала. Ну, не только твой, другие тоже попадаются.
Цитата (Peter)
если не прописано в ресурсах (что чаще всего),
Если мне память не изменяет, прописаны во всех. У hpw например в жестко закодированных строках. Ну у этих плагинов практически все там находится.
Чет мне как то сердце подсказывает не получится наверно? А? Я про жестко закодированные строки не подумал. А не, сейчас полез специально hpw посмотреть, в открытом виде и версия и имя файла. Но в каких то встречал в в жестко закодированных строках.
Добавлено (11 Февраля 2013, 13:24) --------------------------------------------- А ты говоришь НБ по другому считывает информацию. А нельзя как НБ считать? А то как всегда аппетит приходит во время работы. Сейчас открыл установку плагинов в НБ, там еще есть описание ж для плагина.
Если я правильно понял, то тебе надо идентифицировать принадлежность файла ( с разными именами ) к одному, эээ как бы сказать "к одному ресурсу" Если я правильно уловил мысль, то может сверять хэш файлов? Если это один и тот же файл, но с разными именами, то хеш будет неизменен
Для теста взял плагин zmFunctions.nbp и его копию с именем zm.nbp
Но хэш русифицированного плагина будет отличатся от хэш оригинала.
Да нет, мне именно имя надо. Смотри, программа открывается, идет построение списка установленных плагинов. Та как описание этих плагинов нигде не находится, запускается поиск по всей базе имени, описания, ключа, спика команд и т.д. Так как имена файлов могут не совпадать получится так что могут файлы дублироваться. Хотя в принципе что бы это избежать можно и по хешу. Но, даже просто возьмем к примеру у кого то просто русифицированный файл лежит под именем rus.nbp, программа возьмет из имени RUS. Конечно это я уж слишком заморачиваюсь, но хочется избежать такие не стыковки. И потом, хеш у разных версий плагина будет разный, а зачем держать устаревшую версию если считаешь что она больше не нужна? В ручную искать? Как то не охота А то программа ищет совпадение имени, выводит найденное и предлагает добавить или заменить. Поиск идет по имени. Если у Петра не получится буду иметь ввиду эту мысль. Но это лишние заморочки. Хотя... Как знать как знать...
И ище, у запакованного и распакованного файла хеш будет же разный, иль я ошибаюсь? Не хочешь читать хелп?
И опять же с хешем... У меня идет все до простого. Определяем есть ли вообще в указанной папке файлы *.nbp. Есть? Без всякого парсинга, бес поиска остальных файлв, все файлы nbp ,*.nbr ,*.chm ,*.doc ,*.rtf ,*.ini ,*.html ,*.dll ,*.hlp запаковываются в архив со своей структурой папок. Тоесть пусть там хоть 5 файлв nbp ежит, все они будут сложены так же как и на компе пользователя. ЗаморачиватьсЯ поиском и сравнением, ну зачем это надо? Хочу просто собирать файлы с описанием, скриншотами для более простого поиска нужного. А то сидишь по папкам тык-тык, тык-тык... На эту мысль меня натолкнула программа Вадима. Еще его базу после туда воткнуть, с поиском нужных возможностей и с возможностью сразу установить тот плагин который надо. Но это так, в перспективе. С этим бы разобраться. Не хочешь читать хелп?
имя из ресурсов файла. Как это будет читаться, разницы не имеет.
Понял, но только, как я уже сказал:
Цитата (Peter)
необушные плагины, если не прописано в ресурсах (что чаще всего), нужно читать иначе, чем остальные файлы. То, что читает сама Windows об имени файла одно, а то, что читает NB об имени плагина - другое, и в плагине могут присутствовать оба варианта.
И мне непонятно вот это:
Цитата (mishem)
Да, тоже нормально достается.
А что достается-то? У меня выглядит так:
Т.е. в ресурсах ничего нет: ни версии файла, ни имени. В NB это выглядит так:
Цитата (mishem)
прописаны во всех.
Нет, не во всех.
У меня, например, ничего не прописано в ресурсах, так-что мне непонятно и это:
Цитата (mishem)
Все остальные достаются нормально.
КАК (чем) и ЧТО ты "достаешь"?
Цитата (mishem)
Чет мне как то сердце подсказывает не получится наверно? А?
Почему же? Думаю, что можно. Единственная "загвоздка" - чтение установленных в NB плагинов при запущенной NB, но это я теретически рассуждаю, а на практике нужно посмотреть.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Да со значками все понятно, а имя как получаешь? Тоже этим же плагином? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Нет, имена и путь установленных я беру из реестра HKEY_CURRENT_USER\Software\NeoSoft\NeoBook 5\PlugIns
Добавлено (11 Февраля 2013, 16:34) --------------------------------------------- Да, и запись в реестр НБ делает когда закрывается. То есть сколько бы ты плагинов не установил при открытой НБ, их в реестре не будет. И если НБ вылетает аварийно, то ни одна запись не сохранится.
Теперь понятно, а то я уж было подумал, что все уже и без меня реализовано в этом плагине.
И это все "добро" сразу у тебя установлено?
Ты видел мои "установки"? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Пост 18 в этой же теме посмотри. Или я, что скриншоты для Геннадия Ка выкладываю?
Цитата (mishem)
это джентельменский набор, за исключением нескольких.
Мнда-а... Ну, и естесственно все версии FW установлены, особливо 4-я, для информера.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ды мож ты все поудалил что б не афишировать. Че долго что ль занова поставить?
Цитата (Peter)
и естесственно все версии FW установлены
А як же.... Ты еще не видел список установленных программ.
На С диске из 100 гб 7 свободно.
Было меньше, недавно что то установить надо было, место не хватало. По быстрому удалил трохи что б место освободить. А рабочий стол так вообще ж...а. Все чистить надо, удалять, а так не охота. Не хочешь читать хелп?
Да я догадываюсь!.... И, судя по всему, не у одного тебя так.
В общем, ладно... Посмотри в прикреплении файлик... То, что надо?
Прошу учесть, что это только набросок, там все ещё совсем сырое. и ТОЛЬКО ДЛЯ НЕОБУШНЫХ ПЛАГИНОВ. Кстати, связи между запущенной NB и получением информации нет. Проверь вот что: при запущенной NB получи инфу с какого-нибудь УСТАНОВЛЕННОГО плагина, а затем проверь работу этого (но, чем больше, тем лучше) плагина в режиме проектирования, не перезапуcкая NB!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
У Дембеля упакованы MPRESS. Алиена вроде ничем не упакованы. К примеру alConsolePlugin не упакован. Значок из него достается, а информация нет. Пишет ошибка. Не хочешь читать хелп?