Основные процедуры и функции

 

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

Каждая инструкция состоит из идентификаторов. Идентификатор может обозначать:

Инструкцию языка (:=, if, while, for);

-переменную;

-константу (целое или дробное число);

-арифметическую (+, -,*,/) или логическую (and, or, not) операцию;

-подпрограмму (процедуру или функцию);

-отмечать начало (procedure, function) или конец (end) подпрограммы ИЛИ блока (begin, end).

На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, т. е. разработать алгоритм. Алгоритм — это точное предписание, определяющее процесс перехода от исходных данных к результату. Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. (см. Рисунок 3).

 

Рисунок. 3. Блок-схема

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

1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.

2. Создает (генерирует) исполняемую программу — машинный код.

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

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

При программировании в Delphi работа программиста заключается в основном в разработке процедур (подпрограмм) обработки событий.

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

Процедура начинается с заголовка, за которым следуют:

-подраздел объявления констант;

-раздел объявления типов;

-раздел объявления переменных;

-раздел инструкций.

В общем виде процедура выглядит так:

procedure Имя (СписокПараметров);

const // здесь объявления констант

Type

// здесь объявления типов var

// здесь объявления переменных

Begin

// здесь инструкции программы

end;

Заголовок процедуры состоит из слова procedure, за которым следует имя процедуры, которое используется для вызова процедуры, активизации ее выполнения. Если у процедуры есть параметры, то они указываются после имени процедуры, в скобках. Завершается заголовок процедуры символом "точка с запятой".

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

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

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

За разделом объявления переменных расположен раздел инструкций. Раздел инструкций начинается словом begin и заканчивается словом end, за которым следует символ "точка с запятой". В разделе инструкций находятся исполняемые инструкции процедуры.

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

Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDlg.

Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК.

В общем виде инструкция вызова процедуры ShowMessage выглядит так:

ShowMessage(Сообщение);

где сообщение — текст, который будет выведен в окне.

На (Рисунок 4) приведен вид окна сообщения, полученного в результате выполнения инструкции:

ShowMessage(‘Заполните все поля’);

Рисунок 4. Пример окна сообщения

Инструкция if позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.

В общем виде инструкция if записывается так:

if условие then

Begin

// здесь инструкции, которые надо выполнить,

// если условие истинно.

End

Else

Begin

// здесь инструкции, которые надо выполнить, // если условие ложно. end;

Обратите внимание, что перед else (после end) точка с запятой не ставится.

Выполняется инструкция if следующим образом:

1. Вычисляется значение условия (условие — выражение логического типа, значение которого может быть равно True или False).

2. Если условие истинно (значение выражения условие равно True), то выполняются инструкции, следующие за словом then (между begin и end). На этом выполнение операции if заканчивается, то есть инструкции, следующие за else, не будут выполнены.

Если условие ложно (значение выражения условие равно False), то выполняются инструкции, следующие за словом else (между begin и end).

Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Процедура close имеет один параметр — имя файловой переменной. Пример использования процедуры:

Close(f).

procedure TF2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Image2.Visible:=true;

end;

 

procedure TF2.Image2Click(Sender: TObject);

var j,i,f,ow,e,a:integer;

 z,x,c,v,m,l,k,s,q,w,r,t:real;

begin

 if f1.sg1.Cells[a,b]='Êàìàç' then

begin

f1.ComboBox1.Text:='Êàìàç';

f1.E1.Text:='1500';

 f1.E2.Text:='30';

 f1.E3.Text:='800';

f1.E4.Text:='1000';

end;

 

begin

if f1.sg1.Cells[a,b]='Çèë' then

begin

f1.ComboBox1.Text:='Çèë';

f1.E1.Text:='1300';

f1.E2.Text:='15';

   f1.E3.Text:='800';

     f1.E4.Text:='1000';

end;

 

begin

if f1.sg1.Cells[a,b]='Ãàç' then

begin

f1.ComboBox1.Text:='Ãàç';

f1.E1.Text:='1200';

f1.E2.Text:='10';

   f1.E3.Text:='800';

     f1.E4.Text:='1000';

end;

 

begin

if f1.sg1.Cells[a,b]='Ãàçåëü' then

begin

f1.ComboBox1.Text:='Ãàçåëü';

f1.E1.Text:='1000';

f1.E2.Text:='2';

   f1.E3.Text:='800';

     f1.E4.Text:='1000';

end;

 

begin

if f1.sg1.Cells[a,b]='Ïèêàï' then

begin

f1.ComboBox1.Text:='Ïèêàï';

f1.E1.Text:='900';

f1.E2.Text:='1';

   f1.E3.Text:='800';

     f1.E4.Text:='1000';

end;

end;

end;

      end;

                       end;

 

If (ComboBox1.Text='')

or (edit2.Text='')

or (edit3.Text='')

then ShowMessage('Çàïîëíèòå âñå ïîëÿ')

else begin

f1.sg1.Cells[1,b]:= ComboBox1.Text;

f1.sg1.Cells[2,b]:= edit2.Text;;

f1.sg1.Cells[3,b]:= edit3.Text;

 

 f1.SG1.RowCount:= f1.SG1.RowCount + 1;

f1.Button3.Enabled:=true;

f1.Button1.Enabled:=true;

end;

 CLOSE;

end;

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: