Join Multiple SWF Files Into One Software

Цитата: KMV2013Программа Join Multiple SWF Files Into One Software - написана на Microsoft Visual Basic
  1. Оффлайн

    KMV2013

    Звание: Новичок

    Проверенные

    Сообщений: 46

    Создано тем: 0

    Рейтинг: 2

    Репа: 0

    Баллы: 161

    Страна: не указана!

    Был: 2023-08-01 09:35

    Лайков: 4

    Программу гляну и потом отпишусь.

    Большое спасибо! Я первый раз столкнулся с такой трудной программой! Ведь главное зараза какая, слов то почти ничего - а вот ни как переводиться не хочет! Мне главное понять алгоритм действия для русификации подобного софта! Вот к примеру у Sobolsof на сайте, есть где-то порядка 52 программа, многие из них довольно уникальны! Вылечить я могу любую - но хорошо бы ещё их было перевести на русский язык! Все программы написаны по одному шаблону, даже интерфейсы у них практически одинаковые! И если мне удастся осилить нормальный перевод хоть одной - я смогу по этому же принципу перевести и все! Мне говорили о Вас как о большом профессионале и я очень надеюсь на вашу помощь!
    Сообщение отредактировал gazon01 4 июля 2015 - 16:55
    6 июля 2015 - 11:59 / #11
  2. Оффлайн

    dinis124

    Звание: Бывалый

    Проверенные

    Сообщений: 290

    Создано тем: 13

    Рейтинг: 5

    Репа: 0

    Баллы: 51

    Был: 2020-05-02 14:08

    Лайков: 4

    KMV2013,

    При редактировании проекта Package.ini  впишите вот так: SandboxPath=.
    Параметр отвечает за создание папки песоницы рядом с исполняемым файлом программы,  в деинсталлятор указать  папку для удаления.
    Портативка ваша собрана в версии 4.7.2 . В ней заявлена поддержка win 8? Я если честно не знаю, но с версии 4.7.3 поддержка 100%. Исходя из этого проверьте работоспособность и если потребуется смените версию для корректной работы в win 8.

    Про Help не знаю. Мои тщетные попытки с ней завершились после неудачной компиляции декомпилированной программы.
    6 июля 2015 - 11:59 / #12
  3. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 933

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1616

    Был: 2024-05-09 15:29

    Лайков: 146

    Цитата: KMV2013
    Но как быть со словом "Help"??? Как удлинить его?




    По кнопке с надписью "Help". На русском языке это "Справка". В строке 7 символов, тогда как в оригинальной строке только 4. Как удлинить? За счет имени элемента управления, в котором эта строка задана. Откройте программу в НЕХ-редакторе и задайте поиск слова "Help". Самое первое вхождение и будет искомым местом. Чуть выше хорошо видна надпись "PushButton3" - это имя элемента управления. Перед ним, через нулевой байт, байт 0Bh - это счетчик символов в строке "PushButton3". В слове 11 символов, переведем в шестнадцатеричный формат - h. Понятно, да? Следующая строка "XtremeSuiteControls.PushButton" - имя компонента, содержит 30 символов. В шестнадцатеричном формате - h. Смотрите в НЕХ-код, так и есть, перед строкой, через нулевой байт записан байт h. И т.д.

    Рисунок 1


    Каждый блок данных в программе Visual Basic имеет счетчик. Его местоположение относительно данных, за которые он отвечает, несколько варьируется в зависимости от типа данных, но он всегда есть. Если изменить размер блока данных, а счетчик нет, то программа работать не будет, и наоборот, если изменить счетчик, а длину блока данных нет, то программа также работать не будет. Запомните это.

    Теперь смотрим строку "Help". Перед ней без разрыва записан счетчик - 04h, т.е. 4 символа. Чтобы вместить здесь строку "Справка" нужно где-то взять 3 байта. Просто добавить 3 байта нельзя - программа не будет работать. Отхватить три байта можно у имени элемента "PushButton3", получится "PushButt", и изменить счетчик для этой строки с h на 08h. Затем необходимо выделить байты, начиная с первого байта после строки "PushButton3" и заканчивая байтом 04 со счетчиком строки "Help". После чего скопировать и записать этот блок на три байта левее так, чтобы перед строкой "Help" получилось три дополнительных байта, которые мы забрали у строки "PushButton3". Наконец можно смело записать строку "Справка". Не забываем исправить счетчик для этой строки с 04h на 07h.

    Еще один момент. Строка "Help" является одним из свойством элемента управления "PushButton3", куда также входят свойства с характеристиками шрифта. На рис. 1 это блок данных показан серым цветом, а счетчик блока данных со свойствами указан кружком красного цвета - сейчас его значение 69h. Так вот, если у нас на три байта увеличится длина строки "Help", то соответственно изменится размер блока со свойствами элемента управления - 69h + 3h = 6Ch. Поэтому его также нужно подкорректировать.

    В итоге наши изменения в коде будут выглядеть следующим образом (также откорректирован набор символов для этого элемента):

    Рисунок 2


    Сохраните изменения в файле и запустите программу. Если вы нигде не ошиблись, то увидите в интерфейсе полную строку "Справка".

    Рисунок 3


    Вывод:
    Строку можно удлинить (в небольших пределах) за счет строки с именем элемента управления, на котором она размещается. При этом также необходимо откорректировать следующие счетчики: длина строки с именем элемента управления, длина локализованной строки, длина блока данных со свойствами элемента управления.
    Сообщение отредактировал 14 февраля 2017 - 01:18

    Кто ищет, тот всегда найдет!

    6 июля 2015 - 11:59 / #13
  4. Оффлайн

    KMV2013

    Звание: Новичок

    Проверенные

    Сообщений: 46

    Создано тем: 0

    Рейтинг: 2

    Репа: 0

    Баллы: 161

    Страна: не указана!

    Был: 2023-08-01 09:35

    Лайков: 4

    Большое спасибо! Согласно вашим советам мне удалось написать слово "Справка "! И в общем то я понял как увеличивать слова! Но как уменьшать!? Например мне удалось написать слово "Вверх" - а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...
    Сообщение отредактировал gazon01 4 июля 2015 - 20:09
    6 июля 2015 - 11:59 / #14
  5. Оффлайн

    Автор темы

    gazon01

    Звание: Ветеран

    Команда

    Сообщений: 1212

    Создано тем: 39

    Рейтинг: 8

    Репа: (42|41|-1)

    Баллы: 66

    Был: 2018-12-02 14:30

    Лайков: 17

    а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...

    пробел поставь вместо недостающих буков

    Возможно всё! На невозможное просто требуется больше времени.
    Мудрец из Шангри Ла

    6 июля 2015 - 12:00 / #15
  6. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 933

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1616

    Был: 2024-05-09 15:29

    Лайков: 146

    KMV2013,
    Цитата: KMV2013
    а лишении символы заменяю нулями...




    Все данные идут друг за дружкой, к тому же имеют строго определенные размеры и границы. Вставка хотя бы одного нулевого байта нарушает этот порядок и программа падает. Если строка с переводом короче оригинальной, то добиваем размер пробелами. Хотя лучше использовать это место для удлинения строк, где этой длины не хватает.

    Цитата: KMV2013
    Например мне удалось написать слово "Вверх"




    Вы же хотели написать там "Переместить вверх" и "Переместить вниз", согласно этого скриншота:

    Сообщение отредактировал 14 февраля 2017 - 01:19

    Кто ищет, тот всегда найдет!

    6 июля 2015 - 12:00 / #16
  7. Оффлайн

    KMV2013

    Звание: Новичок

    Проверенные

    Сообщений: 46

    Создано тем: 0

    Рейтинг: 2

    Репа: 0

    Баллы: 161

    Страна: не указана!

    Был: 2023-08-01 09:35

    Лайков: 4

    D
    Вы же хотели написать там "Переместить вверх" и "Переместить вниз", согласно этого скриншота:


    В идеале конечно бы хотел написать! Но как увеличить размер кнопки?
    Сообщение отредактировал Leserg 4 июля 2015 - 21:05
    6 июля 2015 - 12:00 / #17
  8. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 933

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1616

    Был: 2024-05-09 15:29

    Лайков: 146

    Цитата: KMV2013
    Но как увеличить размер кнопки?




    Вот так


    Порядок байт обратный. Например, координата Х - последовательность байт в НЕХ-редакторе D8 18. Переворачиваем байты в обратном порядке - 18 D8. Переводим в десятичный формат - 6360 твипов.
    Сообщение отредактировал 14 февраля 2017 - 01:19

    Кто ищет, тот всегда найдет!

    6 июля 2015 - 12:00 / #18
  9. Оффлайн

    KMV2013

    Звание: Новичок

    Проверенные

    Сообщений: 46

    Создано тем: 0

    Рейтинг: 2

    Репа: 0

    Баллы: 161

    Страна: не указана!

    Был: 2023-08-01 09:35

    Лайков: 4

    Что то я по моему запутался в счётчиках - вот:

    я правильно их определил и поменял значения (красного цвета)? Хочу удлинить надпись: "Add SWF File(s)" на 5 байт: "Добавить SWF Файл(ы)" и что то не выходит... Снова ломается программа...
    Сообщение отредактировал 14 февраля 2017 - 01:19
    6 июля 2015 - 12:00 / #19
  10. Оффлайн

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 933

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1616

    Был: 2024-05-09 15:29

    Лайков: 146

    Цитата: KMV2013
    я правильно их определил и поменял значения (красного цвета)?




    Да, правильно. Только не забывайте смещать данные на количество байт, забранных у имени элемента управления, начиная от текста, который необходимо удлинить. Просто поменять счетчики недостаточно. Должно получиться вот так:



    Также не забывайте про добавление поддержки кириллицы (ССh). Еще, в русском языке не принято писать все слова с большой буквы. Не стоит вносить и смешивать стили написания чуждые русскому языку. Допускается делать акценты, например, "Курить ЗАПРЕЩЕНО!", но лепить их куда ни попадя является признаком дурного тона.
    Сообщение отредактировал 14 февраля 2017 - 01:20

    Кто ищет, тот всегда найдет!

    6 июля 2015 - 12:00 / #20

Статистика форума, пользователей онлайн: 1 (за последние 20 минут)

Создано тем
1179
Всего сообщений
15388
Пользователей
17860
Новый участник
danya8308