WYLEK.ru

avatar_gazon01

Join Multiple SWF Files Into One Software

Автор gazon01, 06 июля 2015, 11:57:00

« MindGenius | Reallusion CrazyTalk Animator »

0 Пользователи и 1 гость просматривают эту тему.

Leserg

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


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

Рисунок 1
https://wylek.ru/_fq/4/06072015/7416928.png

Каждый блок данных в программе 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
https://wylek.ru/_fq/4/06072015/7418976.png

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

Рисунок 3
https://wylek.ru/_fq/4/06072015/7464035.png

Вывод:
Строку можно удлинить (в небольших пределах) за счет строки с именем элемента управления, на котором она размещается. При этом также необходимо откорректировать следующие счетчики: длина строки с именем элемента управления, длина локализованной строки, длина блока данных со свойствами элемента управления.
Кто ищет, тот всегда найдет!
 https://nick-name.ru/forum/Leserg.gif
  •  

KMV2013

Большое спасибо! Согласно вашим советам мне удалось написать слово "Справка "! И в общем то я понял как увеличивать слова! Но как уменьшать!? Например мне удалось написать слово "Вверх" - а вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...
  •  

gazon01Автор темы

Цитироватьа вот слово "Вниз" увы ни как! Программа ломается! Хотя я вроде и меняю значение счётчиков а лишении символы заменяю нулями...
пробел поставь вместо недостающих буков
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла
https://nick-name.ru/forum/OSP.gif
  •  

Leserg

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


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

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


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

https://wylek.ru/_fq/4/06072015/6db061c16f73.jpg
Кто ищет, тот всегда найдет!
 https://nick-name.ru/forum/Leserg.gif
  •  

KMV2013

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

В идеале конечно бы хотел написать! Но как увеличить размер кнопки?
  •  

Leserg

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


Вот так
https://wylek.ru/_fq/4/06072015/7416954.png

Порядок байт обратный. Например, координата Х - последовательность байт в НЕХ-редакторе D8 18. Переворачиваем байты в обратном порядке - 18 D8. Переводим в десятичный формат - 6360 твипов.
Кто ищет, тот всегда найдет!
 https://nick-name.ru/forum/Leserg.gif
  •  

KMV2013

Что то я по моему запутался в счётчиках - вот:
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/0b2071251930.jpg
[свернуть]
я правильно их определил и поменял значения (красного цвета)? Хочу удлинить надпись: "Add SWF File(s)" на 5 байт: "Добавить SWF Файл(ы)" и что то не выходит... Снова ломается программа...
  •  

Leserg

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


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

https://wylek.ru/_fq/4/06072015/7406704.png

Также не забывайте про добавление поддержки кириллицы (ССh). Еще, в русском языке не принято писать все слова с большой буквы. Не стоит вносить и смешивать стили написания чуждые русскому языку. Допускается делать акценты, например, "Курить ЗАПРЕЩЕНО!", но лепить их куда ни попадя является признаком дурного тона.
Кто ищет, тот всегда найдет!
 https://nick-name.ru/forum/Leserg.gif
  •  

KMV2013

Уважаемый Leserd - посмотрите пожалуйста, где я допустил ошибку:
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/0c51cd6a7037.jpg
[свернуть]
При запуске программы появляется вот такое сообщение:
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/e8f5c7fe0f72.jpg
[свернуть]
  •  

Leserg

Цитироватьгде я допустил ошибку
Здесь нет ошибки. Вы её допустили где-то в другом месте. В каком, затрудняюсь ответить.
Кто ищет, тот всегда найдет!
 https://nick-name.ru/forum/Leserg.gif
  •  

KMV2013

Всё, спасибо - разобрался сам! :biggrin:  Ошибку устранил! Но возникла другая проблема! В счётчике блока со свойствами стоит значение 80 или Ђ - нужно прибавить три байта,  какое значение должно быть (ни нашёл ни в одной таблице)?
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/bb8f1a999900.jpg
[свернуть]


Добавлено (05.07.2015, 13:04:05)
---------------------------------------------
Нашёл таблицу! Оказалось 83 или Ѓ
: biggrin : Дааа, какой геморрой переводить такие программы!!!: surprised :
  •  

gazon01Автор темы

Цитата: KMV2013В счётчике блока со свойствами стоит значение 80 или Ђ - нужно прибавить три байта,  какое значение должно быть (ни нашёл ни в одной таблице)?


Цитата: KMV2013Нашёл таблицу! Оказалось 83 или Ѓ Дааа, какой геморрой переводить такие программы!!!


берешь штатный калькулятор windows. переводишь его в инженерный режим, выбираешь HEX и производишь вычисления

https://wylek.ru/_fr/1/7764444.jpg
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла
https://nick-name.ru/forum/OSP.gif
  •  

KMV2013

Цитироватьберешь штатный калькулятор windows. переводишь его в инженерный режим, выбираешь HEX и производишь вычисления
Спасибо! Отличная мысль! А то я по готовым таблицам ищу! А всё оказывается гораздо проще!
  •  

KMV2013

Вроде перевёл...
https://wylek.ru/_fq/4/06072015/d513055c9043.jpg

Может кто протестирует на работоспособность (наличие кракозябров)?
Войдите на сайт для перехода по ссылке

 В архиве 2 файла: Join Multiple SWF Files Into One Software Rus RePack Setup и версия Join Multiple SWF Files Into One Software Rus Portable +  папка с SWF файлами для тестирования в программе...
  •  

gazon01Автор темы

Цитата: KMV2013Программа Join Multiple SWF Files Into One Software - написана на Microsoft Visual Basic 5.0. Как сделать нормальный перевод, если слова в ресурсах записаны вот таким образом: x04Helpx12 или x0FAdd SWF File(s)x12 ? После некоторых "танцев с бубном", я всё таки прописал там русские слова (прописать удалось вот только так: x0F...Добавить Файлы..........Add SWF File(s)x12 ), то есть, русские слова записал без удаления оригинальных слов, ибо при их полной замене надпись в интерфейсе исчезает! И пришлось делать сокращения, а хотелось бы перевести полностью - это вообще возможно? В смысле удлинить строки в этой программе?


Окно программы (единственное):
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/49a5ae52ddc8.jpg
[свернуть]

Как хотелось бы перевести:
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/6db061c16f73.jpg
[свернуть]

Как вышло (слово "Help" перевести не смог, из за лимита в 4 буквы и с досады убрал совсем!):
Показать / Скрыть текст
https://wylek.ru/_fq/4/06072015/1378f00fdccb.jpg
[свернуть]

Страница загрузки программы: Войдите на сайт для перехода по ссылке
Возможно всё! На невозможное просто требуется больше времени.
 Мудрец из Шангри Ла
https://nick-name.ru/forum/OSP.gif
  •  

* Ваши права на сайте

    Light Portal

  • Вы можете просматривать элементы портала
  • Вы не можете управлять блоками
  • Вы не можете управлять своими страницами
  • Вы не можете размещать свои страницы без модерации

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

Яндекс.Метрика Каталог@MAIL.RU - каталог ресурсов интернет