Учебник по Delphi 4.0 - [9]

Шрифт
Интервал

. Для этого можно воспользоваться идентификатором некоторого типа (например, Boolean или AnsiChar), однако на практике обычно явно задается поддиапазон целых.

Количество элементов массива равно произведению количеств элементов во всех измерениях.

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

var MyArray: Array [1..10] of Integer;

Тогда обращение к его третьему элементу будет выглядеть, как MyArray[З], и выполняться, как к переменной Integer.

Совет: Понятие массива существует в большинстве языков программирования, однако синтаксис, как правило, в каждом случае свой. В языках Basic и FORTRAN вместо квадратных скобок применяются круглые. В С и C++ элементы массива нумеруются с нуля, в FORTRAN — с единицы. В Basic нумерация начинается с нуля или единицы, в зависимости от результата последнего выполнения оператора OPTION BASE. В некоторых версиях Basic можно задавать верхнее и нижнее значения индексов, как это делается в Delphi. В С и C++ обращение к массиву эквивалентно обращению к его первому (нулевому) элементу. В Delphi это будет обращением ко всему массиву.

Множества

Зарезервированное слово set (множество) определяет множество не более чем из 256 порядковых значений:

Set of ordinal type

Минимальный и максимальный порядковые номера исходного типа (на основе которого определяется множественный тип) должны быть в пределах между 0 и 255. Переменная множественного типа содержит (или не содержит) любое значение исходного порядкового типа. Каждое значение из заданного диапазона может принадлежать или не принадлежать множеству. Рассмотрим следующий пример.

Type CharSet = set of AnsiChar; // Тип множества символов. ANSI.

var MyAlphaSet: CharSet; // Переменная типа CharSet.

Переменная set может содержать все элементы множества или не содержать ни одного. При присвоении значения переменной множественного типа элементы множества (порядковые значения) указываются в квадратных скобках:

MyAlphaSet:= ['А', 'Е', 'Г, 'О', 'U', 'Y']; // Все прописные гласные.

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

Совет: Во многих языках структурный множественный тип отсутствует. Вместо него можно применять что-либо наподобие битовых образов или битовых полей.

Файловый тип

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

file of Typel // Файл определенного типа, содержащий

// записи фиксированной длины.

file // Файл без типа или „блочный“.

textfile // Файл с записями переменной длины, разделенными символами CR

//и LF („возврат каретки“ и „новая строка“).

Механизм ввода-вывода информации как никакой другой аспект программирования зависит от языка и реализации. В большинстве случаев предполагается, что программисту незачем вникать во внутреннюю структуру переменных, управляющих вводом-выводом, и при передаче информации следует полностью полагаться на предназначенные для этого процедуры. Их реализация должна оставаться чем-то наподобие черной магии. В Basic файлы обозначаются числовыми значениями — дескрипторами. В C/C++ программисты манипулируют указателями на структуру FILE. И только в Delphi файловая структура — это переменная.

Указательные типы

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

pointer // Указатель без типа.

^typel // Указатель с типом.

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

Только исходный тип указателей может совпадать с собственно типом.

Указатели и адресные функции

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

Функция Описание

Addr Возвращает адрес указанного объекта

Assigned Проверяет, равно ли значение процедурной функции Nil

Ptr Преобразует адрес в указатель

Зарезервированное слово Nil указывает значение указателя, который ни на что не указывает. Такие указатели называют неопределенными. В Object Pascal только при определении указателей можно нарушать правило, по которому все указываемые идентификаторы, в том числе идентификаторы типов, должны быть объявлены выше. Здесь можно указать идентификатор еще необъявленного типа, как в следующем примере:

type

PointerType = ^NotYetDefinedType;

Однако необъявленный тип необходимо объявить ниже в том же блоке объявления типов.

Определенный в Object Pascal тип Pointer— это указатель без типа. Обратиться к переменной через такой указатель невозможно (к переменной типа Pointer нельзя дописывать символ „^“). Однако можно задать ей другой указательный тип.


Еще от автора Неизвестный Автор
Галчонок

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


Сборник рассказов о порке

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


Саньтии Веды Перуна

Саньтии Веды Перуна (Книга Мудрости Перуна) одно из древнейших Славяно-Арийских Священных Преданий, сохраненных Жрецами-хранителями Древнерусской Инглиистической церкви Православных Староверов-Инглингов.


Призраки ночи

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


Закат  вечности

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


mmmavro.org | День 131, Победа

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


Рекомендуем почитать
Литература и методы ее изучения. Системный и синергетический подход

В книге делается попытка соотнести классические методы изучения литературы с системно-синергетической парадигмой, прочно вошедшей в современное научное сознание. В основе учебного пособия идея системно-синергетической парадигмы, получившей развитие в теории науки XX века, в частности в работах нобелевского лауреата И. Пригожина и основоположника синергетики Г. Хакена. В книге рассматриваются подходы к изучению литературы, базирующиеся на теории систем. Особое внимание уделяется слову как «архетипу культуры».


Взаимосвязи отечественной и зарубежной литератур в школьном курсе

Книга посвящена проблеме взаимосвязей отечественной и зарубежной литератур. В ней дается очерк изучения произведений русской и зарубежной литератур XIX–XX вв. в школах России, рассматриваются особенности восприятия учащимися художественных произведений, предлагаются материалы для сопоставления произведений иностранной, русской и национальных литератур России, изучаемых на уроках и факультативных занятиях.Для учителей средней школы и студентов педагогических вузов.


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

Предлагаемое пособие включает развернутую программу учебной дисциплины «Актуальные проблемы современной лингвистики», хрестоматию и систему заданий творческого и проблемного характера. Издание призвано обеспечить изучение цикла общелингвистических дисциплин: «Теория языка», «Общее языкознание», «Актуальные проблемы современной лингвистики», включенных в блок специальных дисциплин государственного образовательного стандарта по направлению «Филология», а также в образовательный стандарт подготовки магистров по направлениям «Филология» и «Языковое образование».Для студентов, магистрантов, аспирантов, преподавателей-филологов.6-е издание.


Спринт на шахматной доске. Как победить в блице

Легендарный питерский шахматист Генрих Чепукайтис, «заслуженный рецидивист блица», многократный чемпион Ленинграда-Петербурга и Москвы по молниеносной игре, вставал в турнирной таблице подчас выше М. Таля, В. Корчного и Т. Петросяна.Будучи одним из сильнейших блицоров мира, Генрих Михайлович свою главную идею в шахматах выразил одной фразой: «Хорошо играть совсем не обязательно, надо, чтобы партнер играл плохо!».Вы узнаете, что надо делать на висячих флажках, как сбить соперника с толку, загнать его в цейтнот и заставить ошибаться.Предваряет повествование замечательный очерк гроссмейстера и литератора Г. Сосонко «Чип», полная версия которого публикуется впервые.Новое издание книги существенно переработано и дополнено.Особенно эта книга будет интересна желающим усилить свою игру в «пятиминутках».


Патологическая анатомия

Четвертое издание учебника (третье вышло в 1993 г. ) состоит из двух частей — общей и частной патологической анатомии. Во всех разделах учебника приведены материалы, полученные с помощью современных методов морфологического исследования. В первой части описаны общепатологические процессы, а также представлены данные о патологии клетки, шоке, склерозе. Во второй части рассмотрена патологическая анатомия болезней, изложенная по нозологическому принципу.


Технология редакционно-издательского процесса

Рассмотрен современный редакционно-издательский процесс и про–анализирована роль редактора на каждом из его этапов. Особое внимание уде–лено подготовке рукописи к изданию, анализу композиции и содержания произведения, редактированию нетекстовых элементов, таких как формулы, таблицы, иллюстрации. Даны характеристики аппарата книжных и жур–нальных изданий. Освещена тема взаимоотношений автора и редактора.Для студентов высших учебных заведений, получающих образование по направлениям (специальностям) «Книжное дело», «Издательское дело и редактирование», «Литературное творчество».