В системе Delphi 7 существуют сотни готовых компонентов, и при решении многих задач бывает полезно предварительно поискать нужный компонент (например, в Интернете), вместо того чтобы выполнять работ; по программированию, возможно, уже сделаную другими людьми. Компонентный подход к созданию программ позволяет повторно использовать готовые разработки и во многих случаях значительно повышает эффективность труда.
С помощью системы Delphi 7 можно создавать не только обычные программы (ЕХЕ-файлы), но и динамически подключаемые библиотеки DLL [своеобразные хранилища кода и ресурсов), новые элементы управления, а также компоненты, отвечающие требованиям различных стандартов но компонентные технологии (COM, ActiveX, CORBA и так далее).
Потребность в ручном программировании возникает, только когда обойтись готовыми компонентами не удается.
Паскальи Delphi (Object Pascal).
В системе Delphi 7 используется специализированная, постоянно совершенствуемая версия языка программирования Паскаль, которая называется Delphi (в шестой и более ранних вариантах системы Delphi она называлась Object Pascal, «Объектный Паскаль»). Эта версия включает набор расширений, ориентированных только на применение в рамках среды Delphi 7 и предназначенных для ускоренного создания приложений.
В комплект системы Delphi 7 входит компилятор командной строки dcc32.exe для этого языка. Кроме того, выполнять компиляцию можно непосредственно из интегрированной оболочки.
Запись программы
Программа на Паскале записывается с помощью набора символов, включающего латинские буквы (регистр не имеет значения), цифры, символ подчеркивания и стандартные знаки препинания. Элементы программы отделяются друг от друга с помощью произвольного числа пробелов и пустых строк.
Некоторые элементы языка записываются путем комбинации двух специальных символов, например:
..
//
:
=
<>
Программа содержит ключевые (или зарезервированные) слова, как стандартные, так и пользовательские (включаемые в программу разработчиком), а также идентификаторы и выражения.
В качестве идентификатора может выступать любая последовательность из букв, цифр и символа подчеркивания, начинающаяся не с цифры. Например:
Unitl
Integer
х
for
There_are_Dates
Go478
Модули. Программа на Паскале состоит из набора модулей (Unit), в каждом из которых содержится описание логически независимой части программы (например, описание работы конкретного окна или описание алгоритма вычисления сложной математической функции). Расширение имени файлов, содержащих модули — .PAS. Модули программы часто создаются системой Delphi 7 автоматически, например при добавлении новой формы. При этом происходит автоматическая генерация исходного текста соответствующего модуля, что избавляет программиста от рутинной работы.
Вносить изменения в исходный код программы, созданный автоматически, в большинстве случаев не разрешается. Это может при вести к возникновению серьезных ошибок на этапе компиляции.
Модули могут иметь связь друг с другом, то есть из одного модуля разрешается обращаться к функциям других модулей. Применение модулей во время разработки программы напоминает применение компонентов во время проектирования экранных форм в том плане, что позволяет повторно использовать программный код, созданный ранее.
В реальности исходные тексты компонентов Delphi 7 представляют собой обычные модули Паскаля, содержащие описание логики работы и способа отображения на экране соответствующих компонентов,
Главный файл
В программе может быть любое количество модулей (несколько сот или вообще ни одного), но только один главный файл проекта. Этсп файл чаше всего невелик и содержит обращения к модулям. Он имеет расширение .DPR и создается средой Delphi 7 автоматически. Начинается этот файл с ключевого слова program (программа), за которым следует название программы и точка с запятой.
program DemoProgram,-
Для вычисления значений по формулам в Паскале применяются выражения, состоящие из операндов (данных, констант и переменных), связанных между собой арифметическими операциями. Каждая арифметическая операция имеет два операнда, расположенных слева и справа от знака операции.
Программа на Паскале может снабжаться комментариями разработчика к своему исходному тексту. Желательно всегда сопровождать тексты своих программ комментариями, даже если алгоритм кодируется с помощью довольно простых операторов. Обычно трудно сразу понять, что делает участок программы из нескольких десятков операторов, особенно если реализуемая ими логика достаточно сложна.
Комментарии в Паскале бывают двух типов: многострочные и однострочные.
С помощью системы Delphi 7 можно создавать приложения Windows практически неограниченной сложности, использующие графический интерфейс. Однако для тех, кто только начинает знакомство с основными операторами Паскаля, имеется возможность создания простых программ в стиле MS-DOS (в качестве учебных).
Это так называемые консольные приложения. Внешне они выглядят как программы с текстовым интерфейсом, но способны обращаться к большинству функций Windows.
Чтобы создать консольное приложение, надо дать команду File > New > • Other (Файл > Создать > Другое) и в диалоговом окне New Items (Создание программы) выбрать значок Console Application (Консольное приложение) (рис. 3) . Система автоматически сгенерирует в текстовом редакторе исходный код заготовку будущего приложения.
Обмен информацией
Так как создаваемая программа — консольная, общаться с пользователем с помощью графического интерфейса она не может. Для этого нужны более простые средства обмена информацией с человеком.
В Паскале имеются две стандартные процедуры ReadLn (для ввода данных) и Write Ln (для записи данных), которые могут использоваться в консольных приложениях. Первая процедура выполняет ввод значения с клавиатуры и его передачу в переменную, которая указана в качестве параметра (можно указать и список переменных — тогда при вводе соответствующие им значения надо разделять пробелами).Вторая процедура выводит одно или несколько значений переменных или выражений в текущую строку экрана, разделяя их пробелами. Процедура ReadLn требует, чтобы человек после окончания ввода нажал клавишу
ENTER, а процедура WriteLn после окончания вывода значений осуществляет перевод курсора на следующую строку. Другая процедура вывода, Write, не выполняет такого перевода и продолжает вывод данных в текущую строку.
Сохранение программы
Перед первым запуском программы ее исходный текст необходимо сохранить. Для этого щелкните на командной кнопке Save All (Сохранить все) на
панели инструментов.Система Delphi 7 попросит указать место для сохранения главного файла Projectl.
Укажите любую подходящую папку.
Компиляция и запуск программы
Чтобы откомпилировать и сразу запустить данную программу, достаточно нажать клавишу F9. В папке, где был сохранен файл с исходным текстом, появится исполнимый файл программы — Projectl.exe. Она будет тут же автоматически запущена из среды Delphi 7. На экране откроется окно консольного приложения.
После нажатия клавиши ENTER управление будет передано обратно в оболочку Delphi 7. Обойтись только простыми — линейными типами в большой программе довольно сложно. Желательно, чтобы структура данных прикладной программы отвечала структуре данных решаемой задачи. Для этого в Паскале есть набор структурных типов данных.
Массивы
Массив — это структура данных, доступ к элементам которой осуществляется по номеру (или индексу). Все элементы в массиве имеют одинаковый тип. Индекс элемента массива может быть вычисляемым, что позволяет организовывать компактную и эффективную обработку больших наборов данных.
Описание массива имеет вид:
type имя-типа-маесива = array[ диапазон ] of тип-элемента;
Запись — это структура данных, доступ к элементам которой осуществляется по имени (названию элемента). Элементы записи могут иметь разный тип, поэтому при описании записи надо указывать и название каждого элемента, и его тип.
С целью повышения эффективности создаваемых программ в первых версиях Паскаля было реализовано понятие указа теля — переменной, которая хранит не значение конкретного типа, а адрес памяти (условно говоря, номер ячейки), где хранится значение соответствующего типа. Указатель только указывает на место в памяти, а получить доступ к данным в этом месте можно с помощью специальных операций.
Указатели можно складывать (операция «+») друге другом и с целыми числами, а также вычитать (операция «-»). Смысл этих операций состоит либо в сдвиге (смещении) адреса памяти на заданное целое число единиц соответствующего типа вперед или назад, либо в определении разности (числа единиц данных) между двумя указателями. Складывать два указателя в языке Паскаль не разрешается.
Подпрограммы
Описание подпрограммы состоит из трех частей: заголовка подпрограммы, локального описания и тела подпрограммы. Заголовок используется, чтобы явно ввести в программу новую подпрограмму и обозначить начало ее описания. Локальные описания представляют собой набор описаний типов, переменных, констант и других подпрограмм, которые действуют только в рамках данной подпрограммы. Тело подпрограммы — это логический блок begin/end, содержащий операторы и команды Паскаля и реализующий нужную логику работы.