Карманные компьютеры в России АРХИВ 1997-1999 г.г. сайтов Newton.Ru, HPC.Ru, Pilot.Ru, WinCE.Ru, Psion.Ru.
Работает исключительно в познавательных целях: есть битые ссылки, картинки и т.д.
Главная страничка АРХИВА       HPC.ru сегодня
Rambler's Top100


Новости месяца
Ньютон - что это такое
Каталог программного обеспечения
Каталог аппаратного обеспечения
Области применения
Страничка разработчика
Средства разработки программ для Ньютон
Что необходимо знать начинающему программисту
Секреты программирования для Newton
Где купить. Цены
Российские фирмы-разработчики
eMate 300
Русские программы
MessagePad 2000
MessagePad 2100
МакЦентр
Paragon
English page

На основную страницу

Секреты программирования для Newton

1. Метод Confirm

В корневом view ( getroot() ) находится метод Confirm, который служит для запроса к пользователю Newton на подтверждение того или иного действия.

    Метод имеет следующие параметры:

  1. Уникальное имя Вашего Confirm - текстовая строка;
  2. Текст вопроса, на который нужно ответить утвердительно (OK), либо отрицательно (Cancel);
  3. view, в котором нужно вызвать метод обработки ответа пользователя;
  4. Символ того самого метода.


ПРИМЕР (выполняется прямо из Инспектора):

Определим в getroot() метод обработки результатов нашего Confirm:

getroot().my1:=func(x) if x then reboot()

Вызовем сам Confirm:

getroot():Confirm("My 1-st Confirm","Хочешь

reboot?",getroot(),'my1)

Если Вы укажете OK, то Newton перезагрузится.

2. Глобальная функция dopopup

Для построения произвольного popup-меню существует глобальная функция dopopup со следующими параметрами:

  1. Массив текстовых строк - пунктов меню
  2. Относительное смещение по оси X для view - popup-меню (относительно текущего view, из которого вызывается dopopup)
  3. Относительное смещение по оси Y для view - popup-меню (аналогично)
  4. view, в котором будет обрабатываться результат выбора из меню.

    В этом view должны быть определены следующие методы: pickcancelledscript: func() - метод, вызываемый при отказе от выбора из меню, pickactionscript: func(x) где x - номер выбранного пункта меню (первый пункт меню возвращает номер 0)

В качестве результата dopopup возвращает view, реализующий меню.

ПРИМЕР (выполняется прямо из Инспектора):

Определим в getroot() методы pickcancelledscript и pickactionscript:

getroot().pickcancelledscript:=func() nil

getroot().pickactionscript:=

func(x)

if x=0 then print("1-st selected");

else print("2-nd selected")

Вызовем dopopup:

popupview:=dopopup(["first","second"],0,0,getroot())

3. Метод Notify

Для выдачи сообщений в системный список сообщений можно использовать метод Notify из корневого view getroot().

    Параметры метода:

  1. Уровень сообщения. Задается одной из следующих констант:
  2. kNotifyLog - сообщение добавляется в системный список сообщений, но не выдается на экран,
  3. kNotifyMessage - сообщение добавляется в системный список сообщений, на экран Newton-a выводится мерцающий значок для привлечения внимания пользователя. Нажатие на этот значок выдает сообщение на экран. Если имеется более одного сообщения, выданного с уровнем kNotifyMessage, то нажатие на значок выдаст список(меню) из заголовков непрочитанных сообщений,
  4. kNotifyAlert- сообщение немедленно выдается на экран вместе с системным звуковым сигналом
  5. kNotifyQAlert - сообщение немедленно выдается на экран без звука
  6. Заголовок сообщения (текстовая строка)
  7. Строка сообщения.

ПРИМЕР (выполняется прямо из Инспектора):

getroot():Notify(kNotifyAlert," Заголовок","Сообщение")

Приложение auxbutton написано с использованием трех вышеперечисленных функций. Их приятной особенностью является отсутствие необходимости дополнительных усилий по русификации выводимых на экран текстов. Для большинства же прототипов, используемых в NewtonScript необходима дополнительная замена шрифтов, используемых в данных прототипах по умолчанию. Впрочем, эта необходимость дает возможность изменять параметры используемого шрифта по вашему усмотрению.

4. Русификация Ваших приложений

Большинство встроенных в Newton прототипов имеют атрибут viewFont, изменяя который Вы можете изменять шрифт выводимого текста и его характеристики, причем этот атрибут виден в списке specific. Для прототипов же из набора NewtApp ситуация немного иная. Там все labelled-элементы имеют атрибут labelFont для отображения label и атрибут entryFont для отображения строки ввода, причем имена labelFont и entryFont отсутствуют как в списке Specific, так и в списке Attributes, и слоты с этими именами надо создавать вручную при помощи пункта NewSlot меню Browser.

Заметим, что атрибут labelFont (который бывает не только у NewtApp-прототипов) изменять не всегда обязательно - для всех labelled-прототипов НЕ из набора NewtApp там стоит {family: 'espy, face: 1, size: 9} , а шрифт espy у нас русифицирован. Для прототипов же из набора NewtApp labelFont=1057792 (ссылка на шрифт в ПЗУ) - надо менять.

Любишев Александр

Вверх



   Rambler's Top100  Рейтинг@Mail.ru