13965

Создание Web-служб с использованием технологии AJAX

Лабораторная работа

Информатика, кибернетика и программирование

В традиционной Web-технологии запрос на обработку данных создается в Web-браузере с помощью управляющих элементов формы Web-страницы, а затем, после нажатия кнопки типа submit или вызова метода submit() в сценарии JavaScript, созданный запрос с помощью метода GET или POST передается на Web-сервер.

Русский

2014-11-30

589 KB

12 чел.

Лабораторная работа 4-08-09

Создание Web-служб с использованием технологии AJAX

1. Цель работы

Целью работы является создание небольших Web-служб с использованием технологии AJAX.     

  

2. Состав рабочего места

2.1. Оборудование: IBM-совместимый   персональный компьютер (ПК).

2.2. Программное обеспечение: операционная система Windows, система Google Desktop и пакет  Google Desktop SDK (GD SDK).  

3. Краткие теоретические сведения

3.1. Технология AJAX

3.1.1. Средства технологии AJAX

В традиционной Web-технологии запрос на обработку данных создается в Web-браузере с помощью управляющих элементов формы Web-страницы, а затем, после нажатия кнопки типа submit или вызова метода submit() в сценарии JavaScript, созданный запрос с помощью метода GET или POST передается на Web-сервер.

Web-сервер либо ищет и запускает программу обработки, либо ищет и обрабатывает Web-страницу с серверными вставками. В процессе выполнения программы или обработки Web-страницы могут выполняться обращения к данным (поиск и модификация). Результирующая Web-страница посылается  Web-браузере и либо замещает старую Web-страницу, либо открывается в новом окне.

Технология AJAX (Asynchronous JavaScript and XML – асинхронный JavaScript и XML) позволяет получать ответы Web-сервера непосредственно в пославшую запрос Web-страницу, динамические ее изменяя.

Впервые название AJAX было предложено Джессом Джеймсом Гарретом (Jesse James Garrett) в феврале 2005 г. в статье «Новый подход к Web-приложениям».

На самом деле AJAX не является совершенно новой технологией, а объединением следующих существующих средств:

  •  языка XHTML и таблиц стилей CSS;
  •  объектной модели документа DOM;
  •  обмена и управление данными с использованием XML и XSLT;
  •  языка JavaScript.

Однако, при использовании AJAX, вместо того, чтобы передавать запросы непосредственно на Web-сервер, они передаются промежуточному слою, названному автором движком AJAX (AJAX engine). Этот движок отвечает за формирование интерфейса пользователя, а также взаимодействует с Web-сервером. Это взаимодействие происходит следующим образом:

  •  движок принимает запрос пользователя и передает его Web-серверу без приостановки вывода Web-страницы;
  •  после получения ответа от Web-сервера движок, используя средства DOM, динамически изменяет Web-страницу в соответствие с ответом.

Таким образом, работа пользователя с Web-страницей выполняется асинхронно по отношению к обращениям Web-страницы к Web-серверу, т.е. пользователю не нужно ждать передачи и загрузки новой Web-страницы.

3.1.2. Объект XMLHTTPRequest

Движок AJAX реализован в Web-браузерах в виде объекта XMLHTTPRequest. Набор его свойств и объектов отличается в разных Web-браузерах. Этот объект определен также спецификацией  W3 (пока на стадии рабочего проекта).

Объект XMLHTTPRequest создается в Web-браузере Internet Explorer как объект ActiveX следующим образом:

var HTTPReq = new ActiveXObject("Msxml2.XMLHTTP");

В остальных Web-браузерах (Firefox, Opera, Netscape и Safari) создание объекта XMLHTTPRequest задается с помощью следующего предложения:

var HTTPReq = new XMLHttpRequest();

Объект XMLHTTPRequest имеет следующие свойства, общие для всех Web-браузеров:

  •  onreadystatechange – задает обработчик события, которое происходит при каждой смене состояния объекта;
  •  readyState – содержит текущее состояние объекта;
  •  responseText – содержит текст ответа на запрос;
  •  responseXML – содержит текст ответа на запрос в формате XML;
  •  status – содержит код в сообщении ответа HTTP (например, 200 или 404);
  •  statusText – содержит текст в сообщении ответа HTTP (например, "OK" или "Not Found").

Свойство readyState может иметь одно из следующих значений:

  •  0 – объект не инициализирован;
  •  1 – объект открыт;
  •  2 – отправка данных;
  •  3 – получение данных;
  •  4 – данные загружены.

Для объекта XMLHTTPRequest определены также следующие методы, общие для всех Web-браузеров: open(), send(), setRequestHeader(), getResponseHeader(), getAllResponseHeaders() и abort().

Метод open() определяет параметры запроса и имеет следующие формы:

open(метод, URL)

open(метод, URL, async)

open(метод, URL, async, имя)

open(метод, URL, async, имя, пароль)

В параметре метод задается метод, используемый в запросе, например, "GET" или "POST".

Параметр URL задает адрес программы или Web-страницы на Web-сервере.

Параметр async определяет асинхронность выполнения запроса: значение "true" означает, что выполнение сценария будет продолжено после вызова метода send(), не дожидаясь ответа от Web-сервера, а значение "false" означает, что выполнение сценария будет приостановлено до получения ответа от Web-сервера. По умолчанию, значение параметра async равно "true".

Параметры имя и пароль задаются, если для доступа на Web-сервер требуется аутентификация пользователей.

Метод send() посылает строку, заданную в параметре данные, на Web-сервер и имеет следующую форму:

send(данные).

Метод setRequestHeader() добавляет поле заголовка к посылаемому на Web-сервер запросу и имеет следующую форму:

setRequestHeader(имя, значение).

где параметр имя задает имя поля заголовка, а параметр значение – содержимое поля заголовка.

Метод getAllResponseHeaders() (без параметров) позволяет получить все поля заголовков ответа от Web-сервера.

Метод getResponseHeader()позволяет получить содержимое поля заголовка ответа от Web-сервера с именем, заданным в параметре имя и имеет следующую форму:

getResponseHeader(имя).

Метод abort() (без параметров) отменяет текущий запрос.

3.2. Реализация Web-служб с использованием пакета GD SDK

3.2.1. Средства реализации AJAX в Google Desktop

Одной из реализаций технологии AJAX являются гаджеты (gadjets) – небольшие программы, обеспечивающие ту или иную Web-службу. Эти программы не запускаются самостоятельно, а работают под управлением некоторой программной среды. Самой популярной в настоящее время программной средой для разработки и использования гаджетов является  пакет программ Google Desktop, разработанный фирмой Google.

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

Фирма Google разработала также средства для создания гаджетов. Одним из них является набор средств для разработки в среде WebGWT (Google Web Toolkit) – свободно распространяемая программная среда, существенно облегчающая разработку гаджетов клиента и их серверных обработчиков. Среда  GWT позволяет создавать и отлаживать Web-службы на языке Java в любой программной среде разработки (IDE) для этого языка. После создания гаджета и его серверного обработчика компилятор  GWT преобразует приложение Java в последовательность предложений  JavaScript и элементов HTML.  

Другим средством является набор программных средств разработки для Google DesktopGD SDK (Google Desktop Software Development Kit), являющийся интерфейсом прикладного программирования (API) для создания гаджетов.

3.2.2. Работа с Google Desktop

3.2.2.1. Установка пакета

Для установки пакета Google Desktop необходимо запустить программу

GoogleDesktopSetup.exe.

После установки пакета и принятия условий лицензионного соглашения программа готова к работе.

3.2.2.2. Запуск программы

Запуск программы выполняется с помощью команды

GoogleDesktop.exe

в папке

C:\Program Files\Google\Google Desktop Search, либо с помощью значка на рабочем столе или панели инструментов.

3.2.2.3. Панель программы

После запуска пакета на экране в панели задач появляется (справа) меню управления gadgets, а в правой  части экрана появляется панель программы (рис. 4.8.1).

На панели выводятся имеющиеся в настоящее время в компьютере гаджеты в развернутом (верхние пять гаджетов) или свернутом (остальные гаджеты) виде.

Примечание: все доступные на компьютере гаджеты находятся в папке

C:\Documents and Settings\Администратор\Мои документы\Мои гаджеты Google.   

Чтобы разработанные и отлаженные с помощью GD SDK гаджеты отображались на панели, они также должны быть помещены в эту папку.

Для управления панелью Google Desktop используются кнопки . Первая кнопка позволяет добавить гаджеты (для этого требуется подключение к Internet), вторая кнопка выводит меню управления панелью, а третья кнопка сворачивает панель.

Меню управления панелью Google Desktop содержит следующие команды:

  •  добавить гаджеты;
  •  настроить гаджеты (если для них предусмотрены настройки);
  •  настроить панель;
  •  вывести панель сбоку;
  •  вывести панель поиска Google в панели задач;
  •  вывести свободную панель поиска Google, которую можно перемещать по экрану;
  •  скрывать панель автоматически при обращении к другому окну;
  •  размещать панель поверх других окон;
  •  прикрепить боковую панель слева или справа;
  •  уменьшить или увеличит размер шрифта надписей в панели;
  •  вывод сведений о программе (пункт Подробнее);
  •  закрытие программы.

Рис. 4.8.1. Меню управления gadgets и панель программы Google Desktop

При установке курсора в правый верхний угол гаджета на панели для него выводится три кнопки (рис. 4.8.2.).

Рис. 4.8.2. Гаджет с кнопками управления

Нажатие первой кнопки помещает гаджет слева от панели управления, нажатие второй – вызывает меню, а третий – закрывает гаджет.

Команды меню гаджета на панели зависят от гаджета. Основные команды позволяют:

  •  приостановить выполнение гаджета;
  •  свернуть гаджет;
  •  открепить гаджет от боковой панели;
  •  вывести описание гаджета (пункт Подробнее);
  •  удалить гаджет с панели.

3.2.2.4. Управление гаджетом на экране

После открепления  гаджет можно переместить в любое место экрана. Для управления поведением используются две кнопки, которые появляются, если курсором мыши провести по окну гаджета (рис. 4.8.3).

Рис. 4.8.3. Управление гаджетом на экране дисплея

Первая кнопка открывает меню гаджета, вторая – закрывает гаджет. Команды меню на экране зависят от гаджета. Основные команды позволяют:

  •  приостановить выполнение гаджета;
  •  свернуть гаджет;
  •  изменить размеры (масштаб) гаджета;
  •  выводить гаджет поверх остальных окон,
  •  прикрепить гаджет к боковой панели;
  •  настроить гаджет (если для него предусмотрены настройки);
  •  вывести описание гаджета (пункт Подробнее);
  •  удалить гаджет.

3.2.3. Работа с GD SDK

3.2.3.1. Установка и запуск GD SDK

Для установки GD SDK достаточно разархивировать файл GD_SDK.zip в папку GD_SDK.

Для запуска GD SDK необходимо запустить команду

designer_en.exe

в папке

GD_SDK\api\tools.

Описание GD SDK (на английском языке) находится в этой же папке в файле designer.pdf.

3.2.3.2. Создание нового гаджета

Для создания нового гаджета надо в меню File окна GD SDK выбрать команду New Gadget, а затем в окне Give a name for the new gadget folder ввести имя папки, в которой будет храниться новый гаджет, и нажать кнопку Сохранить.

После этого окно GD SDK приобретает следующий вид (рис. 4.8.4).

Рис. 4.8.4. Окно нового гаджета GD SDK

В левой панели Gadget Explorer окна GD SDK выводится содержимое папки гаджета.

Элемент Gadget Settings содержит параметры настройки. При щелчке по этому элементу выводится окно Gadget Settings (рис. 4.8.5), в котором можно изменить параметры гаджета.

Рис. 4.8.5. Окно Gadget Settings

Файлы icon_large.png (32×32) и icon_small.png (24×24) содержат большую и маленькую иконки гаджета по умолчанию. Их нужно заменить своими иконками аналогичных размеров.

Примечание. Пакет GD SDK не содержит средств работы с файлами. Поэтому все операции замены, вставки и удаления файлов в папке гаджета производятся либо с помощью Проводника, либо с помощью Far.

Файл main.js содержит сценарии JavaScript для гаджета. Его редактирование выполняется вручную.

В папке stock_images хранятся изображения для фонового изображения (background.png) кнопок (button_down.png, button_over.png и button_up.png), переключателей (checkbox_checked_down.png, checkbox_checked_over.png, checkbox_checked_up.png, checkbox_down.png, checkbox_over.png и checkbox_up.png), радиокнопок (radiobutton.png и radiobutton_checked.png) и индикаторов процесса (progressbar_empty.png и progressbar_full.png) по умолчанию. При необходимости можно заменить эти изображения а своими изображениями. Дополнительные изображения, используемые в гаджете, также помещаются в эту папку.

В папке en хранится файл strings.xml, в котором находятся следующие элементы:

  •  элемент GADGET_NAME, задающий имя гаджета;
  •  элемент GADGET_DESCRIPTION, задающий описание гаджета;
  •  элемент GADGET_ABOUT_TEXT, задающий более подробное описание гаджета;

В этот же файл со своим наименованием элемента записываются строки, используемые в гаджете, например, элемент

<START_TEXT>Старт</START_TEXT>

задает в предложении сценария

view.alert(START_TEXT);

вывод в диалоговом окне строки "Старт".

Файл strings.xml выводится и редактируется в окне редактора в текстовом виде.

Файл main.xml содержит головной документ XML для гаджета.

В правой панели выводится окно редактора, а также следующие компоненты:

  •  в верхней панели – закладки открытых файлов гаджета (закладка активного окна имеет белый цвет фона, неактивных окон – серый);
  •  слева – панель свойств (Properties), панель Элементы (Elements) и панель Сценарии (Scripts).

Файл main.xml в окне редактора может выводиться в двух режимах с помощью кнопок Designer и Source в левом нижнем углу окна редактора.

В режиме Designer файл main.xml выводится в графическом виде, а ниже панели закладок появляется панель графических элементов, которая содержит следующие элементы:

  •  Div – объект div (см. 3.2.4.1.6), задающий контейнер для элементов;
  •  Image – объект img (см. 3.2.4.1.8), задающий вставку изображения;
  •  Button – объект button (см. 3.2.4.1.4), задающий вставку кнопки;
  •  Edit – объект edit (см. 3.2.4.1.7), задающий вставку текстового поля;
  •  Checkbox – объект checkbox (см. 3.2.4.1.5), задающий вставку переключателя;
  •  Link – объект a (см. 3.2.4.1.9), задающий вставку гиперссылки;
  •  Label – объект label (см. 3.2.4.1.3), задающий вставку надписи;
  •  Content – объект contentarea, задающий вставку контейнера;
  •  List Box – объект listbox (см. 3.2.4.1.11), задающий вставку списка;
  •  Progress Bar – объект progressbar (см. 3.2.4.1.10), задающий вставку индикатора процесса;
  •  ComboBox – объект combobox (см. 3.2.4.1.12), задающий вставку комбинированного списка;
  •  RadioButton – объект radio (см. 3.2.4.1.5), задающий вставку радиокнопки.

В режиме Designer элементы с панели графических элементов перетаскиваются в окно редактора на нужное место. В панели Properties можно просмотреть и, при необходимости, изменить свойства графического элемента (см. 3.2.4.1). Кнопки  позволяет сортировать вывод свойств соответственно по их категориям и по именам.

В панели Elements выводится иерархическая структура файла XML. Перемещение вверх и вниз по этой структуре выполняется с помощью кнопок . При щелчке мышью по элементу структуры он становится активным и его свойства выводятся в панели Properties.

При вставке нового пункта в список или комбинированный список надо перетащить один из существующих элементов item списка вниз при нажатой клавише Ctrl. В панели Elements появится новый элемент item. Для добавления дочернего элемента label этого элемента item надо перетащить графический элемент Label на добавленный пункт в списке.

В режиме Source файл main.xml выводится и редактируется в текстовом виде.

В панели Scripts выводится список файлов сценариев гаджета. Кнопки позволяют добавить новый файл сценария (предварительно созданный файл в папке с именем гаджета), открыть выделенный файл сценария  в окне редактора или удалить выделенный файл сценария. Сценарии в окне редактора редактируются в текстовом виде.

При щелчке мышью по имени события на панели Properties для активного элемента в файле появляются шаблоны функций, обрабатывающих данное событие. В теле созданной функции записываются предложения обработки данного события, в том числе с использованием встроенных объектов GD SDK (см. 3.2.4.1).

После создания и вставки своих изображений, создания графического интерфейса гаджета и написания сценариев обработки можно проверить работу гаджета с помощью команды Preview меню View.

Создание файла гаджета имя-гаджета.gg выполняется с помощью команды Build Package меню Gadget.

3.2.4. Справочник GD SDK

3.2.4.1. Объекты, используемые в GD SDK

Наряду со встроенными объектами и объектами Web-браузера в сценарии JavaScript в GD SDK можно использовать также рассматриваемые ниже встроенные объекты.

3.2.4.1.1. Объект elements

Объект elements содержит коллекцию объектов-элементов. Для этой коллекции определены следующие два свойства (только для чтения):

  •  count – возвращает количество элементов в коллекции (типа integer);
  •  item (string имя) – возвращает объект коллекции с заданным именем или значение null, если такого объекта нет (если в коллекции несколько объектов с одинаковым именем, возвращается только первый объект).  

3.2.4.1.2. Объект basicElement

Объект  basicElement является родительским элементом для всех элементов, используемых как графические объекты в гаджете, т.е. определенные для него свойства, методы и события определены также для всех дочерних элементов.

Свойства объекта basicElement приведены в таблице 4.8.1.

Таблица 4.8.1.  Свойства объекта basicElement

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

children

Возвращает коллекцию, содержащую дочерние элементы данного элемента.

elements

Да/нет

cursor

Устанавливает или возвращает вид курсора. Допустимые значения: arrow, ibeam, wait, cross, uparrow, size, sizenwse, sizenesw, sizewe, sizens, sizeall, no, hand, busy, help

string

Да/да

dropTarget

Устанавливает или возвращает признак, является ли элемент целевым для операций drag/drop или нет.  

boolean

Да/да

enabled

Устанавливает или возвращает признак, включен ли элемент или нет.

boolean

Да/да

height

Устанавливает или возвращает высоту элемента (в пикселях или процентах).

integer или string

Да/да

hitTest

Устанавливает или возвращает значение hit-test для элемента. Допустимые значения: httransparent, htnowhere, htclient, htcaption, htsysmenu, htsize, htmenu, hthscroll, htvscroll, htminbutton, htmaxbutton, htleft, htright, httop, httopleft, httopright, htbottom, htbottomleft, htbottomright, htborder, htobject, htclose, hthelp

string

Да/да

mask

Устанавливает или возвращает битовую маску, определяющую контур клиппирования для элемента.

string

Да/да

name

Возвращает имя элемента.

string

Да/нет

offsetHeight

Возвращает высоту элемента относительно его родительского элемента (в пикселях).

integer

Да/нет

offsetWidth

Возвращает ширину элемента относительно его родительского элемента (в пикселях).

integer

Да/нет

offsetX

Возвращает смещение по оси X элемента относительно его родительского элемента (в пикселях).

integer

Да/нет

offsetY

Возвращает смещение по оси Y элемента относительно его родительского элемента (в пикселях).

integer

Да/нет

opacity

Устанавливает или возвращает прозрачность элемента. Диапазон значений: 0-255

integer

Да/да

parentElement

Возвращает родительский элемент.

element

Да/нет

pinX

Устанавливает или возвращает горизонтальную отметку.

integer

Да/да

pinY

Устанавливает или возвращает вертикальную отметку.

integer

Да/да

rotation

Устанавливает или возвращает вращение элемента (в градусах).  

float

Да/да

tagName

Возвращает имя тега.

string

Да/нет

tooltip

Устанавливает или возвращает всплывающую подсказку для элемента.

string

Да/да

width

Устанавливает или возвращает ширину элемента (в пикселях или процентах).

integer или string

Да/да

visible

Устанавливает или возвращает признак, является ли элемент видимым или нет.

boolean

Да/да

x

Устанавливает или возвращает горизонтальную позицию элемента (в пикселях или процентах).

integer или string

Да/да

y

Устанавливает или возвращает вертикальную позицию элемента (в пикселях или процентах).

integer или string

Да/да

Методы объекта basicElement приведены в таблице 4.8.2.

Таблица 4.8.2.  Методы объекта basicElement

Вызов

Описание

Возвращаемое значение

appendElement(string xml)

Проверяет элемент и добавляет его после последнего дочернего элемента данного элемента.

Новый element

focus()

Задает фокус клавиатуры для элемента.

Нет

insertElement(string xml, element InsertBefore)

Проверяет элемент и добавляет его перед элементом InsertBefore.

Новый element

killFocus() 

Удаляет фокус клавиатуры для элемента.

Нет 

removeElement(element Item)

Удаляет заданный дочерний элемент.

Нет

removeAllElements()

Удаляет все дочерние элементы.

Нет

События объекта basicElement приведены в таблице 4.8.3.

Таблица 4.8.3.  События объекта basicElement

Наименование события

Описание

onclick

Возникает, когда пользователь щелкает по элементу левой кнопкой.

ondblclick

Возникает, когда пользователь дважды щелкает по элементу левой мышью.

ondragdrop

Возникает, когда пользователь отпускает (drops) что-нибудь над элементом.

ondragout

Возникает, когда пользователь отменяет операцию «перетащить и отпустить» (drag/drop).  

ondragover

Возникает, когда пользователь перетаскивает объект над элементом.

onfocusin

Возникает, когда элемент получает фокус клавиатуры.

onfocusout

Возникает, когда элемент теряет фокус клавиатуры.

onkeydown

Возникает, когда пользователь нажимает на клавишу.

onkeypress

Возникает, когда пользователь нажимает, а затем отпускает клавишу.

onkeyup

Возникает, когда пользователь отпускает клавишу.

onmousedown

Возникает, когда пользователь нажимает кнопку мыши.

onmousemove

Возникает, когда пользователь передвигает курсор мыши.

onmouseout

Возникает, когда пользователь проводит курсором мыши за пределами элемента.

onmouseover

Возникает, когда пользователь передвигает курсор мыши над элементом.

onmouseup

Возникает, когда пользователь отпускает кнопку мыши.

onmousewheel

Возникает, когда пользователь прокручивает колесико мыши.

onrclick

Возникает, когда пользователь щелкает по элементу правой кнопкой.

onrdblclick

Возникает, когда пользователь дважды щелкает по элементу правой кнопкой.

onsize

Возникает, когда после изменения размера элемента.

3.2.4.1.3. Объект label

Объект label задает текстовую надпись и наследует все свойства и методы объекта basicElement.

Дополнительные свойства объекта label приведены в таблице 4.8.4.

Таблица 4.8.4.  Дополнительные свойства объекта label 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

align

Устанавливает или возвращает выравнивание текста. Допустимые значения:  center, left, right.

string

Да/да

bold

Устанавливает или возвращает жирность текста (true или false).

boolean

Да/да

color

Устанавливает или возвращает цвет текста.

string

Да/да

font

Устанавливает или возвращает шрифт текста.

string

Да/да

innerText

Устанавливает или возвращает текст надписи.

string

Да/да

italic

Устанавливает или возвращает наклонность текста (true или false).

boolean

Да/да

size

Устанавливает или возвращает размер текста (в пунктах).

integer

Да/да

strikeout

Устанавливает или возвращает перечеркивание  текста (true или false).

boolean

Да/да

trimming

Устанавливает или возвращает режим обрезания слишком большой надписи. Допустимые значения: none, character, word, character-ellipsis, word-ellipsis, path-ellipsis.

string

Да/да

underline

Устанавливает или возвращает подчеркивание  текста (true или false).

boolean

Да/да

vAlign

Устанавливает или возвращает вертикальное выравнивание текста. Допустимые значения:  top, middle, bottom.

string

Да/да

wordWrap

Устанавливает или возвращает возможность свертки текста в несколько строк (true или false).

boolean

Да/да

Свойство color для объекта label может иметь следующие значения:

  •  "RRGGBB" – шестнадцатеричные компоненты цветов модели RGB;
  •  "AARRGGBB" – шестнадцатеричная компонента прозрачности и шестнадцатеричные компоненты цветов модели RGB;
  •  "URL-изображения" – адрес изображения, используемого в качестве повторяющегося шаблона.

3.2.4.1.4. Объект button

Объект button задает кнопку и наследует все свойства и методы объекта basicElement, а также все свойства объекта label, кроме свойства innerText.  

Дополнительные свойства объекта button приведены в таблице 4.8.5.

Таблица 4.8.5.  Дополнительные свойства объекта button

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

disabledImage

Устанавливает или возвращает изображение, выводимое при неактивной кнопке.

string

Да/да

downImage

Устанавливает или возвращает изображение, выводимое при нажатой кнопке.

string

Да/да

image

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

string

Да/да

overImage

Устанавливает или возвращает изображение, выводимое при движении курсора мыши над кнопкой.

string

Да/да

3.2.4.1.5. Объект checkbox и radio

Объекты checkbox и radio задают переключатель и радиокнопку. Они наследует все свойства и методы объекта basicElement, а также все свойства объекта label, кроме свойства innerText.

Объекты radio задаются как дочерние элементы объекта div или объекта view.  

Дополнительные свойства объектов checkbox и radio приведены в таблице 4.8.6.

Таблица 4.8.6.  Дополнительные свойства объектов checkbox и radio

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

checkedDisabledImage

Устанавливает или возвращает изображение, выводимое при включенном и неактивном переключателе.

string

Да/да

checkedDownImage

Устанавливает или возвращает изображение, выводимое при включенном и выбираемом переключателе.  

string

Да/да

image

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

string

Да/да

checkedOverImage

Устанавливает или возвращает изображение, выводимое при движении курсора мыши над включенным переключателем.

string

Да/да

checkedImage

Устанавливает или возвращает изображение по умолчанию для  включенного переключателя.

string

Да/да

disabledImage

Устанавливает или возвращает изображение для  неактивного переключателя.

string

Да/да

downImage

Устанавливает или возвращает изображение для  включаемого переключателя.

string

Да/да

overImage

Устанавливает или возвращает изображение, выводимое при движении курсора мыши над переключателем.

string

Да/да

value

Устанавливает или возвращает true для включенного переключателя и false – для выключенного.

string

Да/да

Для объектов checkbox и radio определено также событие onchange, возникающее при изменении состояния переключателя.

3.2.4.1.6. Объект div

Объект div задает контейнер для дочерних элементов и наследует все свойства и методы объекта basicElement.  

Дополнительные свойства объекта div приведены в таблице 4.8.7.

Таблица 4.8.7.  Дополнительные свойства объекта checkbox 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

autoscroll

Если элемент автоматически показывает полосы прокрутки, то значение свойства равно true, иначе – false (это значение по умолчанию).

boolean

Да/да

background

Устанавливает или возвращает цвет фона или фоновое изображение для элемента (аналогично свойству color элемента label).

string 

Да/да

3.2.4.1.7. Объект edit

Объект edit задает текстовое поле и наследует все свойства и методы объекта basicElement.

Дополнительные свойства объекта edit приведены в таблице 4.8.8.

Таблица 4.8.8.  Дополнительные свойства объекта edit 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

background

Устанавливает или возвращает выравнивание цвет фона.

string

Да/да

bold

Устанавливает или возвращает жирность текста (true или false).

boolean

Да/да

color

Устанавливает или возвращает цвет текста. Допустимое значение: "RRGGBB" – шестнадцатеричные компоненты цветов модели RGB.

string

Да/да

font

Устанавливает или возвращает шрифт текста.

string

Да/да

idealBoundingRect

Устанавливает или возвращает идеальный размер для прямоугольника, содержащего текст.

объект size со свойствами width и height.

Да/да

italic

Устанавливает или возвращает наклонность текста (true или false).

boolean

Да/да

size

Устанавливает или возвращает размер текста (в пунктах).

integer

Да/да

strikeout

Устанавливает или возвращает перечеркивание  текста (true или false).

boolean

Да/да

multiline

Если объект может выводить несколько строк текста, значение равно true, иначе – false.

boolean

Да/да

underline

Устанавливает или возвращает подчеркивание  текста (true или false).

boolean

Да/да

passwordChar

Устанавливает или возвращает символ, выводимый вместо вводимого символа (как в пароле). По умолчанию значение свойства равно null и замены символов не происходит.

string

Да/да

wordWrap

Устанавливает или возвращает возможность свертки текста в несколько строк (true или false).

boolean

Да/да

readonly

Устанавливает или возвращает возможность изменения текста (true – текст только для чтения или false – текст можно редактировать – значение по умолчанию).

boolean

Да/да

value

Устанавливает или возвращает текст в поле.

string

Да/да

Для объекта edit определено также событие onchange, возникающее при изменении значения свойства value.

3.2.4.1.8. Объект img

Объект img задает вставку изображения и наследует все свойства и методы объекта basicElement. Вставляемые изображения должны быть в одном из следующих форматов: GIF, JPEG, TIFF или PNG.

Дополнительные свойства объекта img приведены в таблице 4.8.9.

Таблица 4.8.9.  Дополнительные свойства объекта img 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

colorMultiply

Позволяет изменить цвет изображения во время выполнения, например, значение свойства "FF0000" выводит только красную компоненту изображения.

string

Да/да

cropMaintainAspect

Задает режим подгонки изображения. Допустимые значения: true – изображение подгоняется под заданный размер с обрезанием по всем четырем  сторонам,  photo – верхний край не обрезается и false – без обрезки – значение по умолчанию).

string

Да/да

src

Устанавливает или возвращает выводимое изображение.

string

Да/да

font

Устанавливает или возвращает шрифт текста.

string

Да/да

srcHeight

Возвращает оригинальную высоту  выводимого изображения.

integer

Да/нет

srcWidth

Возвращает оригинальную ширину  выводимого изображения.

integer

Да/нет

readonly

Устанавливает или возвращает возможность изменения текста (true – текст только для чтения или false – текст можно редактировать – значение по умолчанию).

boolean

Да/да

value

Устанавливает или возвращает текст в поле.

string

Да/да

Для объекта edit определен также метод

setSrcSize(integer ширина, integer высота),

задающий значение ширины и высоты выводимого изображения.

3.2.4.1.9. Объект a

Объект a задает гиперссылку и наследует все свойства и методы объекта basicElement.

Дополнительные свойства объекта a приведены в таблице 4.8.10.

Таблица 4.8.10.  Дополнительные свойства объекта a 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

align

Устанавливает или возвращает выравнивание текста гиперссылки. Допустимые значения:  center, left, right.

string

Да/да

bold

Устанавливает или возвращает жирность текста гиперссылки (true или false).

boolean

Да/да

color

Устанавливает или возвращает цвет текста гиперссылки.

string

Да/да

font

Устанавливает или возвращает шрифт текста гиперссылки.

string

Да/да

href

Устанавливает или возвращает значение гиперссылки.

string

Да/да

innerText

Устанавливает или возвращает текст надписи для гиперссылки.

string

Да/да

italic

Устанавливает или возвращает наклонность текста гиперссылки (true или false).

boolean

Да/да

overColor

Устанавливает или возвращает цвет текста гиперссылки при проведении над ней курсора мыши.

string

Да/да

size

Устанавливает или возвращает размер текста гиперссылки (в пунктах).

integer

Да/да

strikeout

Устанавливает или возвращает перечеркивание  текста гиперссылки (true или false).

boolean

Да/да

trimming

Устанавливает или возвращает режим обрезания слишком большой надписи гиперссылки. Допустимые значения: none, character, word, character-ellipsis, word-ellipsis, path-ellipsis.

string

Да/да

underline

Устанавливает или возвращает подчеркивание  текста гиперссылки (true или false).

boolean

Да/да

vAlign

Устанавливает или возвращает вертикальное выравнивание текста гиперссылки. Допустимые значения:  top, middle, bottom.

string

Да/да

wordWrap

Устанавливает или возвращает возможность свертки текста гиперссылки в несколько строк (true или false).

boolean

Да/да

3.2.4.1.10. Объект progressbar

Объект progressbar задает индикатор процесса и наследует все свойства и методы объекта basicElement.

Дополнительные свойства объекта progressbar приведены в таблице 4.8.11.

Таблица 4.8.11.  Дополнительные свойства объекта progressbar 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

emptyImage

Устанавливает или возвращает выводимое изображение для пустого бегунка.

string

Да/да

fullImage

Устанавливает или возвращает выводимое изображение для заполненного бегунка.

string

Да/да

max

Устанавливает или возвращает значение для заполненного бегунка.

integer

Да/да

min

Устанавливает или возвращает значение для пустого бегунка.

integer

Да/да

orientation

Устанавливает или возвращает ориентацию бегунка. Допустимые значения: horizontal, vertical.

string

Да/да

thumbDisabledImage

Устанавливает или возвращает выводимое изображение для неактивного бегунка.

string

Да/да

thumbDownImage

Устанавливает или возвращает выводимое изображение для нажатого бегунка.

string

Да/да

thumbOverImage

Устанавливает или возвращает выводимое изображение для бегунка, над которым проводят курсором мыши.

string

Да/да

thumbImage

Устанавливает или возвращает выводимое изображение для бегунка по умолчанию.

string

Да/да

value

Устанавливает или возвращает текущее значение бегунка.

integer

Да/да

Для объекта progressbar определено также событие onchange, возникающее при изменении значения свойства value.

3.2.4.1.11. Объект listbox

Объект listbox задает список и наследует все свойства и методы объекта basicElement.

Элементами списка являются объекты item,  наследующие все свойства и методы объекта basicElement. Этот объект имеет следующие два свойства (для чтения/записи):

  •  background – цвет фона элемента (типа string);
  •  selected – состояние элемент: выделен (значение true) или нет (значение false)  (типа boolean).

Каждый элемент комбинированного списка может, в свою очередь, содержать один и более элементов (обычно объекты типа label), т.е. являться раскрывающимся списком.

Для доступа к элементам списка можно использовать свойство children объекта basicElement.

Дополнительные свойства объекта listbox приведены в таблице 4.8.12.

Таблица 4.8.12.  Дополнительные свойства объекта listbox 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

autoscroll

Если список автоматически показывает полосы прокрутки, то значение свойства равно true, иначе – false (это значение по умолчанию).

boolean

Да/да

background

Устанавливает или возвращает цвет фона списка (цвет RGB с учетом или без учета прозрачности).

string

Да/да

itemHeight

Устанавливает или возвращает высоту элемента списка в пикселях или процентах по отношению к высоте списка.

integer или string

Да/да

itemOverColor

Устанавливает или возвращает цвет фона для выделенного элемента под курсором мыши (цвет RGB с учетом или без учета прозрачности).

string

Да/да

itemSelectedColor

Устанавливает или возвращает цвет фона для выделенного элемента (цвет RGB с учетом или без учета прозрачности).

string

Да/да

itemSeparator

Устанавливает или возвращает возможность разделителя между элементами списка (true или false).

boolean

Да/да

itemSeparatorColor

Устанавливает или возвращает цвет разделителя между элементами списка.

string

Да/да

itemWidth

Устанавливает или возвращает желательную ширину элемента списка в пикселях или процентах по отношению к ширине списка.

integer или string

Да/да

multiSelect

Устанавливает или возвращает возможность множественного выбора элементов из списка (true или false).

boolean

Да/да

selectedIndex

Устанавливает или возвращает индекс выбранного элемента (если выбрано несколько элементов – индекс первого элемента). Если нет выбранных элементов, значение свойства равно -1.  

integer

Да/да

selectedItem

Устанавливает или возвращает элемент со значением индекса, равным selectedIndex.

item

Да/да

Дополнительные методы объекта listbox приведены в таблице 4.8.13.

Таблица 4.8.13.  Методы объекта listbox 

Вызов

Описание

Возвращаемое значение

appendString(string текст)

Добавляет элемент с заданным текстом в конец списка. Если добавление сделано, возвращается true, иначе false.

boolean

clearSelection()

Отмена выделения всех элементов списка.

Нет

insertStringAt(string текст, integer индекс)

Добавляет в список элемент с заданным текстом и заданным индексом. Если добавление сделано, возвращается true, иначе false.

boolean

removeString(string текст)

Удаляет из списка первый элемент с заданным текстом.

Нет

Для объекта listbox определено также событие onchange, возникающее при изменении выделения элемента.

3.2.4.1.12. Объект combobox

Объект combobox задает комбинированный список и наследует все свойства и методы объекта basicElement.

Элементами списка являются объекты item. Каждый элемент комбинированного списка может, в свою очередь, содержать один и более элементов (обычно объекты типа label), т.е. являться раскрывающимся списком.

В отличие от списка, в комбинированный список можно добавить свои значения.

Для доступа к элементам списка можно использовать свойство children объекта basicElement.

Дополнительные свойства объекта combobox приведены в таблице 4.8.14.

Таблица 4.8.14.  Дополнительные свойства объекта combobox 

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

background

Устанавливает или возвращает цвет фона списка (цвет RGB с учетом или без учета прозрачности).

string

Да/да

droplistVisible

Устанавливает или возвращает видимость просматриваемого списка (true – все элементы списка или false – один элемент).

boolean

Да/да

itemHeight

Устанавливает или возвращает высоту элемента списка в пикселях или процентах по отношению к высоте списка.

integer или string

Да/да

itemOverColor

Устанавливает или возвращает цвет фона для выделенного элемента под курсором мыши (цвет RGB с учетом или без учета прозрачности).

string

Да/да

itemSeparator

Устанавливает или возвращает возможность разделителя между элементами списка (true или false).

boolean

Да/да

itemSeparatorColor

Устанавливает или возвращает цвет разделителя между элементами списка.

string

Да/да

itemWidth

Устанавливает или возвращает желательную ширину элемента списка в пикселях или процентах по отношению к ширине списка.

integer или string

Да/да

maxDroplistItems

Устанавливает или возвращает максимальное выводимое число элементов в окне списка перед началом вывода полосы прокрутки.  

integer

Да/да

selectedIndex

Устанавливает или возвращает индекс выбранного элемента (если выбрано несколько элементов – индекс первого элемента). Если нет выбранных элементов, значение свойства равно -1.  

integer

Да/да

selectedItem

Устанавливает или возвращает элемент со значением индекса, равным selectedIndex.

item

Да/да

type

Возможность редактирования списка (значение "dropdown" – по умолчанию) или нет (значение "droplist").

string

Да/да

value

Значение редактируемой области (только, если значение type равно "dropdown").

string

Да/да

Дополнительные методы объекта combobox приведены в таблице 4.8.15.

Таблица 4.8.15.  Методы объекта combobox 

Вызов

Описание

Возвращаемое значение

appendString(string текст)

Добавляет элемент с заданным текстом в конец списка. Если добавление сделано, возвращается true, иначе false.

boolean

clearSelection()

Отмена выделения всех элементов списка.

Нет

insertStringAt(string текст, integer индекс)

Добавляет в список элемент с заданным текстом и заданным индексом. Если добавление сделано, возвращается true, иначе false.

boolean

removeString(string текст)

Удаляет из списка первый элемент с заданным текстом.

Нет

Для объекта combobox определено также событие onchange, возникающее при изменении выделения элемента, а  также событие ontextchange, возникающее при изменении значения свойства value.

3.2.4.1.13. Объект view

Объект  view является родительским элементом для набора дочерних элементов объекта basicElement, однако сам он не является дочерним элементом basicElement. Объект view задается в отдельном файле XML для каждой панели графического интерфейса.

Свойства объекта view приведены в таблице 4.8.16.

Таблица 4.8.16.  Свойства объекта view

Наименование

Описание

Тип возвращаемого значения

Чтение/

запись

caption

Устанавливает или возвращает заголовок объекта (по умолчанию выводится при свертывании или развертывании гаджета, но не выводится, если гаджет находится на боковой панели).

string

Да/да

children

Возвращает коллекцию, содержащую дочерние элементы данного элемента.

elements

Да/нет

event

Возвращает объект event, доступный для обработки в сценарии.   

event 

Да/нет

height

Устанавливает или возвращает высоту элемента (в пикселях или процентах).

integer или string

Да/да

width

Устанавливает или возвращает ширину элемента (в пикселях или процентах).

integer или string

Да/да

resizable

Устанавливает или возвращает индикатор возможности изменения окна. Допустимые значения: "false" – пользователь не может изменить окно, "true" – пользователь может изменить окно и при изменении возникает событие onsize, "zoom" – пользователь может изменить окно, но его ширина и высота не изменяются, а содержимое растягивается или сжимается.

string

Да/да

showCaptionAlways

Устанавливает или возвращает индикатор вывода заголовка. Если задано "true", заголовок выводится всегда, если "false" – не выводится, когда гаджет находится на боковой панели. По умолчанию значение свойства равно "false".

boolean

Да/да

Методы объекта view приведены в таблице 4.8.17.

Таблица 4.8.17.  Методы объекта view

Вызов

Описание

Возвращаемое значение

alert(string сообщение)

Вывод сообщения в диалоговом окне.

Нет

confirm(string сообщение)

Вывод сообщения с кнопками OK и Cancel в диалоговом окне. При нажатии кнопки OK возвращается true, при нажатии кнопки Cancelfalse.

boolean

prompt(string вопрос, string ответ-по-умолчанию)

Вывод диалогового окна с вопросом. Возвращает ответ.

string

appendElement(string xml)

Проверяет элемент и добавляет его после последнего дочернего элемента данного элемента.

Новый element

insertElement(string xml, element InsertBefore)

Проверяет элемент и добавляет его перед элементом InsertBefore.

Новый element

removeElement(element Item)

Удаляет заданный дочерний элемент.

Нет

removeAllElements()

Удаляет все дочерние элементы.

Нет

beginAnimation(string script, integer startValue, integer endValue, integer duration)

Запускает таймер анимации, в течение duration миллисекунд. Сценарий выполняется периодически в течение этого времени со значением между startValue и endValue. Возвращает число – идентификатор таймера.

integer

cancelAnimation(integer id)

Прекращает работу таймера анимации с заданным идентификатором.

Нет

setTimeout(string script, integer duration)

Запускает таймер однократно после задержки в течение duration миллисекунд. Возвращает число – идентификатор таймера.

integer

cancelTimeout (integer id)

Прекращает работу однократного таймера с заданным идентификатором.

Нет

setInterval(string script, integer duration)

Запускает таймер многократно после задержки в течение duration миллисекунд. Возвращает число – идентификатор таймера.

integer

cancelInterval (integer id)

Прекращает работу многократного таймера с заданным идентификатором.

Нет

resizeBy(integer width, integer height)

Изменяет размер элемента на заданную ширину width и высоту height (в пикселях).

Нет

resizeTo(integer width, integer height)

Изменяет размер элемента до заданной ширины width и высоты height (в пикселях).

Нет

События объекта view приведены в таблице 4.8.18.

Таблица 4.8.18.  События объекта view

Наименование события

Описание

oncancel

Возникает, когда пользователь нажимает кнопку Cancel.

onclick

Возникает, когда пользователь щелкает по элементу левой кнопкой.

onclose

Возникает, когда окно начинает закрываться.

ondblclick

Возникает, когда пользователь дважды щелкает по элементу левой мышью.

ondock

Возникает, когда окно перемещается на боковую панель.

onundock

Возникает, когда окно перемещается с боковой панели на экран.  

onminimize

Возникает, когда гаджет минимизируется.

onok

Возникает, когда пользователь нажимает кнопку OK.

onopen

Возникает, когда окно впервые открывается.

onkeydown

Возникает, когда пользователь нажимает на клавишу.

onkeypress

Возникает, когда пользователь нажимает, а затем отпускает клавишу.

onkeyup

Возникает, когда пользователь отпускает клавишу.

onmousedown

Возникает, когда пользователь нажимает кнопку мыши.

onmouseout

Возникает, когда пользователь проводит курсором мыши за пределами элемента.

onmouseover

Возникает, когда пользователь передвигает курсор мыши над элементом.

onmouseup

Возникает, когда пользователь отпускает кнопку мыши.

onoptionchanged

Возникает, когда изменяется объект option.

onrclick

Возникает, когда пользователь щелкает по элементу правой кнопкой.

onrdblclick

Возникает, когда пользователь дважды щелкает по элементу правой кнопкой.

onsize

Возникает, когда после изменения размера элемента.

onsizing

Возникает во время изменения размера элемента.

onpopin

Возникает, когда расширение окна закрывается.

onpopout

Возникает, когда расширение окна открывается.

onrestore

Возникает, когда окно восстанавливается из минимизированного состояния.

3.2.4.2. Меню GD SDK

3.2.4.2.1. Команды меню File

В меню File определены следующие команды:

  •  New Gadget – открыть новый гаджет;
  •  Open Gadget – открыть существующий гаджет;
  •  Close Gadget – закрыть гаджет;
  •  Open – открыть текстовый файл гаджета (файл XML или файл сценария);
  •  Save – сохранить активный открытый в окне редактора текстовый файл гаджета;
  •  Save All – сохранить все открытые в окне редактора текстовые файлы гаджета;
  •  Close – закрыть все открытые в окне редактора текстовые файлы гаджета;
  •  Exit – выход из GD SDK.

В меню File выводятся также последние гаджеты, с которыми работал пользователь. Щелчок мышью по имени гаджета аналогичен выполнению команды Open Gadget для этого гаджета.

3.2.4.2.2. Команды меню Edit

В меню Edit определены следующие команды:

  •  Undo – отменить последнее выполненное действие;
  •  Redo – снова выполнить последнее отмененное действие;
  •  Cut – вырезать выделенные элементы;
  •  Copy – скопировать выделенные элементы;
  •  Paste – вставить вырезанные или скопированные элементы;
  •  Delete – удалить выделенные элементы;
  •  Find – найти строку;
  •  Replace – найти и заменить строку;
  •  Go To Line – перейти к строке с заданным номером в окне редактора;
  •  Preferences – настройка редактора.

3.2.4.2.3. Команды меню View

В меню View определены следующие команды:

  •  Refresh – обновляет объекты и панели в окне редактора;
  •  Next Tab – переход к следующей закладке в окне редактора;
  •  Previous Tab – переход к предыдущей закладке в окне редактора;
  •  Debug Console – вывод консоли отладки в нижней части окна GD SDK;
  •  Preview – предварительный просмотр гаджета в окне редактора;
  •  Home Page – вывод домашней страницы GD SDK.

3.2.4.2.4. Команды меню Gadget

В меню Gadget определены следующие команды:

  •  Settings – установка параметров гаджета ;
  •  Add Options View – добавляет файл option.xml к  гаджету и закладку option.xml в окне редактора;
  •  Build Package – архивация файлов гаджета и помещение этих файлов в файл имя-гаджета.gg.

3.2.4.2.5. Команды меню Help

В меню Help определены следующие команды:

  •  User Guid – загружает во внешнем окне файл designer.pdf;
  •  Gadget Api – загружает  в окне редактора домашнюю страницу  GD SDK (требуется доступ в Internet);  
  •  Developer Group – загружает  в окне редактора домашнюю страницу группы разработчиков GD SDK (требуется доступ в Internet);  
  •  Check for Updates – проверка обновлений GD SDK (требуется доступ в Internet);
  •  About – краткие сведения о программе.

4. Порядок выполнения работы

Создайте, используя  пакет  GD SDK, гаджет для своего варианта. В качестве фонового ресурса в файле background.png используйте файл в папке imagesLab8-9, у которого индекс в конце наименования файла равен номеру вашего варианта. Переименуйте этот файл в файл с именем background.png и замените этим файлом стандартный файл background.png в папке гаджета.

Вариант 08-09-01

Создайте гаджет, в котором определяется среднее значение вводимых величин.  В первом текстовом поле (объект edit) c надписью  "Ввод:" (объект label) вводится число. При нажатии кнопки (объект button) "Добавить" введенное значение  проверяется, и, если это число, добавляется к сумме чисел, иначе игнорируется (текстовое поле при этом очищается).  При нажатии кнопки (объект button) "Среднее" во втором текстовом поле (объект edit) c надписью  "Среднее:" (объект label) определяется среднее значение введенных чисел. При нажатии кнопки (объект button)  "Сброс" сумма чисел обнуляется (текстовое поле при этом очищается).

Вариант 08-09-02

Создайте гаджет для вычисления математических функций. Операнд задается в первом текстовом поле (объект edit) c надписью  "Операнд:" (объект label). При нажатии одной из кнопок (объектов button): "exp x", "ln x" или "1/x" для операнда определяется соответственно экспонента, натуральный логарифм или обратное значение. Результат выводится во втором текстовом поле (объект edit) c надписью  "Результат:" (объект label) Если введено не число или при вычислении функции произошла ошибка, во втором текстовом поле выводится сообщение "Ошибка".

Вариант 08-09-03

Создайте гаджет, в котором реализован таймер для определения интервалов времени. Этот интервал определяется в двух текстовых полях (объекты edit) c надписями  "Минуты:" и "Секунды:" (объекты label). Запуск таймера производится при нажатии кнопки "Старт", останов и вывод результата – при нажатии кнопки "Стоп" (объекты button).  Кнопка "Сброс" (объект button) обнуляет интервал.

Вариант 08-09-04

Создайте гаджет, для вывода изображения с зданным наименованием. При выборе пункта с наименованием изображения в списке (объект listbox) слева в окне гаджета в правой части выводится изображение  (объект img). Первоначально в гаджете выводится первое изображение из списка.   

Вариант 08-09-05

Создайте гаджет, в котором выполняет преобразование представления числа в заданную систему счисления. В первом текстовом поле (объект edit) c надписью  "Ввод:" (объект label) вводится  целое десятичное  число. При нажатии одной из кнопок (объектов button): "Hex", "Oct"  или "Bin" число переводится соответственно в шестнадцатеричное, восьмеричное или двоичное представление и результат выводится во втором текстовом поле (объект edit) c надписью  "Результат:" (объект label). Если введенный операнд не является целым десятичным числом, во втором текстовом поле выводится сообщение "Ошибка".

Вариант 08-09-06

Создайте гаджет, в котором выполняется плавное масштабирование изображения. Параметры выводимого изображения (новая ширина и высота в пикселях) задаются в двух текстовых полях (объекты edit) c надписями  "Ширина:" и "Высота:" (объекты label). Плавное изменение масштаба выполняется при нажатии кнопки "Изменить" (объект button). Если введены не целые числа, в соответствующих текстовых полях выводится сообщение "Ошибка".

Вариант 08-09-07

Создайте гаджет, в котором выполняются арифметические действия над двумя операндами. Операнды (числа) задаются в двух текстовых полях (объекты edit) c надписями  "Операнд 1:" и "Операнд 2:" (объекты label). Четыре кнопки (объекты button) задают выполняемую арифметическую операцию:   "+", "-", "*" или "/". Результат операции выводится в третьем текстовом поле (объект edit) c надписью  "Результат:" (объект label). Если введены не числа, в соответствующих текстовых полях выводится сообщение "Ошибка".

Вариант 08-09-08

Создайте гаджет, в которой выбирается шрифт и цвет для заданного текста. Текст вводится в текстовом поле (объект edit) c надписью  "Строка:" (объект label).  Два списка (объекты listbox) с надписями (объект label) "Шрифт:" и "Цвет:" задают по три наименования шрифтом и цветов.  При нажатии кнопки "Вывод" текст выводится в виде надписи (объект label) заданным шрифтом и цветом.  

Вариант 08-09-09

Создайте гаджет, в котором выполняется постепенный вывод (по буквам) заданного текста.  Текст вводится в текстовом поле (объект edit) c надписью  "Строка:" (объект label). Во втором текстовом поле (объект edit) c надписью  "Интервал:" (объект label) задается значение интервала между появлением букв (в миллисекундах). При нажатии кнопки "Вывод" текст выводится в виде надписи (объект label) постепенно по буквам, начиная с первой.

Вариант 08-09-10

Создайте гаджет, в котором производится сравнение значений двух введенных операндов. Операнды задаются в двух текстовых полях (объекты edit) c надписями  "Операнд 1:" и "Операнд 2:" (объекты label). При нажатии одной из кнопок (объектов button): "<", ">", ">=", "<=", "!=", или "==" над операндами выполняется соответствующая операция сравнения. Результат операции выводится в третьем текстовом поле (объект edit) c надписью  "Результат:" (объект label) в виде сообщений "true" или "false". Если введены не числа, в соответствующих текстовых полях выводится сообщение "Ошибка".

Вариант 08-09-11

Создайте гаджет, в котором выполняются арифметические вычисления с использованием памяти. Операнд (число) вводится в первом текстовом поле (объект edit) c надписью  "Операнд" (объект label). При нажатии кнопки "MS" (объект button) операнд помещается в память. При нажатии одной из кнопок (объектов button): "M+", "M-", "M*" или "M/" выполняется соответствующая арифметическая операция, в котором первым операндом является текущее число в первом текстовом поле, а вторым – число в памяти. Результат операции выводится во втором текстовом поле (объект edit) c надписью  "Результат: " (объект label). Если введено не число, то во втором текстовом поле выводится сообщение "Ошибка".

Вариант 08-09-12

Создайте гаджет для перевода значений единиц длины: дюймов или футов в значения в метрических единицах (сантиметрах или метрах). Исходное значение задается в первом текстовом поле в первом текстовом поле (объект edit) c надписью  "Ввод: " (объект label). Единицы длины для исходного значения ("дюйм" и "фут"), а также единицы длины для результата ("сантиметр" и "метр") задаются с помощью радиокнопок (объект radio). При нажатии кнопки (объект button) "Перевести" результат выводится во втором текстовом поле (объект edit) c надписью  "Результат: " (объект label). Если исходное значение не является положительным числом, во втором  текстовом поле выводится сообщение "Ошибка". Данные для перевода значений длины: 1 дюйм = 2.54 см, 1 фут = 30.48 см.

Вариант 08-09-13

Создайте гаджет, в котором определяется день недели для заданной даты. Номер дня в месяце, индекс месяца и год вводятся  в текстовых полях (объекты edit) c надписями  "День: " , "Месяц: " и "Год: " (объекты label).  При нажатии кнопки (объект button) "Определить день недели" в текстовом поле выводится день недели, на который приходится соответствующая дата.   Если введены ошибочные значения, то в соответствующем текстовом поле выводится сообщение   "Ошибка".

Вариант 08-09-14

Создайте гаджет, в котором подсчитывается стоимость подписки на газеты и журналы. Наименование журнала или газеты выбирается из списка (объект listbox), а продолжительность подписки ("Квартал" , "Полгода " и "Год") выбирается с помощью радиокнопок.  вводится в первом текстовом поле (объект edit) c надписью  "Ввод: " (объект label).и количество месяцев подписки (от 1 до 12)  задаются с помощью раскрывающихся меню. При нажатии кнопки (объект button) "Добавить" журнал или газета товар добавляется в список подписки, а при нажатии кнопки (объект button) "Подсчитать" в текстовом поле (объект edit) c надписью  "Сумма: " (объект label) выводится суммарная стоимость подписки.

Вариант 08-09-15

Создайте гаджет, в которой выполняется преобразование введенного числа в десятичную систему счисления. В первом текстовом поле (объект edit) c надписью  "Ввод: " (объект label) вводится  целое шестнадцатеричное, восьмеричное или двоичное число. Система счисления задается с помощью радиокнопок "Hex", "Oct"  и "Bin". При нажатии кнопки (объект button) "Перевести" число переводится в десятичное представление, и результат выводится во втором текстовом поле (объект edit) c надписью  "Результат: " (объект label). Если введенный операнд не является числом в соответствующей системе счисления, во втором текстовом поле выводится сообщение "Ошибка".

Вариант 08-09-16

Создайте гаджет, в котором определяется результат константного логического выражения. В первом текстовом поле (объект edit) c надписью  "Выражение: " (объект label) формируется  логическое константное выражение с помощью кнопок (объектов button):  "true", "false", "&" (И), "|" (ИЛИ), "!" (НЕ) и "^" (исключающее ИЛИ) (например, true & !false | true). Выполнение операции производится при нажатии кнопки (объект button) "Вычислить".  Результат выполнения операции (true или false) выводится во второе текстовое поле (объект edit) c надписью  "Результат: " (объект label).

Вариант 08-09-17

Создайте гаджет, в котором подсчитывается количество заданных символов в тексте. Исходный текст вводится в многострочное текстовое поле  (объект edit) c надписью  "Строка: " (объект label), а символ вводится в другое текстовое поле (объект edit) c надписью  "Символ: " (объект label). При нажатии кнопки (объект button) "Определить" в третьем текстовом поле (объект edit) c надписью  "Повторений: " (объект label) выводится количество повторений заданного символа в исходном тексте. Если в первом текстовом поле введено больше одного символа, во втором текстовом поле выводится сообщение "Ошибка".

Вариант 08-09-18

Создайте гаджет, в котором определяется количество дней между двумя заданными датами. Для первой даты номер дня в месяце, индекс месяца и год вводятся в текстовом поле Дата вводится в формате dd/mm/yyyy, где dd – номер дня в месяце, mm – индекс месяца и  yyyy – год. Вторая дата вводится в другом текстовом поле (объект edit) c надписью  "Дата2: " (объект label) в том же формате. При нажатии кнопки  "Определить количество дней" результат выводится в текстовом поле.   Если введены ошибочные данные, то в соответствующем текстовом поле выводится сообщение "Ошибка".

Примечание: Для определения промежутка времени сначала обе даты переводятся в миллисекунды, затем между ними вычисляется разность и результат делится нацело на 86400000.

Вариант 08-09-19

Создайте гаджет, в котором выполняется кодирование заданной строки. В первом текстовом поле (объект edit) c надписью  "Строка: " (объект label)  вводится заданная строка. При нажатии кнопки (объект button) "Кодировать" во втором текстовом поле (объект edit только для чтения)  c надписью  "Символ: " (объект label) выводится текущий символ строки,  а третьем текстовом поле (объект edit) c надписью  "Код: " (объект label)  необходимо ввести код текущего символа (один символ). Если в строке несколько одинаковых символов, то операция кодирования выполняется только для первого вхождения символа, для остальных символов код подставляется автоматически. После кодировки всех символов в четвертом текстовом поле (объект edit только для чтения) c надписью  "Результат: " (объект label) выводится закодированная строка.

Вариант 08-09-20

Создайте гаджет, в котором угадывается заданное слово. Первоначально в первом текстовом поле (объект edit) c надписью  "Строка: " (объект label) выводятся символы "*", количество которых равно длине заданного слова. Во втором текстовом (объект edit) c надписью  "Буква: " (объект label) поле вводится буква и, при нажатии кнопки (объект button) "Проверить", выполняется проверка наличия введенной буквы в слове. Если введенная буква есть в заданном поле, то в первом текстовом поле соответствующие символы "*" заменяются введенными буквами. Когда угаданы все буквы слова, в третьем текстовом поле (объект edit) c надписью  "Попыток: " (объект label) выводится количество попыток угадывания слова.  

5. Содержание отчета

В отчете должны быть представлены тексты файлов main.xml и main.js гаджета, а также скриншот вывода гаджета по команде Preview меню View.           

6. Вопросы для самоконтроля

Как выполняется запрос на обработку данных в традиционной Web-технологии?

Какие существующие технологии объединяет технология AJAX?

Как выполняется запрос на обработку данных в технологии AJAX?

Как задается объект XMLHTTPRequest создается в Web-браузере Internet Explorer и как он задается в остальных Web-браузерах?

Какие свойства, общие для всех Web-браузеров, определены для объекта XMLHTTPRequest?

Как задаются и как выполняются методы open(), abort()и send() для объекта XMLHTTPRequest?

Какие методы получения и установки заголовков протокола HTTP определены для объекта XMLHTTPRequest?

Файл: file:///web/1/5fan/public_html/www/files/2/5fan_ru_13965_46a01ab2cda42e246c1c06d39ff27fe4.doc   Создан: 2008-05-22T07:28:00Z Модифицирован: 2008-05-22T07:28:00Z     Автор:


 

А также другие работы, которые могут Вас заинтересовать

17273. Облік розрахунків з оплати праці 39.5 KB
  Облік розрахунків з оплати праці. Облік розрахунків з оплати праці ведуть на рахунку 66 €œ Розрахунки за виплатами працівникам € у розрізі субрахунків 661 €œРозрахунки за заробітною платою€ 662 €œРозрахунки з депонентами€. На кредиті рахунку відображають нараховану пр
17274. Облік виробничих витрат 40 KB
  Облік виробничих витрат Методологічні основи формування в бухгалтерському обліку інформації про витрати підприємств всіх форм власності регламентується ПСБО 16 €œВитрати€. У відповідності до цього стандарту витратами визнається зменшення активів або збільшення зо...
17275. Облік незавершеного виробництва та зведений облік витрат і калькулювання собівартості продукції 25.5 KB
  Облік незавершеного виробництва та зведений облік витрат і калькулювання собівартості продукції До незавершеного виробництва відноситься продукція яка не пройшла всіх стадій обробки передбачених технологічним процесом а також вироби закінчені виробництвом але п
17276. Облік витрат підприємства, які не включаються у собівартість продукції 33 KB
  Облік витрат підприємства які не включаються у собівартість продукції. В процесі операційної діяльності у підприємства виникають витрати які не включаються у собівартість продукції. До них відносяться: адміністративні витрати; витрати на збут; інші операц...
17277. Предмет і об'єкти бухгалтерського обліку 72.5 KB
  Предмет і об'єкти бухгалтерського обліку Бухгалтерський облік як і будьяка інша економічна наука має свої предмет об'єкти суб'єкти і метод. Предмет це те на що спрямована пізнавальна творча та практична діяльність людей. Предмет бухгалтерського обліку в широком...
17278. Базові принципи бухгалтерського обліку 39 KB
  Базові принципи бухгалтерського обліку Слово принцип від лат. рrіпсіріиs основа первоначало вихідне положення будьякої теорії науки що визначає всі наступні положення які випливають з його твердження. На відміну від вихідних положень природничих наук принципи ...
17279. Методичні прийоми (метод) бухгалтерського обліку 41.5 KB
  Методичні прийоми метод бухгалтерського обліку Бухгалтерський облік як і кожна наука має свій метод. Слово метод від гр. methodos дослідження означає спосіб дослідження явищ підхід до вивчення явищ планомірний шлях встановлення істини взагалі прийом спосіб дії. У ...
17280. Суть і побудова бухгалтерського балансу 43.5 KB
  Суть і побудова бухгалтерського балансу Оперативне управління господарюючим суб'єктом вимагає достовірних і точних даних про стан і наявність господарських засобів їх склад і розміщення а також про джерела їх формування і цільове призначення. Таку інформацію узагал
17281. Структура балансу 55.5 KB
  Структура балансу Змістовна частина бухгалтерського балансу визначається його будовою та структурою. У побудові активу і пасиву є як вітчизняна так і світова практика. Загальну характеристику побудови активу і пасиву балансу у світовій і вітчизняній практиці показан