Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Все, что вы хотели знать о написании скриптов для JFW, 5 страница



разным логическим уровням различных ветвей вашего дерева каталогов в

Проводнике Windowd, и вы лучше почувствуете эту иерархию родителей/детей.

 

Идентификация окон

 

Программист, создающий приложение, присваивает каждому окну некоторое

количество идентификаторов. Эти идентификаторы позволяют недвусмысленно

обращаться именно к запрашиваемому окну. Например, каждое окно имеет

класс, тип, код типа, код подтипа, и управляющий идентификатор.

 

Класс окна и код типа сообщают нам, является ли окно полем

редактирования, кнопкой или каким-то другим типом окна. Код подтипа

может дать более конкретную информацию об окне, дифференцируя, например,

между обычной кнопкой и радиокнопкой. Таким образом, класс окна, его тип,

код типа, и код подтипа позволяют нам резделить окна по категориям. Ниже

перечислены более точные определения этих четырех категорий, и встроенные

функции Jaws, которые использованы во время написания скриптов для их

получения.

 

Классы окон, типы,

коды типов и коды подтипов

 

Класс окна - это категория, которая обозначает некоторую информацию о том,

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

Edit Field (поле редактирования), ListBox (окно списка), или Button (КНопка).

Это уже предоставляет некоторую ценную информацию об окне, поскольку

мы знаем, что ListBox - это нечто совершенно отличное, и он будет иметь

совершенно другие требования к чтению, нежели Button (Кнопка). Проблема

состоит в том, что класс окна не всегда предоставляет достаточно подробную

информацию для наших целей. Например, проверка класса окна возвратит

одну и ту же информацию для кнопки, радиокнопки и блока проверки,

поскольку все они принадлежат к классу Button. Очевидно, в некоторых

случаях нам понадобится более подробная информация.

 

Другие категории окон, перечисленные ниже, можно использовать для

получения этой информации. Кроме того, некоторые программисты

используют пользовательские классы окон (custom window classes), имеющие

странные и нераспознаваемые имена, которые Jaws не понимает. Нам

понадобится некоторый способ, чтобы сообщить Jaws, как обращаться с этими

пользовательскими классами окон, и это описывается ниже.

Класс окна можно получить с помощью функции GetWindowClass.

 

 

тип окна (Window type) - как и в случае с классом окна, тип окна

возвращает строку или имя, которое в отношении окна является



описательным. Иногда эта категория может дать более конкретную

информацию о некоторых окнах. Однако, запрос о типе окна возвратит ту же

самую информацию об окне, что и запрос класса окна, если никакой более

конкретной информации нет. Например, класс окна и тип окна Edit Field

(поле редактирования) будут в точности одним и тем же. Однако, если

доступна более конкретная информация, типом окна можно воспользоваться,

чтобы разобраться с этим. Так, если класс окна кнопки, радиокнопки или

блока проверки будет всегда "button", типы окна всех этих трех окон будут

сообщаться как "Button", "Radiobutton" и "Checkbox". Такая конкретная

информация позволит нам сообщить Jaws, как поступать с каждым из этих

типов. Если программист использовал пользовательские классы окон Custom

window classes), то запрос типа окна возвратит строку, которая говорит, что

тип окна неизвестен. Однако, когда пользовательский тип окна (custom

window type) переклассифицирован на известный класс окна (см. ниже), тип

окна вернет имя переклассифицированного окна и, таким образом, сообщит

нам, что делает окно. Единственная проблема с типом окон состоит в том, что

строка, возвращаемая этой функцией, всегда по-английски, и поэтому не

очень-то полезна для тех, кто использует Jaws на других языках. По этой

причине был разработан код типа окна. Тип окна можно получить с помощью

функции GetWindowType.

 

Код типа окна (Window type code) - запрос кода типа окна возвращает число,

а не строку. Это число переводится в понятную строку с помощью

определений констант, которые можно найти в файле HJCONST.JSH.

Например, в этом файле вы увидите такие, например, строки, как

WT_Button =1, WT_Edit = 3, WT_ListBox = 4, и WT_ScrollBar = 5. Префикс

константы WT сообщает вам, что эта константа относится к типу окна. Хотя

код типа окна не сообщает нам больше информации, чем тип окна, его

преимущество заключается в том, что он является независимым. Поскольку

для данных типов окон всегда возвращаются одни и те же номера, числа

можно приравнять к строкам на любом из возможных языков. Код типа окна

можно получить с помощью функции GetWindowTypeCode.

 

Код подтипа окна - как и в случае с типом окна, код подтипа окна также

возвращает целое число. Коды подтипа окна также переводятся в строки с

помощью тех же определений констант, что и для кода типа окна.

Единственное различие состоит в том, что код подтипа окна предоставляет

более подробную информацию, если она доступна. Если нет, обе функции

возвратят одну и ту же информацию. Например, радиокнопка возвратит код

типа окна 1, (WT_Button) но код подтипа 19 (WT_RadioButton). Кнопка

"Пуск", находящаяся на панели задач, также вернет код типа 1

(WT_Button), но вернет код подтипа 32 (WT_StartButton). Аналогичным

образом, GetWindowTypeCode вернет WT_TABCONTROL для панели задач,

тогда как GetWindowSubtypeCode вернет WT_TASKBAR. Вам захочется

использовать GetWindowTypeCode, когда вам не нужна более конкретная

информация, которую возвращает GetWindowSubtypeCode. Коды подтипов окон

также независимы с точки зрения языка. Их можно получить с помощью

функции GetWindowSubtypeCode.

 

Причина, по которой эти категории окон так важны для пользователей Jaws

состоит в том, что Jaws будет вести себя по-разному, в зависимости от того,

к какой категории принадлежит окно, содержащее фокус. Например, если

фокус находится в поле редактирования, Jaws отслеживает каретку, или

курсор вставки. Если вы нажимаете клавишу "Стрелка вниз", Jaws озвучит

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

если вы находитесь в списке или в меню, Jaws отслеживает выделение или

курсорную рамку, когда используются клавиши-стрелки, чтобы перемещаться

вверх и вниз по списку. Jaws знает, что надо делать, благодаря скриптам,

ассоциированным с клавишами "Стрелка вверх" и "Стрелка вниз" в файле

скриптов default.jss. Эти скрипты содержат логику, которая определяет, что

делать, основываясь на категории окна, в котором находится фокус, когда вы

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

SayPriorLine и SayNextLine в файле default.jss, вы увидите, что решения, в

отношении того, что говорить, принимаются, основываясь на кодах типа и

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

 

Как и в случае с типами окон, кодами типов, кодами подтипов окон,

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

программистов, и Jaws скрипты по умолчанию содержат необходимую логику,

чтобы обеспечить нормальное озвучивание таких стандартных классов в

большинстве случаев. Однако, классы окон не всегда настолько стандартны,

как эти другие категории. Если вам когда-либо пришлось воспользоваться

диалогом классов окон в диспетчере конфигурации, чтобы переназначить

пользовательский или неизвестный класс окон, вы знаете, что иногда

программист создает пользовательские классы окон, о которых мы должны

информировать Jaws. Поскольку эти пользовательские классы по определению

являются нестандартными, Jaws не имеет никакого понятия, что с ними

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

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

Jaws знал, как себя вести, когда оно ему встретится. Этот процесс называется

переклассификацией или переназначением класса окна. Если вы никогда не

пользовались этой процедурой, воспользуйтесь или комбинацией клавиш

Insert+7, или комбинацией клавиш Insert+F2, после чего нажмите W, а затем

Enter, чтобы вызвать диалог переназначения класса окон, и поизучайте

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

 

После того, как вы переклассифицировали окно, приравняв его к стандартному

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

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

 

Контрольные идентификаторы и ручки (handles) окон

 

Контрольный идентификатор - это произвольное число, которое служит в

качестве идентификатора, который программист использует для того, чтобы

пометить каждое окно в своей программе. Его можно получить с помощью

функции GetControlID. Контрольный идентификатор, в отличие от класса

окон, никакого специального значения не имеет, но им можно

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

никакие два окна в программе не должны иметь одинаковых контрольных

идентификаторов, но иногда все же такое происходит. Если вы знаете, как

получить доступ к контрольному идентификатору, и если он является

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

заставить Jaws проделать некоторые вещи, если он обнаружит, что фокус

вашей системы находится в окне с определенным контрольным

идентификатором, который вы идентифицировали.

 

Один пример, где это чрезвычайно важно, это приложения, где кнопки

обозначены рисунками, а не текстовыми ярлыками. В обычном случае Jaws

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

Tab, но если ярлыком является рисунок, то текста для озвучивания просто

нет. С помощью определения контрольных идентификаторов различных

графических кнопок, можно написать скрипт, который будет озвучивать

название кнопки, когда фокус переместится на кнопку с конкретным

контрольным идентификатором.

 

Конечно, нет никакой гарантии, что два окна в различных программах не

будут иметь один и тот же контрольный идентификатор. Поэтому, чтобы

предотвратить путаницу, система присваивает уникальный идентификатор,

который называется ручкой окна (a window handle), каждому окну, к

которому она осуществляет доступ во время данной конкретной сессии. Ручки

окон являются числами,но они не являются неизменными значениями, в

отличие от контрольных идентификаторов. Пока ручка активно присвоена

конкретному окну, ею можно пользоваться, чтобы ссылаться на это окно и

идентифицировать его. Когда ручка будет присвоена, она остается активной,

пока существует окно. Однако, когда окно уничтожается, оно освобождает и

свою ручку. Если окно повторно вызывается позже, оно, вероятнее всего,

будет иметь другую ручку. Поскольку система присваивает эти ручки, покуда

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

самой, какой она будет завтра. Хорошей аналогией для оконной ручки будет

пронумерованный распределитель билетов, используемый во многих булочных

и магазинах деликатесов. Когда вы входите, вы берете номерок у

распределителя, и этот номерок становится вашей ручкой на сей день. Сегодня

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

это ваша очередь. Если вы придете в другой день, у вас, вероятнее всего,

будет другой номер, но он по-прежнему бедет вашей ручкой, хотя он и не

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

система идентификации, которая сообщает служащему, кто следующий в

очереди. Используйте ручку окна, чтобы идентифицировать его среди других

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

помощью встроенных функций GetCurrentWindow () и GetFocus (). Одним из

способов проделать это будет, например, воспользоваться функцией

GetCurrentWindow () в качестве параметра для функции SayInteger (). Таким

образом, SayInteger (GetCurrentWindow ()) сообщит ручку окна, содержащего

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

функций, которые упоминались ранее.

 

 

Есть некоторые встроенные скрипты по умолчанию, которыми вы можете

воспользоваться, чтобы запросить эти и другие типы информации из

приложения. Мы научим вас, как пользоваться ими в разделе "Изучаем

приложение с помощью функций утилит". А пока что попробуйте следующее:

 

Нажмите клавиши Insert и Ctrl, и не отпуская, нажмите клавишу F1. Вы

должны услышать, как будет сообщен контрольный идентификатор, класс окна

и ручку окна, в котором вы в данный момент находитесь. Походите по

разным окнам и по разным приложениям, чтобы получить некоторое

представление о том виде информации, которую можно получить с помощью

этой комбинации клавиш.

 

Строительные блоки языка скриптов

 

Мы строим файлы скриптов из строительных блоков, которые составляют язык

скриптов Jaws. Эту часть книги можно сравнить с изучением языка,

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

наш письменный язык имеет части речи, из которых составляются

предложения, из которых состоят абзацы, так и язык скриптов Jaws имеет

утверждения, из которых состоят скрипты, из которых состоят файлы скриптов.

 

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

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

написания скриптов", мы узнаем, как объединять вместе законченные файлы

скриптов, и как их компилировать и использовать.

 

Скрипт

 

Как мы уже сказали прежде, скриптом называется небольшая компьютерная

программа, которая контролирует деятельность Jaws. Скрипты можно

закрепить за клавишами. Они не должны этого, но любые скрипты можно

привязать к клавишам. Скрипт должен иметь следующие части, в точности

соблюдая нижеприведенный порядок:

сначала идет ключевое слово, начинающее скрипт. Это просто слово "Script",

после чего идет пробел.

 

На этой же строке, после слова "Script", приводится его имя. Обычно это

несколько слов, объединенных вместе и описывающих действие скрипта, как,

например, CloseDocumentWindow (ЗакрытьОкноДокумента). Обратите

внимание, что каждое из объединенных слов начинается с заглавной буквы,

чтобы Jaws мог правильно прочитать название. После имени записывается (),

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

добавляется диспетчером скриптов, когда вы создаете скрипт.

 

Далее следуют объявления всех локальных переменных, после чего идут все

функции, арифметические операции утверждения контроля переполнения,

которые вам нужны, в последовательном порядке.

 

Это может быть и чем-то очень простым, например озвучивание строки, как

мы делали в нашем первом скрипте, или сложная операция.

 

Оператор окончания скрипта, EndScript, всегда является последней строкой

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

вы создаете скрипт.

 

Диспетчер скриптов корректно создаст базовую структуру скрипта, когда вы

выберете "New Script" в меню "Script", или воспользуетесь

клавишей-ускорителем CTRL+E. Вы всегда должны создавать скрипты таким

образом, поскольку диспетчер скриптов также запросит у вас

соответствующую документацию скрипта и позволит вам закрепить скрипт за

клавишей.

 

Функция

 

Самая большая разница между скриптом и функцией состоит в том, что

функция не может быть закреплена за клавишей. Она либо будет вызываться

из скрипта, либо из другой функции, либо будет запускаться системным

событием. Важно напомнить вам о некоторых жаргонных словечках, которые

мы обсудили прежде. Это слово "Функция" имеет несколько слегка различных

значений, и важно иметь их в виду для последующей дискуссии.

 

Мы близки к тому, чтобы поговорить о функциях, которые могут быть

созданы вами, и под этим мы будем подразумевать скрипт, который вы

напишете, и который не будет закреплен за клавишей. Это функция,

определяемая пользователем (User-defined aunction), имея в виду, что она

написана вами, пользователями. Также имеются функции, уже

присутствующие в файлах скриптов, и которые вы можете модифицировать, и

эти функции были написаны авторами скриптов из Henter-Joyce. Это тоже

функции, определяемые пользователем, но их определяли другие пользователи,

а не вы. И наконец, имеются встроенные функции, которые являются

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

модифицировать встроенные функции, как вы можете модифицировать

свои собственные функции, или функции, написанные другими людьми. Вы

можете использовать любой из этих трех типов функций, как строительными

блоками, когда будете писать скрипты или новые функции, но встроенные

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

ним не применяется. (Встроенные функции будут обсуждаться позже).

 

Не встроенная функция должна иметь следующие части, в точности соблюдая

следующий порядок: тип возврата: Handle (ручка), int (целое), Object (Объект),

String (строка) или Void (Пустая)

Начальное ключевое слово функции. Это просто слово "Function", после

которого следует пробел.

На той же строке, где написано слово "function", записывается имя функции.

Обычно это несколько слов, объединенных вместе, которые описывают

действие этой функции, например SayFocusedWindow (НазватьОкноСФокусом).

Обратите внимание, что каждое из объединенных слов начинается с большой

буквы. Таким способом Jaws может правильно прочитать название, как если

бы это были отдельные слова. После имени функции следуют (), чтобы

завершить начальный оператор функции. Обратите внимание, что все функции

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

в пункте 1, перед ключевым словом начала функции. Эти типы возврата

упоминались ранее и описывают, какой тип информации возвращается в

вызывающий скрипт, когда функция заканчивает работу. Конечно, функцию

можно придумать так, чтобы ее можно было вызвать и завершить ее задачу,

без необходимости возвращать какую-либо информацию обратно в

вызывающий скрипт или функцию. В этом случае возврат обозначается как

Void.

 

С другой стороны, кроме завершения любых других задач, функция также

может передать целое число, строку, объект или значение ручки (handle),

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

увидеть слово String, Object, или Handle перед словом Function на первой

строке.

 

Специальные имена функций событий, такие, как AutoStartEvent или

NewTextEvent сообщают вам, что функция запускается автоматически, когда в

приложении происходят определенные вещи. Эти функции обычно не

вызываются другими скриптами или функциями.

 

Между скобками (и) могут находиться параметры, которые используются

для того, чтобы передать информацию функции, которая понадобится ей,

чтобы выполнить свою задачу. Позже мы все это обсудим более подробно.

 

Затем следуют объявления всех локальных переменных, после чего идут все

функции, арифметические операции и операторы контроля переполнения,

которые необходимы, в последовательном порядке. Это может быть так же

просто, как было в нашем первом скрипте, или сложная операция.

 

Оператор окончания функции, EndFunction, всегда является последней строкой

функции. Диспетчер скриптов автоматически создаст базовую структуру

функции, когда вы выберете New Script из меню Script. Вы всегда должны

создавать функции таким образом, поскольку диспетчер скриптов также

запросит соответствующую документацию функции и и позволит вам

присвоить параметры и возвраты.

 

Давайте также вспомним еще кое-какие жаргонные словечки. Термин "Вызов

функции" означает помещение имени этой функции в скрипт или функцию

для выполнения. Вы можете вызвать или функцию, определенную

пользователем, или встроенную функцию таким образом. Во многих случаях

правила и процедуры, которые применяются к функциям, также применяются

к скриптам. Например, переменные объявляются точно также и там, и там, и

функции вызываются аналогичным образом и там, и там.

 

Но есть также много различий. Если мы описываем грань проекта, которая

применяется только к скрипту или только к функции, мы должны быть

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

равным образом к обеим.

 

Типы утверждений

 

Ниже приводится список типов утверждений, из которых состоят скрипты.

Каждое утверждение подобно части речи в языке скриптов Jaws, и выполняет

специфические задачи и с его использование ассоциированы определенные

правила.

 

Комментарии

 

Комментариями называются строки текста в вашем файле скриптове, которые

не являются выполняемыми утверждениями. Они обычно используются для

того, чтобы проинформировать тех, кто будет читать исходный текст, как

работают утверждения. Комментарии могут находиться на строке сами по себе

или в конце строки. Комментарий начинается с точки с запятой. Все, что

записано в строке после точки с запятой, интерпретируется как комментарий.

Если вам нужно закомментировать несколько строк, начинайте каждую

строку с точки с запятой.

 

Включения (Include)

 

Утверждения включения (Include) сообщают компилятору, что наряду с этим

файлом он должен включить содержание другого файла, так, как если бы эта

информация была набрана в главный файл на том месте, где находится

утверждение включения. Следовательно, вся информация во включенном файле

доступна для главного файла от точки включения и до конца главного файла.

Это означает, что все включенные файлы будут скомпилированы наряду с

главным файлом, в один большой.jsb файл. Файлы включения - это отдельные

файлы с общими пунктами, которые могут оказаться полезными для

нескольких файлов скриптов, или которые вы можете пожелать хранить по

отдельности из соображений ясности или удобства.

 

Есть два типа файлов включения: файлы заголовков (Header files) обозначены

с помощью расширения.JSH и содержат или объявления переменных, или

объявления констант.

 

Файлы сообщений обозначены с помощью расширения >JSM и содержат

утверждения сообщений с присвоенными номерами.

 

В версиях Jaws до 3.0 иногда было необходимо разбивать файлы макросов на

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

отношении файлов скриптов такой проблемы нет, поскольку они могут быть

настолько большими, насколько вы хотите.

 

Утверждение включения имеет имя включаемого файла, заключенное в

кавычки следующим образом:

 

Include "HJGLOBAL.JSH"

 

Если вы забудете поставить кавычки, синтаксис будет неверным, и вы

получите сообщение об ошибке, когда попытаетесь скомпилировать файл.

Также предполагается, что файл, который нужно включить, содержится внутри

директории языка (Например, поддиректории ENU в поддиректории \SETTINGS

в директории, где находится Jaws).

 

Ниже приводится список стандартных include файлов, поставляемых с Jaws и

включенных в default.jss:

 

HJGLOBAL.JSH - содержит глобальные переменные JFW.

HJCONST.JSH - содержит глобальные константы JFW по умолчанию.

DEFAULT.JSM - содержит стандартные сообщения, на которые

ссылается default.jss.

 

Как мы уже говорили прежде, помните, что файл сообщений - это

специальный файл включений, который присваивает номера сообщений

обычным сообщениям. Таким образом автор скрипта может

использовать номер сообщения вместо самого сообщения, и Jaws

будет искать фактический текст сообщения в файле сообщений. На

самом деле, номер сообщения - это просто константа, которой

присвоена строка фактического сообщения. Все файлы скриптов,

поставляемые с JFW, имеют свои собственные файлы сообщений.

Используйте то же имя, что и файл скриптов, после чего поместите

расширение.JSM, когда будете воздавать свой файл сообщений.

Затем включите его в свой файл скриптов. Если файл default.jsm

содержит сообщения, полезные только для default.jss,

HJGLOBAL.JSH и HJCONST.JSH используются в любом файле скриптов,

который ссылается на глобальные переменные Jaws и его константы.

 

Домашнее задание 4

 

Представьте, что вы начинаете строить файл скриптов для

приложения, которое называется JAWSWINS.EXE. Вы хотите

использовать операторы включения (include) для файла заголовка

констант и переменных, файл сообщений для сообщений и два файла

Jaws, HJCONST.JSH и HJGLOBAL.JSH. Напишите операторы включения,

необходимые для этой цели.

 

Переменные

 

Переменная, как мы уже говорили ранее, и как подразумевает ее

название, это некая сущность, которая имеет некоторое значение,

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

(Термин "Выполнение" используется программистами для описания

работы кода, т.е. компьютерной программы, такой, как скрипт.

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

термином). Переменные должны быть "объявлены", или заданы, они

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

Каждая переменная должна иметь свое имя, которое будет отличать

ее от других функций и имен, использованных в коде. Будьте

внимательны, и не используйте имена, которые уже присвоены

функциям, глобальным переменным и константам, поскольку это

может вызвать проблемы при компиляции или выполнении.

 

Ниже приводится описание типов переменных, допустимых в языке

скриптов Jaws:

 

Integer - переменная, предназначенная для хранения

целочисленного значения. (Integer - это целое число, не

содержащее десятичную точку). Переменная объявляется так:

 

Int MyIntegerVariable

 

Обратите внимание, что после типа (int) следует уникальное имя,

присвоенное этой переменной (MyIntegerVariable).

 

Переменная типа integer хранит целочисленные значения. Мы

используем переменную таким образом, чтобы ее значение могло

изменяться под действием, которое имеет место, пока наш файл

скриптов является активным, и так, чтобы мы могли обратиться к

этому числу по имени в наших скриптах.

 

К использованию переменной integer применяются следующие правила:

 

1. Переменная integer должна быть объявлена прежде, чем ее можно

будет использовать.

2. Ее значение по умолчанию, то есть, значение до того, как ей

присвоено какое-либо значение, всегда равно нулю.

 

String - хранит строку символов. String - это группа символов,

включая буквы, цифры, знаки препинания и пробелы. Эта переменная

объявляется так:

 

String MyStringVariable

 

Мы используем переменную для представления нашей строки, потому

что строка, которую она содержит, может изменяться всилу


Дата добавления: 2015-11-04; просмотров: 12 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.074 сек.)







<== предыдущая лекция | следующая лекция ==>