Для начинающих
[16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
|
Разбираем.Обьясняем
[1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
|
Прочее
[4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
|
Главная » Статьи » Midlet Pascal » Для начинающих |
Ты уже написал своё первое приложение для мобилы на MIDLETPascal. Но там ничего особенного не происходило - просто текст на дисплее двигался, по нашему велению конечно. Это были основы Чудо-Языка : ты увидел структуру программы, познакомился с основными функциями. Теперь бы пора написать что-нибудь посерьёзнее, например форму. Простую форму для контактирования приложения с пользователем. Это всегда очень важно - ведь чтоб твоя прога была востребована, она должна быть простой в понимании и управлении, и даже самые сложные функции должны быть показаны пользователю, как простое нажатие на кнопочку. Ну, хватит трёпа лишнего, давай кодить! Открывай МобильныйПаскаль, создовай новый проект и доведи его до вида, показанного на Листинге. Листинг:
Code program Form; var NameId, NumberId, AgeId : Integer; Name, Number, Age : string; cmdNext, cmdexit : command; begin showForm;//показываем форму NameId := FormAddTextField('Enter your name', '', 20, TF_ANY); NumberId := FormAddTextField('Enter your phone', '', 20, TF_PHONENUMBER); AgeId := FormAddTextField('Enter your age', '', 20, TF_NUMERIC); cmdNext := createCommand('Next', CM_OK, 1); //создаём команду(кнопку) AddCommand(cmdNext); repeat until GetClickedCommand = cmdNext; Name := FormGetText(NameId);//берём текст, введёный пользователем Number := FormGetText(NumberId); Age := FormGetText(AgeId); ShowTextBox('Information', 'Hello ,' + Name+ ' Your age - ' + Age + ' Your Number - ' + Number, 200, TF_ANY); //выводим информацию на дисплей cmdExit := CreateCommand('Exit', CM_EXIT, 1); AddCommand(cmdExit); repeat delay(100); until GetClickedCommand = cmdExit; end. Это и есть сегодняшний пример. Простая прога с формой, на которой расположены элементы ввода. Юзер вводит туда свои данные, потом прога их анализирует и выводит всё в нужных местах. Давай попробуем разобраться, что мы тут понаписали? Блок Var - это блок объявления переменных, всё как в обычном Паскале. Здесь у нас введены три строковые пременные, две команды и три преременные, через которые будут создаваться поля ввода текста, т.е. это индификаторы. Сложно? Не сложнее чем всегда! Щас всё станет понятнее. Далее идёт главный блок begin...end. , в котором расположено тело программы. Всё начинается с процедуры ShowForm. Эта процедура выводит на дисплей форму, которая может содержать в себе ярлыки, картинки, поля текста и другие пользовательские элементы интерфейса. Именно на созданной форме мы и будем размещать наши поля ввода. Далее, собствено, идёт создание полей ввода функцией FormAddTextField. Давай посмотрим на неё поближе: function FormAddTextField(prompt, defaultValue: string; maxSize: integer; constraints:integer ):integer; Эта функция имеет четыре параметра: TF_ANY - можно писать любые знаки; Дальше мы создаём команду (типа кнопку), функцией CreateCommand: function CreateCommand(label:string; commandType:integer; priority:integer): command; Эта функция имеет три параметра: С помощью этой процедуры ты можешь создать полноценный текстовый редактор на мобилу, а у нас этот элемент интерфейса используется только для отображения информации, которую ввёл пользователь. После того, как текст вывелся мы снова создаём команду и применяем цикл задержки. Всё очень просто! Теперь ты знаешь основные приёмы создания пользовательского интерфейса для приложений на мобилы. Но элементов, которые мы рассматрели может быть мало, поэтому я покажу тебе исходник более продвинутой формы, а разобраться в нём попробуй сам:
Code program MegaForm; var stringID, textID, passID, imgID, gaugeID, choiceID, maleID, femaleID: integer; cmdExit: command; begin ShowForm; //создаём разные элементы управления stringID := FormAddString('Just some title'); textID := FormAddTextField('Enter name', 'Вася', 20, TF_ANY); passID := FormAddTextField('Enter password', '', 20, TF_PASSWORD); imgID := FormAddImage(LoadImage('/icon.png')); gaugeID := FormAddGauge('Choose your age', true, 100, 18); choiceID := FormAddChoice('Select your gender', CH_EXCLUSIVE ); maleID := ChoiceAppendString(choiceId, 'Male'); femaleID := ChoiceAppendString(choiceId, 'Female'); cmdExit := CreateCommand('Exit', CM_EXIT, 1); AddCommand(cmdExit); repeat until GetClickedCommand = cmdExit; end. Ну вот и всё, что хотел сказать. Надеюсь, до встречи!Остальное позже... Автор: Васючков Андрей aka Soffrick | |
Просмотров: 1879 | Рейтинг: 5.0/1 |
Всего комментариев: 0 | |