Самостоятельная проверка условия и выбор заданного действия




1. Установка мультиязычного приложения.

 

Разберем подробнее код:
Вводим в установщик поддержку трех языков: английского, французского и русского:

; Languages
&EN, FR, RU

Теперь начинаем выполнять проверку. В данном случае будет проверено, какой язык установлен в ОС смартфона.
Если установщик определит, что в телефоне пользователя установлен французский язык, как язык ОС:

IF (Language=0x00000002)

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

"D:\Text02.txt"-"", FT, TC
"D:\Resource\Apps\ACM0x20000131.R02"-"!:\Resource\Apps\ACM0x20000131.R02", FF

Если же установщик определит, что в телефоне пользователя установлен русский язык, как язык ОС:

ELSEIF (Language=0x00000010)

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

"D:\Text16.txt"-"", FT, TC
"D:\Resource\Apps\ACM0x20000131.R16"-"!:\Resource\Apps\ACM0x20000131.R16", FF

Если язык ОС не соответствует первому условию и не соответствует второму, т.е., не является французским и не является русским (проще говоря - во всех остальных случаях):

ELSE

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

"D:\Text01.txt"-"", FT, TC
"D:\Resource\Apps\ACM0x20000131.R01"-"!:\Resource\Apps\ACM0x20000131.R01", FF

Конец условия:

ENDIF

Далее следует установка файлов, без каких либо проверок на условие (т.к. обработка условия была закончена), т.е. копирование файлов с указанными именами по указанным адресам в смартфоне.

"D:\private\20000131\backup_registration.xml"-"!:\private\20000131\backup_registration.xml", FF

Пояснение: Откуда мной получено, например, значение русского языка

Language=0x00000010

Это запись кода русского языка в НЕХ значениях.
Всем известно, что файлы русской локализации имеют значение 16, т.е. file_name.r16. Число 16 - это числовой код языка в DEC системе счисления. Если 16 перевести в НЕХ значение, то получаем 10.


2. Проверка принадлежности к платформе.

Обработка данного условия позволяет устанавливать файлы в зависимости от операционной системы. Проверка принадлежности телефона к платформе может быть выполнена путем проверки файлов в папке z:\system\install:

 

Разберем подробнее код:
В данном коде выполняется проверка на принадлежность к платформе S60 3rd Edition FP2 или S60 5rd Edition. Если файл Series60v3.2.sis или же файл Series60v5.0.sis существует (найден) в папке z:\system\install:

IF (EXISTS("z:\system\install\Series60v3.2.sis")) OR (EXISTS("z:\system\install\Series60v5.0.sis"))

То будет выполнена установка файла библиотеки программы, работоспособной именно для данных платформ:

"D:\sys\bin\ACMClient0x20000132.dll"-"!:\sys\bin\ACMClient0x20000132.dll", FF

Во всех остальных случаях:

ELSE

Будет выполнена установка файла библиотеки программы, работоспособной для остальных платформ S60 3rd Edition:

"D:\sys\bin\1\ACMClient0x20000132.dll"-"!:\sys\bin\ACMClient0x20000132.dll", FF

Обратите внимание: Имена файлов библиотек имеют одинаковые имена. Поэтому в данном случае удобней расположить файл библиотеки ACMClient0x20000132.dll в другой папке. В моем примере я создала дополнительную папке с именем 1 и указала установщику путь к файлу с учетом уже этой папки. На смартфон файлы будут установлены с одинаковым именем и по одному и тому же пути. А т.к. работоспособность приложения на разных платформах зависит от этого файла, то будьте внимательней, указывая путь установщику к необходимому (для правильной работы приложения) файлу.

Конец условия:

ENDIF

Далее следует установка файлов без каких либо проверок на условие (т.к. обрабока условия была закончена), т.е. копирование файлов с указанными именами по указанным адресам в смартфоне.

"D:\private\20000131\backup_registration.xml"-"!:\private\20000131\backup_registration.xml", FF

 

Можно выполнить проверку на принадлежность к определенной модели смартфона.:

 

В данном примере проверяется условие на принадлежность устройства к модели телефона Nokia N93 или N95

Если модель устройства определена как телефон Nokia N93 или N95:

IF (MachineUID=0x20000600) OR (MachineUID=0x2000060B)

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

"D:\sys\bin\ACMServer0x20000133.exe"-"!:\sys\bin\ACMServer0x20000133.exe", FF

Для всех остальных моделей устройств:

ELSE

Необходимо установить исполняемый файл, обеспечивающий работоспособность приложения на данных аппаратах:

"D:\sys\bin\1\ACMServer0x20000133.exe"-"!:\sys\bin\ACMServer0x20000133.exe", FF

Конец условия:

ENDIF

Далее следует установка файлов без каких либо проверок на условие (т.к. обработка условия была закончена), т.е. копирование файлов с указанными именами по указанным адресам в смартфоне.

"D:\private\20000131\backup_registration.xml"-"!:\private\20000131\backup_registration.xml", FF

 

Усложняем задачу в обработке условия:

 

Проверка на принадлежность устройства, является ли данное устройство смартфоном Nokia:

IF (Manufacturer=0x00000002)

Если является, то установить исполняемый файл, отвечающий за работоспособность приложения на всех аппаратах Nokia:

"D:\sys\bin\ACM0x20000131.exe"-"!:\sys\bin\ACM0x20000131.exe", FF

Если телефон является моделью Nokia, то выполняется проверка на принадлежность к платформе S60 3rd Edition FP2 или S60 5rd Edition. Если файл Series60v3.2.sis или же файл Series60v5.0.sis существует (найден) в папке z:\system\install:

IF (EXISTS("z:\system\install\Series60v3.2.sis")) OR (EXISTS("z:\system\install\Series60v5.0.sis"))

Если обнаружена принадлежность к платформе S60 3rd Edition FP2 или S60 5rd Edition, то выполняется установка исполняемого файла, отвечающего за работоспособность приложения на этих платформах в данном приложении:

"D:\sys\bin\ACMServer0x20000133.exe"-"!:\sys\bin\ACMServer0x20000133.exe", FF

Для всех остальных моделей телефонов Nokia с платформой S60 3rd Edition:

ELSE

Установить исполняемый файл, отвечающий за работоспособность приложения на аппаратах Nokia S60 3rd Edition:

"D:\sys\bin\1\ACMServer0x20000133.exe"-"!:\sys\bin\ACMServer0x20000133.exe", FF

Конец условия по проверки принадлежности телефона Nokia к платформе:

ENDIF

Если устройство не является телефоном Nokia, т.е. во всех остальных случаях:

ELSE

Установить исполняемые файлы, отвечающие за работоспособность приложения:

"D:\sys\bin\2\ACM0x20000131.exe"-"!:\sys\bin\ACM0x20000131.exe", FF
"D:\sys\bin\2\ACMServer0x20000133.exe"-"!:\sys\bin\ACMServer0x20000133.exe", FF

Конец обработки всего условия:

ENDIF

Далее следует установка файлов без каких либо проверок на условие (т.к. обработка условия была закончена), т.е. копирование файлов с указанными именами по указанным адресам в смартфоне.

"D:\private\20000131\backup_registration.xml"-"!:\private\20000131\backup_registration.xml", FF

 

3. Проверка разрешения экрана смартфона.

Бывают случаи, когда необходимо выполнить проверку на разрешение экрана, чтобы установить, например, скин под то разрешение экрана, что имеет смартфон пользователя.
Рассмотрим на примере, как выполняется проверка разрешения в пикселях:

 

Если дисплей экрана по горизонтали 176 пикселей и по вертикали 208 пикселей или же модель смартфона определяется как Nokia N91:

IF (DisplayXPixels=0x000000B0) AND OR (DisplayYPixels=0x000000D0)
(MachineUid=0x200005FC)

То установить следующие файлы, отвечающие за корректное отображение скинов на этом разрешении экрана или модели телефона Nokia N91:

"D:\TTPod\skin\V3\TTpod3.ttb"-"!:\TTPod\skin\V3\TTpod3.ttb", FF
"D:\TTPod\skin\V3\TTpod3.skn"-"!:\TTPod\skin\V3\TTpod3.skn", FF

В случае, если дисплей экрана по горизонтали 208 пикселей и по вертикали 208 пикселей:

ELSEIF (DisplayXPixels=0x000000D0) AND (DisplayYPixels=0x000000D0)

То установить следующие файлы, отвечающие за корректное отображение скинов на этом разрешении экрана:

"D:\TTPod\skin\V3\1\TTpod3.ttb"-"!:\TTPod\skin\V3\TTpod3.ttb", FF
"D:\TTPod\skin\V3\1\TTpod3.skn"-"!:\TTPod\skin\V3\TTpod3.skn", FF

В случае, если дисплей экрана по горизонтали 352 пикселей и по вертикали 416 пикселей:

ELSEIF (DisplayXPixels=0x00000160) AND (DisplayYPixels=0x000001A0)

То установить следующие файлы, отвечающие за корректное отображение скинов на этом разрешении экрана:

"D:\TTPod\skin\V3\2\TTpod3.ttb"-"!:\TTPod\skin\V3\TTpod3.ttb", FF
"D:\TTPod\skin\V3\2\TTpod3.skn"-"!:\TTPod\skin\V3\TTpod3.skn", FF

Во всех остальных случаях, отличных от перечисленных выше:

ELSE

Установить следующие файлы, отвечающие за корректное отображение скинов:

"D:\TTPod\skin\V3\3\TTpod3.ttb"-"!:\TTPod\skin\V3\TTpod3.ttb", FF
"D:\TTPod\skin\V3\3\TTpod3.skn"-"!:\TTPod\skin\V3\TTpod3.skn", FF

Конец обработки условия:

ENDIF

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: