Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторки 1-6 по Delphi.pdf
Скачиваний:
48
Добавлен:
08.04.2015
Размер:
1.09 Mб
Скачать

Языки программирования

Оператор with..do

Оператор with..do значительно упрощает процесс написания кода программы, обеспечивая ускоренный доступ к полям записей и объектов. Каким образом? Допустим, что наша программа использует переменную-запись вида, предложенного в листинге 1.11.

Листинг 1.11. Стандартный способ обращения к полям записи

var DemoRecord : record //объявление записи

I : integer; R : real;

B : boolean; end;

begin

DemoRecord.I:=-41;

DemoRecord.R:=0.48;

DemoRecord.B:=True;

Как видите, для обращения к полям записи мы вынуждены писать код, повторяющий из строки в строку имя владельца полей — DemoRecord. А если таких полей несколько десятков? Никчемное и рутинное занятие. Разработчики Delphi предложили конструкцию, исключающую необходимость многократных повторов имени объекта (записи, переменой и т. д.):

with <объект> do begin

<действие с полем 1 объекта>

. . .

<действие с полем N объекта> end;

Оператор with..do значительно упрощает труд программиста. Теперь обращение к полям записи происходит без многократного упоминания имени самой записи (листинг 1.12).

Листинг 1.12. Пример работы с оператором with..do

with DemoRecord do begin

I:=-41;

R:=0.48;

B:=true; end;

Встретив конструкцию with..do, компилятор понимает, что далее идет речь только о конкретном объекте (в нашем случае это запись DemoRecord), и больше не требует упоминания его имени.

Организация циклов

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

цикл for с параметром;

цикл while..do с предусловием;

цикл repeat..until с постусловием.

На рис. 1.2 представлены структурные схемы всех трех циклов.

9

СКФУ Кафедра компьютерной безопасности