Авторизироваться
Меню сайта
Категории раздела
Для начинающих [16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
Разбираем.Обьясняем [1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
Прочее [4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
Наш опрос
Стоит ли на нашем сайте публиковать мобильные новости?
Всего ответов: 190
Мини-чат
210
Статистика

Онлайн : 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Midlet Pascal » Для начинающих

3.Работа с ресурсами : подключение и чтение.
Дарова, юный кодер! Сегодня мы с тобой опять будем кодить для своей мобилы. И опять будем писать на MidletPascal - чудо-юдо языкепрограммирования для сотовых телефонов. И разговор у нас пойдёт не много не мало о ресурсах твоей проги. Почему? Постараюсь объяснить : Во-первых, это просто необходимо, это основы работы с языком программирования. Во-вторых, это способ засунуть в твоё приложение музыку, картинки и прочий хлам (в одной из следующих статей я покажу тебе, как сделать что-то вроде плеера, ну или просто фоновой музыки для проги). В-третьих, это очень удобно. Рассмотрим пример : тебе надо написать шпоры на экзамен, потому что учить впадлу, а сдавать надо. smile На экзамене 40 биллетов. Просто так засунуть их в тело проги не хорошо. Потому что это не удобно - засоряется исходник; это долго - если в самом исходнике много лишних данных, то прога, естесственно, работать будет медленнее; да и просто это не этично. Надо сделать 40 аккуратных файлов с ответами на экзаминационные вопросы, засунуть их как ресурсы в прогу и спокойно работать с ними! По крайней мере так ты не запутаешься в своём проекте - всё будет разложено по полочкам. Где и как? В папке с проектом есть каталог под названием "res". Там по дефолту храниться картинка - иконка проекта. Очень удобно держать все ресурсы в этом каталоге, потому что он специально для этого сделан. Но просто поместить туда файл и работать с ним не проканает. Надо сначала этот файл ресурсов подключить к нашему проекту. Делается это очень просто : выбирай в главном меню "Project->Import resource file..." Появится обычный диалог выбора файла. Выбирай нужный и дави "Открыть". Всё, ресурс в проекте, осталось тока написать прогу и скомпилировать её :))) Можно конечно, сделать для своего удобства отдельные каталоги под ресурсы, но меня устраивает стандартная папка "res". А как поступишь ты, решать тебе. Работа. Давай напишем маленький примерчик для работы с ресурсами. Создовай текстовый файл "data.txt", ну напиши там чё-нибудь, например, "Pupkin Zade RooleZZZ!!!!". Только напиши это не в одной строке, а в нескольких. Потом поймёшь почему. Подключай этот файл к проекту как ресурс, как это делать ты уже знаешь. Теперь в редакторе кода, измени сорец до вида :
Code
program Resourse;//Это название проги, пиши чё хочешь  
var data : resource;//наш ресурс  
str : string;  
index : integer;  
begin  
data := OpenResource('/data.txt');//открытие ресурса  
if (resourceAvailable(data)) then //проверка
begin  
str := ReadLine(data);//читаем строку
CloseResource(data);//закрываем ресурс
end;
ShowForm; //создаём форму...
index := FormAddString('Text :' + str);//выводим инфу из ресурса  
Delay(10000);//задержка  
end.

Давай разбираться! Строкой data := OpenResource('/data.txt'); я инициализирую переменную data и открываю ресурс. Функция открытия имеет только один параметр - имя файла-ресурса. Этой строкой if (resourceAvailable(data)) then я проверяю, открылся ли ресурс? Т.е. функция ResourceAvailable(res: resource):boolean вернёт true если ресурс, указанный в параметре, открыт нормально. Дальше я присваиваю переменной str функцию ReadLine(res: resource):string, которая при нормальной работе возвращает строку файла-ресурса. Потом надо закрыть файл, делается это функцией CloseResource(res: resource). Ну а дальше, тебе должно быть всё понятно и без моих слов. Пробуй! Прога работает, она выводит превую строку созданного тобой файла. Помнишь, я просил тебя создать файл из нескольких строк? Дак вот, помни, что функция ReadLine(res:resource):string выводит только одну строку. Чтобы написать больше строк, добавь ещё одну строковую переменную, например str2, и после str := ReadLine(data); добавь str2 := ReadLine(data);, а после index := FormAddString('Text :' + str); добавь следующее: index := FormAddString('Text_2 :' + str2);. теперь будут читаться две строки, и так далее... Ещё MidletPascal позволяет читать файл-ресурсов побайтно. Для этого надо завести пременную типа integer и использовать функцию ReadByte(res: resource):integer; Для удобства и уменьшения кода используй всевозможные циклы. Это упростит твою работу. Разбор полётов. Вот ты и научился работать с ресурсами. Ничего сложного здесь нет, они не кусаются 8-). Теперь данные в твоей проге будут удобно скомпанованы, не будет свалки. Этого достаточно, чтобы переходить к следующим урокам. Надеюсь, тебе было интересно. Остальное позже...
Авторство: liveofpc.3dn.ru
Автор: Васючков Андрей aka Soffrick

Категория: Для начинающих | Добавил: admin (08.11.2008)
Просмотров: 2022 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]