ОБМЕН ОПЫТОМ, ПОЛЕЗНЫЕ
СОВЕТЫ, СКРИПТЫ, ОТДЕЛЬНЫЕ РЕШЕНИЯ
О компиляции конечного файла Об
ограничении размера скрипта Упрощенное создание растровой
кнопки Видоизменение текстовой
кнопки Проблемы со
шрифтами Определение версии Windows и системных
параметров
О
компиляции конечного файла
Установки, сделанные в окне сборки конечного файла,
сильно влияют на размер выходного ехе-файла. Так, в группе
"Проигрыватель" можно ставить не "Полный", а "E-card", в том случае, если в проекте не
предусмотрено воспроизведение мр3 (wav-файлы можно) а также OGG и MIDI-файлов,
не используются плагины, команда ReplaceImage() и некоторые другие опции.
Режим "E-card" (т.е. "почтовая
карточка") создаст размер выходного файла значительно меньшего
размера, так как не включает в конечный файл движки для мр3 и
т.п. Этот режим как раз и создан для того, чтобы отправлять
готовые файлы по E-mail. Правда, эта
экономия заметна на файлах лишь небольшого размера. Если
скомпилированный файл у вас тянет на 10 Мб, то уменьшение его
на 400 Кб вряд ли спасет дело :)
Следующий шаг уменьшения размера выходного файла -
всегда ставить флажок в поле "Безопасный уровень". Как пишет
сам автор программы, главное его назначение - это чтобы ваш
файл никто не мог потом "поковырять" в шестнадцатеричном
редакторе и выдернуть оттуда какие-нибудь ресурсы. Однако, как
замечает автор, установка этого флажка может приводить к
некоторому снижению скорости запуска конечного файла. Мы этого
пока что-то не заметили, а вот то, что размер файла
уменьшается - это точно!
Далее. В окне "Метод сжатия" надо всегда
внимательно выбирать приемлемое сжатие для вашего проекта.
Так, если в проекте нет очень качественных картинок, а в
большем случае использованы только кнопки и тексты, смело
можно выбирать метод сжатия "Низкое качество" или "Среднее
качество" - размер готового файла будет значительно меньше.
При наличии же картинок надо поэкспериментировать с методами
"Лучшее качество" и "Хорошее качество", так как не всегда
"лучшее" бывает лучше "хорошего" :)), а вот размер файла дает
ощутимо меньший. Метод сжатия "ZIP
100% качество" скомпилирует ваш файл без каких-либо потерь, с
полным сохранением качества, однако размер будет уже сами
понимаете каким... Но когда, как говорится, "размер не имеет
значения" - выбирайте только этот последний режим.
И еще. Перед тем, как компилировать файл, неплохо
бы в меню Файл выбрать пункт "Уменьшить размер...". Если в
вашем проекте присутствуют картинки, которые вы туда
"втащили", а потом вручную отмасштабировали в сторону
уменьшения, или применяли к ним эффект "обрезки", то в проекте
хранятся ставшие "ненужными" пикселы, и тогда программа
автоматически найдет их и уничтожит. Это не только уменьшит
размер выходного файла, но и размер файла самого проекта,
причем иногда даже на мегабайты. Жесткий диск ведь ваш тоже не
безразмерный?
Наверх
Об
ограничении размера скрипта
Недавно выяснилось, что безразмерный скрипт программа написать вам не даст - существует
ограничение на его размер, выраженный в знаках. Так, при
разработке проекта интеллект-теста был запланирован скрипт,
содержащий 500 значений переменных вопросов и ответов. При
загрузке текста в скрипт (а если вы еще не знаете, теперь
скрипт можно написать в программе Word
и затем импортировать его, а также и экспортировать скрипты из
ММВ в формат rtf для последующей их
правки в Word) программа стала
ругаться об ошибке параметра, и после загрузки скрипта
выяснилось, что "втащила" она только 349 групп "вопрос-ответ",
остальные были просто срезаны и курсор упрямо не хотел
двигаться дальше определенного знака (после какого именно, мы
уж не стали определять). Это надо иметь в виду при разработке
"лохматых" проектов и заранее планировать распределение работы
между несколькими скриптами (как и было сделано в нашем
случае, после чего все было завершено успешно).
Наверх
Упрощенное
создание растровой кнопки
Иногда растровую кнопку можно сделать не из
трех изображений-состояний, а всего из одного, если
загрузить основное изображение кнопки и установить флажок
"Авто" в поле с изображением. Так, например, можно сделать
большую квадратную кнопку с изображением на ней себя,
любимого. После установки флажка "Авто" в поле
предварительного просмотра справа вы можете увидеть, каков
будет результат наведения мыши и ее нажатия. Если устраивает -
говорите ОК!
Наверх
Видоизменение текстовой
кнопки
Стандартная текстовая кнопка поганого грязно-серого
цвета, надоевшего всем со времен Windows
95, не есть догма. Во-первых, цвет кнопки легко
изменяется в соответствующем окне (не забудьте заодно изменить
и цвет шрифта надписи), во-вторых, изменяется также и ее
размер (просто с помощью мыши). Таким образом кнопку можно
изменить до неузнаваемости - например, сделать ее черной с
белым текстом, маленькой квадратной формы, вместо текста
написать на ней заглавную букву "Х" и присвоить действие
Exit(). Получится
оригинальная кнопка выхода из программы. Или сделать ее узкой
и длинной, чтобы уместилось не одно слово, а фраза. А еще
текстовая кнопка может видоизменять стиль - кнопка или пункт
меню. Если выбрать флажок "пункт меню", кнопка станет уже и не
кнопкой вовсе, а будет напоминать пункт меню с
изменением цвета фона и текста при наведении на него мышью.
Цвет фона и текста при наведении мыши можно выбирать, а вот
цвет фона исходного состояния изменить не удастся - он
останется белым. Группируя такие кнопки-пункты меню в группы и
присваивая им имена CBK_Menu, можно имитировать в
проекте настоящие меню (смотри, например, EasyMP3-плеер на
странице Образцы готовых
проектов).
Наверх
Проблемы со
шрифтами
Известно, что существует проблема с использованием
оригинальных шрифтов в проекте. Так, если вы применили для
какого-нибудь заголовка экзотический шрифт, существующий у вас
в системе, то когда вы принесете файл своему другу, у которого
данного шрифта нет, у него вместо заголовка будут
каракули.
Эта проблема решается несколькими способами. Первый
способ (имхо, не самый лучший) - это использовать команду
InstallFont(), которую прописать в скрипте
старта первой страницы проекта. Сам файл используемого шрифта
надо внедрить в проект (Меню "Проект" - "Внедренные файлы...")
и обращаться к нему через условный путь <Emdedded>\. То есть в скрипте старта
первой страницы должна быть запись, похожая на эту:
InstallFont("<Embedded>\DERBY.TTF")
После этого присваиваете нужным текстовым объектам
выбранный шрифт и проблема, вроде бы, решена. Потому-что
теперь после старта проекта на любом компьютере будет
выполняться команда установки вашего шрифта во временный
каталог, откуда он и будет подключаться к проекту, а после
закрытия проекта, соответственно, удаляться (не проверялось
:))). Но тут существует, на мой взгляд, по крайней мере две
проблемы. Первая, это то, что файлы некоторых шрифтов весят по
200 Кб и больше, что затрудняет их использование, если вы
собираетесь сделать компактный проект. И вторая проблема
заключается в трудности проверки на вашем собственном
компьютере, происходит ли подключение шрифта? А вдруг вы
что-нибудь сделали неправильно? Ведь в вашей системе шрифт
установлен постоянно, и поэтому всегда будет отображаться
правильно, независимо от того, происходит ли его инсталляция
или нет. Не будете же вы ради проверки постоянно удалять его
из системной папки? (Впрочем, у меня эта проблема решена, так
как я использую менеджер шрифтов Extensis Suitcase и все
остальные шрифты, кроме системных, подключаются только после
запуска этой программы, и отключаются после ее закрытия.
Поэтому, установив нужный шрифт, я закрываю
менеджер шрифтов, и назначенный шрифт в проекте сразу
пропадает. Тут-то уж не ошибешься, работает ли команда
InstallFont()).
Однако есть и другие способы расправиться со
"строптивыми" шрифтами. Вот еще один. Выделив нужный текстовый
объект, в меню "Объект" выберите "Преобразовать в рисунок", и
ваш заголовок превратится из текстового объекта в битмап, у
которого автоматически создадутся прозрачные области, чтобы
просвечивал фон. Битмап, как известно, есть картинка
(растровый объект), а значит будет отображаться одинаково при
любых обстоятельствах. При этом, что важно, исходный текстовый
объект не удаляется из проекта, а делается скрытым (к его
имени добавятся буквы _BAK). Это очень
важно, так как позволяет в дальнейшем редактировать текстовый
объект. Кстати, не забудьте перед преобразованием в рисунок
сгладить шрифт (установить флажок "Сгладить" в свойствах
текстового объекта).
Этот способ хорош тем, что не требует внедрять в
проект файл шрифта. Но появление в проекте дополнительного
битмапа также увеличивает его размер.
Еще один способ предложил bron (автор русификаций
ММВ версий 4.9.01 и 4.9.5). Заключается он в следующем. Пишем
то, что нужно, и шрифтом, каким нужно. Затем выбираем пункт
меню "Эффекты > ММВ-эффекты > Подсветка". В открывшемся окне в поле
"Перо" ставим ширину пера 0 и направление "Внешний", в поле
"Цвет" такой же цвет, как у шрифта, остальные поля оставляем,
как есть. После применения эффекта появится группа объектов,
один из которых будет иметь имя типа Text_GL. Это и есть то,
что нам нужно (объект также получается растровый). Второй
объект в группе нужно сделать скрытым. Этот способ хорош тем,
что буквы автоматически будут сглаженными, за счет применения
к ним эффекта.
Наверх
Определение
версии Windows и системных
параметров
Хороший скрипт нам прислал Civil. Скрипт
позволяет определять тип и версию (билд) операционной системы,
объем общей и доступной памяти, частоту процессора и его тип,
а также разрешение экрана и количество цветов монитора. При
запуске скрипта какой-нибудь командой (например, нажатием на
кнопку) в соответствующие текстовые объекты выводится вся
нужная информация. Скрипт проверен, работает
железно.
В связи с тем, что текст скрипта достаточно
длинный, предлагаем вам скачать его в виде текстового
файла rtf. Комментарии вы найдете
внутри файла.
Кроме того, на основе данного скрипта был
разработан маленький проект "Информация
о системе", который доступен для загрузки со страницы
"Образцы готовых проектов".
Наверх
Ведущий
рубрики: as-master
(Clubrus)
Обсудить на Форуме! |