
| Константы |
|
Есть много вещей, которые мы можем изменить. И так же много тех, что изменить невозможно. Давайте поговорим о вторых. Земля делает полный оборот за 24 часа - нам этого не изменить. Если вы бросите камень, он упадет - по-другому быть не может. Двигателю необходимо топливо, чтобы работать - по крайней мере, современный двигатель мы не сможем запустить без топлива. А компьютеры? Они используют константы постоянно, даже если мы не замечаем этого. Не только эти глупые машины не могут работать без постоянного напряжения питания, но и программная часть использует постоянные значения данных. Постоянные значения - это не просто буквы и цифры, они представляются с помощью различных наименований, используемых для описания констант. Также как почтовые открытки имеют адреса своих получателей...
...так и константы в программах имеют свои имена, что облегчает понимание того, какой именно тип данных назначен каждой из них. Данные называются константами, если программа не может непосредственно изменить их.
Давайте представим, что стакан - это наименование постоянной. Вода в стакане - постоянная. Она не меняется с течением времени. Константы в Multimedia Builder используются:
Некоторые константы могут быть изменены, но косвенно - если вы замените воспроизводящийся видео или аудиофайл, то это повлияет на константы длительности и наименования файла. Но MMB делает замены автоматически, поэтому вам не стоит беспокоиться об этом. Важной особенностью констант в MMB является то, что они могут передавать свое значение в числовые и строковые переменные. Это открывает широкий простор для работы с полученными значениями. Чтобы передать значение постоянной в числовую переменную, вы должны сделать следующее: a) написать имя числовой переменной: CurrentYear b) затем указать знак присваивания: = c) и указать константу, значение которой необходимо получить: CBK_Year В полном виде код команды для получения значения текущего года из константы CBK_Year в числовую переменную CurrentYear выглядит так: CurrentYear=CBK_Year Чтобы передать значение постоянной в строковую переменную, вы должны сделать следующее: a) написать имя строковой переменной: WindowsVer$ b) затем указать знак присваивания: = c) и указать константу, значение которой необходимо получить: WinVer() Код команды для получения значения версии Windows из константы WinVer() в строковую переменную WindowsVer$ выглядит так: WindowsVer$=WinVer() Как видно из примеров, некоторые константы имеют числовое значение, а некоторые - строковое (в зависимости от содержащейся в них информации). Константы CBKИх название такое ужасное и неуклюжее (CBK!), но они не более чем системные константы, значение которых может отображаться в текстовых объектах. Да! Кто бы мог подумать ;-) Константы CBK являются частью текстового объекта ("Text Object"). Давайте посмотрим, что здесь можно узнать и чему научиться.
В свойствах текстового объекта, справа от поля "Label", есть кнопка со стрелкой. С ее помощью открывается список констант CBK, которые вы можете использовать в вашем проекте. Они разделены на 6 категорий, в зависимости от их содержания. Во время выполнения программы в текстовом объекте будет отображаться значение выбранной константы. Пояснения ко всем константам CBK далее. Аудио CBK константы
Константы CBK внутреннего списка MMB
Основные CBK константы
Скриптовые CBK константы
Системная информация играет важную роль в настройке работы вашего приложения на машинах конечных пользователей; в зависимости от полученной информации, ваш проект может выбрать наиболее подходящее для данного компьютера представление. В MMB системные константы содержат информацию об экране, окне приложения, процессоре и памяти и эти константы используются в качестве параметров для команд. Например: Команда(СистемнаяКонстанта(),Параметр 2) Команда будет использовать значение системной константы в качестве первого параметра. Для того чтобы узнать, как используются системные константы реальными командами, смотрите подробное описание каждой из них. возвращает значение ширины экрана в пикселях
Пример использования: возвращает значение высоты экрана в пикселях
Пример использования: возвращает значение ширины рабочей области экрана в пикселях
Пример использования: возвращает значение высоты рабочей области экрана в пикселях
Пример использования: возвращает значение координаты X (горизонтальная ось) положения курсора мыши относительно левой границы рабочей области приложения
Пример использования: возвращает значение координаты Y (вертикальная ось) положения курсора мыши относительно верхней границы рабочей области приложения
Пример использования: MouseLButton() возвращают состояние кнопок мыши. Пример использования: Создайте новый скрипт с именем Script и поместите в него следующий код:
Для более детального знакомства с процедурой определения состояния кнопок мыши откройте файл mousestatedetection.mbd. отображает производителя, марку и частоту центрального процессора в текстовом формате Пример использования:
Полученное значение может иметь вид: отображает производительность центрального процессора в МГц в числовом формате Пример использования: Полученное значение может иметь вид:
Пример использования: Полученное значение может иметь вид: 511/324
Пример использования:
1
Пример использования:
Полученное значение может иметь вид: Порядковые номера версий Windows:
Пример использования: Полученное значение может иметь вид: Эти константы относятся к свойствам и параметрам окна приложения вашего проекта. Вы можете получить информацию о размере, координатах и состоянии окна. возвращает значение длины окна приложения (вместе с границей) в пикселях
Пример использования: возвращает значение высоты окна приложения (вместе с границей и заголовком) в пикселях
Пример использования: возвращает значение длины рабочей области окна приложения в пикселях
Пример использования: возвращает значение высоты рабочей области окна приложения в пикселях
Пример использования: возвращает значение координаты X окна приложения в пикселях
Пример использования: возвращает значение координаты Y окна приложения в пикселях
Пример использования: эта функция проверяет состояние окна приложения Функция возвращает одно из двух значений:
эта функция также проверяет состояние окна приложения Функция возвращает одно из двух значений:
Эти константы относятся к свойствам и параметрам объектов в вашем проекте. С их помощью вы можете получить информацию о размере и координатах объектов. возвращает координату X указанного объекта Отсчет координат начинается с верхнего левого угла окна приложения. Имя объекта, координату которого требуется получить, заключается в круглые скобки.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием координаты X верхнего левого угла объекта "Button" возвращает координату Y указанного объекта Отсчет координат начинается с верхнего левого угла окна приложения. Имя объекта, координату которого требуется получить, заключается в круглые скобки.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием координаты Y верхнего левого угла объекта "Button" возвращает длину указанного объекта Длина отсчитывается от верхнего левого угла объекта Имя объекта, длину которого требуется получить, заключается в круглые скобки.
Пример использования: Message("Длина кнопки: ","ObjectWidth(Button)") С помощью этой команды на экран будет выведено сообщение с указанием длины объекта "Button" возвращает высоту указанного объекта Высота отсчитывается от верхнего левого угла объекта Имя объекта, высоту которого требуется получить, заключается в круглые скобки.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием высоты объекта "Button" возвращает имя объекта, из которого была вызвана эта функция Пример использования: Если эта функция размещена, например, в объекте "TextBTN", то она вернет строку "TextBTN". Это удобно использовать в тех случаях, когда необходимо копировать и вставлять имя объекта несколько раз, особенно, если в скрипте требуется обратиться к текущему объекту. возвращает значение координаты X изображения внутри растрового объекта Это полезно, если изображение меньше или больше, чем сам растровый объект (контейнер изображения) и изображение прокручивается внутри объекта (опция "Keep Actual Image Size" должна быть включена). ImageScrollX возвращает отрицательное значение, если верхний левый угол изображения выходит за рамки контейнера объекта.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием координаты X изображения внутри объекта "Bitmap". возвращает значение координаты Y изображения внутри растрового объекта Это полезно, если изображение меньше или больше, чем сам растровый объект (контейнер изображения) и изображение прокручивается внутри объекта (опция "Keep Actual Image Size" должна быть включена). ImageScrollY возвращает отрицательное значение, если верхний левый угол изображения выходит за рамки контейнера объекта.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием координаты Y изображения внутри объекта "Bitmap". возвращает полную длину изображения В то время как функция ObjectWidth возвращает длину объекта, ImageWidth возвращает полную длину изображения, даже если часть изображения не видна (так бывает, если изображение больше, чем его контейнер). Имя изображения, длину которого требуется получить, заключается в круглые скобки.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием длины изображения "Bitmap". возвращает полную высоту изображения В то время как функция ObjectHeight возвращает высоту объекта, ImageHeight возвращает полную высоту изображения, даже если часть изображения не видна (так бывает, если изображение больше, чем его контейнер). Имя изображения, высоту которого требуется получить, заключается в круглые скобки.
Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием высоты изображения "Bitmap". возвращает текущее значение непрозрачности указанного растрового объекта Непрозрачность изображения может быть задана как во время разработки приложения (в свойствах Растрового объекта), так и во время выполнения программы (через команду ImageOpacity). Пример использования:
GetVideoParam(ИмяОбъекта,Параметр) возвращает текущее состояние заданного параметра (0/1 = ВЫКЛ/ВКЛ):
Пример использования: GetVideoState=GetVideoParam(Video, mute) возвращает длину (если полоса прокрутки вертикальная) или высоту (если полоса прокрутки горизонтальная) полосы прокрутки изображения в пикселях. Эта функция полезна, если полоса прокрутки включена, и вы хотите узнать размер растрового объекта вместе с полосой прокрутки. Размер полосы прокрутки может отличаться в разных ОС. Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием высоты полосы прокрутки изображения "Bitmap". эта функция проверяет, существует ли объект на данной странице и отображается он или нет Функция возвращает одно из трех значений:
Имя объекта, состояние которого требуется выяснить, заключается в круглые скобки. Пример использования: С помощью этой команды на экран будет выведено сообщение с указанием состояния объекта "Button". В MMB могут быть фиксированные и динамические пути: Фиксированный путь: полный путь, включающий в себя имя диска, путь к файлу и имя файла. Такой путь указывает на определенное место на диске.Например: C:\My Wonderful Project\Bin\MyProject.exe Отрицательной стороной фиксированного пути является то, что потребитель продукта не может выбрать директорию, в которой он будет установлен. На сегодняшний день такой подход считается непрофессиональным. Динамический путь: в MMB относительные пути используются для более легкого доступа к часто используемым каталогам. Использование относительных путей облегчает работу конечных пользователей с вашим приложением. Относительные пути в MMB представляют собой строковые константы, и вы можете использовать их в качестве параметров. Например: Команда("Параметр 1","<ПутьКФайлу>\MyProject.exe")Этот пример использует относительный путь <ПутьКФайлу>, чтобы получить значение пути к исполняемому файлу. После относительного пути указано полное имя приложения (в данном случае MyProject.exe). Помимо описанных здесь относительных путей, в MMB существует отдельный относительный путь для подключаемых модулей. Для более подробного знакомства с этим вопросом смотрите документацию по подключаемым модулям. Теперь познакомимся с относительными путями, используемыми в MMB, более подробно: Наиболее часто используемый относительный путь, представляющий собой путь к выполняющемуся приложению. Относительный путь SrcDir в командах представляет ту часть пути к файлам, которая предшествует имени исполняемого файла проекта.
Если полный путь к приложению имеет следующий вид: C:\Program Files\My Project Folder\MyProject.exe ...тогда с использованием <SrcDir> этот же путь будет выглядеть так: <SrcDir>\MyProject.exe Так намного проще, не правда ли? Для каждого файла, находящегося в каталоге вашего проекта, можно заменить фиксированные пути динамическими и наслаждаться преимуществом самокорректирующихся путей. В командах MMB этот относительный путь используется следующим образом: Команда("Параметр 1","<SrcDir>\MyProject.exe") В этом примере команда использует <SrcDir> в составе второго параметра, который указывает на путь к файлу проекта. MMB переводит значение относительного пути <SrcDir> в обычный путь (например, С:\Program Files\My Project\MyProject.exe) и команда выполняется. Примечание: MMB запускает проекты в двух режимах:
Представляет собой корневой каталог диска, с которого запущено приложение.
Если приложение расположено на диске C, то относительный путь <SrcDrive> будет содержать значение: C:\ Этот путь используется в приложениях, ориентированных на CD-ROM или DVD-ROM, когда все динамические пути задаются относительно корневого каталога. Возвращает значение корневого каталога первого оптического привода.
Если первый привод имеет букву E, то относительный путь <CD> будет содержать значение: E:\ Этот относительный путь также как и <SrcDrive> используется в приложениях, ориентированных на CD-ROM или DVD-ROM. Кроме того, он может быть полезен при создании медиаплееров, для указания пути к аудио и DVD-дискам. Недостатком данного пути является то, что он не может индексировать все оптические приводы, а только первый. Возвращает путь к папке, используемой для хранения вложенных файлов.
Как видно из рисунка, вложенные файлы помещаются во временную папку Windows, и их расположение может отличаться в разных ОС. Например, если у вас имеется вложенный звуковой файл: MySound.wav С использованием относительного пути, его расположение описывается следующим образом: <Embedded>\MySound.wav Когда вы запустите приложение, MMB преобразует этот путь в обычный: C:\Windows\Temp\MMBPlayer\MySound.wav (для семейства операционных систем Windows 9x) ...или в такой путь: C:\Documents and Settings\UserName\Local Settings\Temp\MMBPlayer\MySound.wav (для операционных систем семейства NT, где каталог временных файлов создается для каждого пользователя в отдельности). Возвращает значение пути к каталогу Windows.
Например, если Windows установлена на диске C, и вы хотите указать путь к файлу win.ini, то с использованием <Windows> он будет выглядеть так: <Windows>\win.ini Когда вы запустите приложение, MMB преобразует этот путь в обычный: C:\WINDOWS\win.ini В MMB этот путь используется для указания пути к конфигурационным INI-файлам. Возвращает значение пути к системному каталогу Windows.
Если вам необходимо указать путь к программе dxdiag.exe, то с помощью относительного пути это будет выглядеть следующим образом: <System>\dxdiag.exe Когда вы запустите приложение, MMB преобразует этот путь в обычный: C:\Windows\system\dxdiag.exe (для семейства операционных систем Windows 9x) ...или в такой путь: C:\WINDOWS\system32\dxdiag.exe (для операционных систем семейства NT) Примечание: для операционных систем семейства NT Windows 2000/Windows 2000 Server и более ранних этот путь будет выглядеть так: C:\WINNT\system32\dxdiag.exe Возвращает значение пути к каталогу временных файлов Windows.
Если у вас есть временный файл: TempList.txt С использованием <Temp> путь к нему будет выглядеть так: <Temp>\TempList.txt Когда вы запустите приложение, MMB преобразует этот путь в обычный: C:\Windows\Temp\TempList.txt (для семейства операционных систем Windows 9x) ...или в такой путь: C:\Documents and Settings\UserName\Local Settings\Temp\TempList.txt (для операционных систем семейства NT, где каталог временных файлов создается для каждого пользователя в отдельности). Возвращает полный путь и имя выбранного в диалоговом окне "Открыть" файла.
Если вы открыли файл: C:\WINDOWS\regedit.exe то впоследствии вы можете использовать этот же путь с помощью относительного пути: <File> Содержимое этого относительного пути изменяется всякий раз, как только пользователь откроет файл, поэтому для хранения нескольких путей рекомендуется использовать строковые переменные или массивы. Используется в командах, относящихся к внутреннему списку файлов MMB и плейлистам.
Константа <List> хранит перечень всех объектов из внутреннего списка (Internal List) файлов MMB, поэтому вы легко можете переместить содержимое внутреннего списка в обычный объект-список. Пример использования: В этом примере содержимое внутреннего списка передается в список с именем "SongList". Для ознакомления с подробной информацией по команде ListBoxAddItem смотрите раздел Команды управления списком. Это специальный макрос, использующийся только в MCI-командах. Он указывает устройству на то, что окно проекта MMB является родительским, то есть основным. Вот небольшой пример, показывающий, как запустить видеофайл в окне проекта: MCICommand("open <SrcDir>\sample.mpg alias MPEG style child parent <This>") |
MMB Программирование без границ :: dgilmour, перевод на русский язык, 2006 :: Все права защищены :: www.mmbscript.ru