Join Multiple SWF Files Into One Software
-
Программу гляну и потом отпишусь.
Большое спасибо! Я первый раз столкнулся с такой трудной программой! Ведь главное зараза какая, слов то почти ничего - а вот ни как переводиться не хочет! Мне главное понять алгоритм действия для русификации подобного софта! Вот к примеру у Sobolsof на сайте, есть где-то порядка 52 программа, многие из них довольно уникальны! Вылечить я могу любую - но хорошо бы ещё их было перевести на русский язык! Все программы написаны по одному шаблону, даже интерфейсы у них практически одинаковые! И если мне удастся осилить нормальный перевод хоть одной - я смогу по этому же принципу перевести и все! Мне говорили о Вас как о большом профессионале и я очень надеюсь на вашу помощь!Сообщение отредактировал gazon01 4 июля 2015 - 16:556 июля 2015 - 11:59 / #11 -
KMV2013,
При редактировании проекта Package.ini впишите вот так: SandboxPath=.
Параметр отвечает за создание папки песоницы рядом с исполняемым файлом программы, в деинсталлятор указать папку для удаления.
Портативка ваша собрана в версии 4.7.2 . В ней заявлена поддержка win 8? Я если честно не знаю, но с версии 4.7.3 поддержка 100%. Исходя из этого проверьте работоспособность и если потребуется смените версию для корректной работы в win 8.
Про Help не знаю. Мои тщетные попытки с ней завершились после неудачной компиляции декомпилированной программы.6 июля 2015 - 11:59 / #12 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: KMV2013Но как быть со словом "Help"??? Как удлинить его?
По кнопке с надписью "Help". На русском языке это "Справка". В строке 7 символов, тогда как в оригинальной строке только 4. Как удлинить? За счет имени элемента управления, в котором эта строка задана. Откройте программу в НЕХ-редакторе и задайте поиск слова "Help". Самое первое вхождение и будет искомым местом. Чуть выше хорошо видна надпись "PushButton3" - это имя элемента управления. Перед ним, через нулевой байт, байт 0Bh - это счетчик символов в строке "PushButton3". В слове 11 символов, переведем в шестнадцатеричный формат - 0Вh. Понятно, да? Следующая строка "XtremeSuiteControls.PushButton" - имя компонента, содержит 30 символов. В шестнадцатеричном формате - 1Еh. Смотрите в НЕХ-код, так и есть, перед строкой, через нулевой байт записан байт 1Еh. И т.д.
Рисунок 1
Каждый блок данных в программе Visual Basic имеет счетчик. Его местоположение относительно данных, за которые он отвечает, несколько варьируется в зависимости от типа данных, но он всегда есть. Если изменить размер блока данных, а счетчик нет, то программа работать не будет, и наоборот, если изменить счетчик, а длину блока данных нет, то программа также работать не будет. Запомните это.
Теперь смотрим строку "Help". Перед ней без разрыва записан счетчик - 04h, т.е. 4 символа. Чтобы вместить здесь строку "Справка" нужно где-то взять 3 байта. Просто добавить 3 байта нельзя - программа не будет работать. Отхватить три байта можно у имени элемента "PushButton3", получится "PushButt", и изменить счетчик для этой строки с 0Вh на 08h. Затем необходимо выделить байты, начиная с первого байта после строки "PushButton3" и заканчивая байтом 04 со счетчиком строки "Help". После чего скопировать и записать этот блок на три байта левее так, чтобы перед строкой "Help" получилось три дополнительных байта, которые мы забрали у строки "PushButton3". Наконец можно смело записать строку "Справка". Не забываем исправить счетчик для этой строки с 04h на 07h.
Еще один момент. Строка "Help" является одним из свойством элемента управления "PushButton3", куда также входят свойства с характеристиками шрифта. На рис. 1 это блок данных показан серым цветом, а счетчик блока данных со свойствами указан кружком красного цвета - сейчас его значение 69h. Так вот, если у нас на три байта увеличится длина строки "Help", то соответственно изменится размер блока со свойствами элемента управления - 69h + 3h = 6Ch. Поэтому его также нужно подкорректировать.
В итоге наши изменения в коде будут выглядеть следующим образом (также откорректирован набор символов для этого элемента):
Рисунок 2
Сохраните изменения в файле и запустите программу. Если вы нигде не ошиблись, то увидите в интерфейсе полную строку "Справка".
Рисунок 3
Вывод:
Строку можно удлинить (в небольших пределах) за счет строки с именем элемента управления, на котором она размещается. При этом также необходимо откорректировать следующие счетчики: длина строки с именем элемента управления, длина локализованной строки, длина блока данных со свойствами элемента управления.6 июля 2015 - 11:59 / #13 -
Большое спасибо! Согласно вашим советам мне удалось написать слово "Справка "! И в общем то я понял как увеличивать слова! Но как уменьшать!? Например мне удалось написать слово "Вверх" - а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...Сообщение отредактировал gazon01 4 июля 2015 - 20:096 июля 2015 - 11:59 / #14
-
Оффлайн
Автор темы
Звание: Ветеран
Команда
Сообщений: 1211
Создано тем: 39
Рейтинг: 8
Репа: (42|41|-1)
Баллы: 86
Был: 2018-12-02 14:30
Лайков: 18
а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...
пробел поставь вместо недостающих буковВозможно всё! На невозможное просто требуется больше времени.
Мудрец из Шангри Ла6 июля 2015 - 12:00 / #15 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
KMV2013,Цитата: KMV2013а лишении символы заменяю нулями...
Все данные идут друг за дружкой, к тому же имеют строго определенные размеры и границы. Вставка хотя бы одного нулевого байта нарушает этот порядок и программа падает. Если строка с переводом короче оригинальной, то добиваем размер пробелами. Хотя лучше использовать это место для удлинения строк, где этой длины не хватает.Цитата: KMV2013Например мне удалось написать слово "Вверх"
Вы же хотели написать там "Переместить вверх" и "Переместить вниз", согласно этого скриншота:6 июля 2015 - 12:00 / #16 -
DВы же хотели написать там "Переместить вверх" и "Переместить вниз", согласно этого скриншота:
В идеале конечно бы хотел написать! Но как увеличить размер кнопки?Сообщение отредактировал Leserg 4 июля 2015 - 21:056 июля 2015 - 12:00 / #17 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: KMV2013Но как увеличить размер кнопки?
Вот так
Порядок байт обратный. Например, координата Х - последовательность байт в НЕХ-редакторе D8 18. Переворачиваем байты в обратном порядке - 18 D8. Переводим в десятичный формат - 6360 твипов.6 июля 2015 - 12:00 / #18 -
Что то я по моему запутался в счётчиках - вот:
я правильно их определил и поменял значения (красного цвета)? Хочу удлинить надпись: "Add SWF File(s)" на 5 байт: "Добавить SWF Файл(ы)" и что то не выходит... Снова ломается программа...6 июля 2015 - 12:00 / #19 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: KMV2013я правильно их определил и поменял значения (красного цвета)?
Да, правильно. Только не забывайте смещать данные на количество байт, забранных у имени элемента управления, начиная от текста, который необходимо удлинить. Просто поменять счетчики недостаточно. Должно получиться вот так:
Также не забывайте про добавление поддержки кириллицы (ССh). Еще, в русском языке не принято писать все слова с большой буквы. Не стоит вносить и смешивать стили написания чуждые русскому языку. Допускается делать акценты, например, "Курить ЗАПРЕЩЕНО!", но лепить их куда ни попадя является признаком дурного тона.6 июля 2015 - 12:00 / #20
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
- Создано тем
- 1201
- Всего сообщений
- 15804
- Пользователей
- 18048
- Новый участник
- puika