Рассмотрим более сложную программу с выводом изображения на экран мобильного телефона. Это уже более интересно! Не так ли? Что ж, приступим к рассмотрению этой интересной программы. В этой программе идет загрузка изображения "image.png" для последующего вывода на экран мобильного телефона.
Но прежде давайте разберемся, как добавить в проект файлы рисунков, звуков, текстов и т.п., используемые программой. Такие файлы называются "файлы ресурсов".
|
Слева от окна, в котором вы пишете текст программы (исходный текст), находится "инспектор" вашего проекта. В инспекторе есть две вкладки - "Файлы" и "Свойства". На вкладке "Файлы" находятся список файлов вашего проекта, а в "Свойствах" описана конфигурация создаваемой программы.
Выберем закладку "Файлы". В папке с проектом есть каталог под названием "Файлы ресурсов". Когда вы создаете новый проект, там находится только один файл "icon.png", в котором храниться картинка - иконка проекта.
|
Давайте добавим к ресурсным файлам картинку, которую мы будем выводить:
Щелкните правой кнопкой мыши,
по расположенной выше картинке image.png, выберите "Сохранить изображение"
и укажите папку, в которую надо сохранить файл, например
ВАЖНО! MIDletPascal умеет "работать" только с изображениями в формате "png".
Теперь создадим новый проект. Назовем его, например: ImageProgram. Если забыли, как это делается, смотрите главу "Установка и настройка MIDletPascal". Затем добавим к ресурсам проекта файл image.png. Для этого выбираем в верхнем меню пункт "Проект", а затем - "Импорт файла":
Появится обычный диалог выбора файла. Выбираем нужный и нажимаем "Открыть":
Добавленный в проект файл должен появиться в списке файлов на вкладке "Файлы" слева (если вы закрыли вкладку, ее можно включить выбрав в меню "Вид" -> "Файлы"):
Если вам потребуется удалить файл ресурса, то выделите его в списке файлов ресурсов, щелкнув по нему мышкой, а затем выберите "Проект" -> "Удалить из проекта" (или просто нажмите сочетание клавиш Shift+Del).
|
Простейшая программе для вывода картинки состоит из одной строки (не считая, конечно, присутствующих всегда program, begin и end):
program ImageProgram; begin DrawImage(LoadImage('/image.png'),0,0); end. |
Означает это примерно следующее. LoadImage загружает картинку из ресурсного файла (символ "/" перед названием писать обязательно, иначе ничего не выйдет). DrawImage выводит загруженную картинку на экран в точку с координатами (0,0).
Однако, такой вариант вывода картинки годится лишь, когда изображение выводится в программе один раз. Когда необходимо много раз выводить одну и ту же картинку (например, в игре), то многократное считывание ее из ресурсного файла с помощью LoadImage существенно замедлит работу программы.
С точки зрения быстродействия программы, гораздо выгоднее предварительно загрузить картинку в оперативную память, откуда она будет выводиться гораздо быстрее, чем из ресурсного файла.
|
Если картинка или другие данные хранятся в оперативной памяти, то для обращения к ним используются условные имена (их называют идентификаторами), которые указывают, с какими данными работает в данный момент программа. Область памяти, предназначенную для хранения каких-либо данных и обозначенную условным именем, принято называть переменной, а хранящиеся в ней данные - значением переменной. Значение переменной может меняться в ходе выполнения программы (то есть в эту область памяти могут быть записаны другие данные).
Для того, чтобы программа выделила соответствующее место в памяти для хранения переменных, их надо объявить до того, как будет написана первая команда (до первого begin).
Объявление переменных в MIDletPascal (как и в стандартном PASCAL) начинается
со слова var (от англ. variable - переменная). Затем указываются имена
переменных и типы данных, которые будут в них хранится. Между именем переменной
и ее типом ставится двоеточие:
var
pic: Image;
В данном примере мы объявили переменную с именем pic, имеющую тип Image,
предназначенный для хранения графических изображений.
ВАЖНО! Обратите внимание на точку с запятой в конце объявления переменной pic. Этот символ всегда ставится в конце конструкций языка PASCAL (MIDletPascal).
Имена переменных вы определяете сами, учтывая при этом следующие правила:
Операция записи в переменную ее значения называется присваиванием
и обозначается сочетанием двух символов (двоеточие и равно):
pic:= LoadImage('/image.png');
Чтобы использовать значение, хранящихся в переменной данных, следует указывать
имя переменной. В нашем случае, мы должны передать процедуре DrawImage данные
выводимой картинки. В предыдущем примере их напрямую возвращала функция
LoadImage. Темеперь же эти данные занесены в переменную pic,
поэтому мы указываем ее в качестве места нахождения картинки:
DrawImage(pic,0,0);
Теперь вывод изображения происходит из оперативной памяти, что гораздо быстрее, чем считывание из ресурсного файла.
|
Используя то, о чем говорилось выше, получаем второй вариант программы вывода картинки на экран мобильного телефона:
program ImageProgram; var // Раздел описания переменных pic: Image; // Описание переменной типа Image begin pic:= LoadImage('/image.png'); // Загружаем изображение "image.png" в переменную pic DrawImage(pic,0,0); // Рисуем изображение на экране // (0,0) - координаты левого верхнего угла изображения repaint; // Обновляем ("перерисовываем") экран delay(2000); // Ждем 2 секунды end. // Конец программы |
Результат работы программы показан на следующем рисунке:
К содержанию
|
|
![]() |
Скачать новую версию данного учебника в одном архиве
Курс находится в процессе разработки, поэтому архив постоянно обновляется! |