Научная работа

DELPHI: ПЕРВЫЕ ШАГИ
Сазонов Д.О.

Delphi – иначе называемая Object Pascal является объектно ориентированным языком, предназначенным для работы в системе Windows. Сам название языка говорит само за себя – главным в Delphi является ОБЪЕК. Объекты Delphi – очень похожи на объекты TurboVision, но с той разницей, что вам не придется описывать объект вручную в поле interface. Вам достаточно указать на панели инструментов тип объекта, нажать на него и переместить на поле ввода. Таким образом Delphi позволяет программисту избавиться от рутинного описания классов, их свойств и методов. Метод визуального отображения объектов в виде пиктограмм на панели инструментов позволяет сократить написание программы, даже написать довольно сложную программу совершенно не имея представления об объектно-ориентированном программировании. Эти факторы как раз и оказывают роль на все большую и большую популярность языков данного типа – построителей (builders). Рассмотрим из чего состоит Delphi – это прежде всего окно формы, где вы проектируете свою программу,  инспектора объектов, который задает свойства и методы каждого из объектов присущих на форме и самой формы тоже и панели компонентов, которые собственно говоря и являются объектами.

Все объекты Delphi принадлежат одному классу Tobject. Иными словами можно сказать, что все объекты delphi являются потомками Tobject. Это важно помнить при составлении своих новых объектов, а в практике delphi сама следит за иерархией объектов – избавляя от этого нас. Сравните с объектно-ориентированным программирование в Turbo (Borland) Pascal.
Сама форма является лишь аналогом экрана в Pascal. Таким образом оператор write будет выводит символы не на рабочий стол windows, а в форму.
Но использование write или read нам точно не пригодятся. В delphi для ввода и вывода существуют свои объекты. Причем возможно заранее указать на экране место где будет выведен или введен текст.
Достаточно лишь переместить на это место объект, соответствующий «оператору» ввода/вывода.
Большинство языков начинают изучат с вывода надписи “Hello world!” – не отступим и мы от этой традиции.
Итак наше первое приложение в delphi.
Создадим форму.
Выберем в панели компонентов standart объект label

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

Теперь смотрим в object inspector свойство данного объекта под названием caption и в его поле пишем “hello world”. В принципе программа готова – нажимаем f9 и смотрим что получилось…
Рассмотрим другие «свойства» объекта Tlabel. Теперь, дабы не запутаться, нам придется немного заняться теорией.
Для понятия представления объектов нам потребуется понятие «класс». Итак класс – это определенный пользователем тип данных, содержащий в себе состояние (представление класса) и методы (поведение класса). Объект это лишь экземпляр класса, который реально описан в памяти. Очень грубо это можно представить так:
Допустим тип данных integer – класс, тогда
Var i: integer переменная i – экземпляр класса.

Здесь может возникнуть следующая проблема: дело в том, что в «старых» языках программирования объектом как раз и называли класс. По этому закоренелые программисты иногда также называют класс объектов, а объект – экземпляром объекта.
Вернемся к программе. Наш текст является объектом, который является в свою очередь потомком…. Но потомком чего? Оказывается все объекты размещаемые на форме, являются потомками формы т.е. класса Tform. Разумеется Tform – это потомок общего класса Tobject.  Посмотрим, что у нас получилось в итоге.

Tobject.Tform.label1 –это и есть наш объект, но не текст.
Текст является свойством caption данного объекта т.е. Tobject.Tform.label1.caption – это и есть наш текст.
Рассмотрим другие свойства объекта Tlabel (заметьте, что Tlabel – это общее название для всех объектов типа label, а label1 – название нашего объекта). Построим таблицу

Свойство Тип данных для свойства Назначение
Caption string Текст видимый на экране
Left Integer X – координата
Top integer Y- координата

Пока нам этого будет достаточно
Попробуем написать программу посложнее.
Задача: необходимо ввести текст с клавиатуры, и вывести его в середине формы.

Мы уже знаем, что текст выводиться с помощью объекта Тlabel, переместить его на середину формы, я думаю, вам не составит труда. Остается вопрос: как ввести текст с клавиатуры?
Для этого существует объект Tedit.

Точно также поместим его на форму.
Но теперь наша задача чуть-чуть усложняется. Дело в том, что вывод текста может быть произвольным и мы не знаем заранее, что там может быть написано – по этому не можем напрямую присвоить текст объекта tedit объекту tlabel.
Для этого воспользуемся методами Tedit.
(вкладка events в object inspector)

Щелкнем два раза на событии onchange (изменение).
Это событие запускается каждый раз когда содержимое поля меняется и напишем там присвоение.

label1.caption:=edit1.text;

Запустите программу и посмотрите что получилось.
Поэкспериментируйте со свойствами object inspector и постарайтесь определить для себя что каждое из них делает и за что отвечает.
Выпишите в таблицу (вместе с типом данных). Попробуйте поприсваивать разные поля, разных объектов друг другу.