Показать полную графическую версию : [решено] Expand. makecab, modifype с графическим интерфейсом
tehnik_srs
25-10-2010, 09:13
Софтинка позволяет распаковывать, запаковывать и сбрасывать контрольную сумму файлов. Все тоже самое что и expand, makecab и modifype, но прикрутил графический интерфейс. Файлы копируются в @HomeDrive\Results. Можно сразу копировать в дистрибутив. Писал для себя, но может кому пригодится.
tehnik_srs,
Прошу прощения за возможную чайниковость, крутил-вертел, но только с трудом понял как оно работает. "Вручную" с помощью Makecab и Expand всё распаковывается и запаковывается, но как это делается с помощью Вашей утилиты? ... тут ещё нужно поразбираться, т.к. исполнение каких-либо процедур (распаковка, запаковка и т.д.) в ExMakeMod происходит не по нажатию на кнопку с соответствующей надписью, а при выборе обрабатываемого файла, что для простого пользователя не очень-то очевидно.
По логике обычного юзера должно бы быть так: например, я хочу заменить картинку дефолтных виндовских обоев на свою. Как известно, дефолтная картинка в дистрибе находится в папке I386 в файле bliss.jp_ Тогда делаем следующим образом: обзываем свою картинку как bliss.jpg, запускаем ExMakeMod, указываем место расположения дистриба и дистрибутивный bliss.jp_, в котором находится файл, подлежащий замене, т.е. дефолтная дистрибутивная картинка. Затем указываем свой неупакованный файл и жмём на кнопку "запаковать". При необходимости получить контрольную сумму (что лучше было бы сделать одновременно с запаковкой файла), жмём на соответствующую кнопку и получаем контрольную сумму. Далее, жмём на "Скопировать упакованный файл в дистрибутив" и полученный файл переносится в дистриб, заменяя исходный bliss.jp_, а не просто копируется в корневую папку дистриба (хотя его место в в папке I386), как это сейчас реализовано в ExMakeMod.
Таким образом, если описанное реализовать в ExMakeMod - это было бы действительно и удобно и наглядно.
Надеюсь, мой взгляд не будет воспринят, как безосновательные нападки; это всего лишь моё видение данного дела.
tehnik_srs
25-10-2010, 13:52
Возможно я Вас неправильно понял, но на данный момент, если Вы хотите поменять картинку, то создаете ее с именем bliss.jpg; в ExMakeMod выпираете ее пунктом Контрольная сумма и Запаковать (он открывает сразу папку с файлом), после этого жмем F8, указав путь к дистрибу. Вот, собственно и всею
Возможно я Вас неправильно понял, но на данный момент, если Вы хотите поменять картинку, то создаете ее с именем bliss.jpg; в ExMakeMod выпираете ее пунктом Контрольная сумма и Запаковать (он открывает сразу папку с файлом), после этого жмем F8, указав путь к дистрибу. Вот, собственно и всею »
Да, это я тоже в конце концов нашёл. Просто, как я уже говорил, такая последовательность манипуляций не совсем очевидна для простого пользователя. Сбивают с толку кнопки, по нажатию на которые происходит выбор файла, а не выполнение команды (если исходить из надписи на кнопках). Было бы логично, если бы для выбора файла была отдельная кнопка, что-нибудь типа "Выбор файла", а нажатие на кнопки с другими надписями - приводило не к открытию файла, а выполнению команды (распаковать, запаковать, найти контрольную сумму и т.д.), согласно надписям на этих кнопках. ИМХО, разумеется.
tehnik_srs
25-10-2010, 17:14
ОК, сделаю
tehnik_srs
26-10-2010, 08:28
Nun-Nun, переделал с учетом Ваших требований. Если можно, проверьте работоспособность сброса контрольной суммы, т.к. переделывал под вайном.
tehnik_srs,
Посмотрел, есть пара пожеланий в части кометики:
1) на мой взгляд, название пункта меню "Путь к дистрибутиву" (сбивает с толку) стОило бы назвать "Путь к папке в составе дистрибутива", т.к. папок в дистрибутиве много и какая из них пользователю потребуется заранее не ясно;
2) папку \Results было бы удобнее расположить в папке, из которой запущен ExMakeMod или выдать запрос пользователю о том, где её стОит расположить - пусть он сам укажет нужное ему место.
В остальном - то, что надо!
stalinit078
26-10-2010, 17:04
tehnik_srs,
У меня одно пожелание: можно убрать значок программы из области уведомлений?
tehnik_srs
27-10-2010, 09:02
Вы про Tray?
Nun-Nun, изначально делал папку Results именно рядом с программой, но я новичок в программировании, а modifype не хочет обрабатывать файлы, содержащие русские имена. Не знаю как это побороть. А надпись переделаю.
изначально делал папку Results именно рядом с программой, но я новичок в программировании, а modifype не хочет обрабатывать файлы, содержащие русские имена. Не знаю как это побороть. А надпись переделаю. »
Всё делается просто: при использовании ModifyPE, т.е. при выборе файла для получения контрольной суммы, выдать сообщение (предупреждение) пользователю о недопустимости использования кириллицы в названиях файлов и папок. Так что, использование кириллицы вопреки этому предупреждению - проблема самого пользователя.
А за исправление надписи - отдельное спасибо!
stalinit078
27-10-2010, 11:31
Вы про Tray? »
Да.
tehnik_srs
27-10-2010, 12:36
Nun-Nun, да я так и делал изначально, но надоедает при постоянном использовании, подумаю как бы выдавать это сообщение только если в пути кириллица.
stalinit078, ок, исправлю!
tehnik_srs
28-10-2010, 08:29
Это версия с переделаной надписью и отсутствием значка в Tray. Насчет Results пока ничего не придумал, но я работаю над этим.
tehnik_srs,
Может попробовать так: при первом запуске программа предлагает указать место расположения папки Results для размещения результатов и при этом же выдаётся предупреждение, что она работает только с короткими именами файлов и папок, а также не поддерживает работу с названиями, содержащими спецсимволы, пробелы и кириллицу. Как только пользователь указал место расположения папки Results и нажал "ОК", программа создаёт какой-нибудь файл конфигурации (например, config.ini), в котором прописывается место размещения папки Results (в дальнейшем можно туда же записывать и место расположения папки в составе дистрибутива Windows). При последующем запуске программа смотрит наличие файла конфигурации и если он есть - считывает из него ранее записанные данные. При отсутствии файла конфигурации программа работает, как при первом запуске.
tehnik_srs
28-10-2010, 10:04
Nun-Nun, да это не сложно, а вот как бы сделать проверку на кириллицу, думаю рыть в торону RegEX-пов или указать запрещенные символы
tehnik_srs,
Возможно это будет совсем примитивное предложение (я в этом не спец), но может сделать так: взять шаблон, содержащий все буквы латиницы, и последовательно сравнивать каждый из символов названия указанного пользователем файла (папки) с каждым из символов латиницы. При несовпадении хотя бы одного символа или превышении количества символов, допустимого для короткого имени, выдать соответствующее сообщение типа "Имя файла (папки) превышает допустимую длину или содержит пробелы, спецсимволы или кириллицу".
P.S. Возможно предложенная выше идея не совсем подойдёт, и нужно разбираться с кодировками, но тут я мало что подскажу.
tehnik_srs
28-10-2010, 10:34
Nun-Nun, ок, подумаю над всеми вариантами, доложу в трехдневный срок.
tehnik_srs,
Посмотрите здесь, что мне по поводу нашей проблемы написали, может пригодится: Как с помощью батника узнать, используется ли в названии файла\папки кириллица? (http://forum.oszone.net/thread-189618.html)
tehnik_srs
28-10-2010, 12:28
Nun-Nun, спасибо
tehnik_srs
29-10-2010, 08:31
Обновил шапку, в ней последняя версия. Добавил выбор папки Results (при использовании киррилицы, выдаст предупреждение), данные о Results и дистрибутиве хранятся в инишнике (system32\ExMakeMod.ini) и подгружаются при запуске. Путь к Results программа спрашивает при первом запуске, потом можно изменить в меню.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.