| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Использование процедурыИспользование
процедуры Разработанную процедуру
нужно поместить в раздел implementation, перед подпрограммой, которая использует
эту процедуру. Инструкция вызова процедуры
в общем виде выглядит так: Имя(СписокПараметров);
где: П имя — имя вызываемой
процедуры;
Фактическим параметром,
в зависимости от описания формального параметра в объявлении процедуры, может
быть переменная, выражение или константа соответствующего типа. Например, инструкция
вызова приведенной выше процедуры решения квадратного уравнения может выглядеть
следующим образом: SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text), StrToFloat(Edit3.Text),
k1,k2,rez); Если в описании процедуры
перед именем параметра стоит слово var, то при вызове процедуры на месте соответствующего
параметра должна стоять переменная основной программы. Использование константы
или выражения считается ошибкой, и компилятор в этом случае выведет сообщение:
Types of actual and formal var parameters must be identical (ТИП фактического
параметра должен соответствовать типу формального параметра). В листинге 6.6 приведена
программа решения квадратного уравнения, в которой используется процедура SqRoot.
Окно программы представлено на рис. 6.2.
Рис. 6.2.
Окно программы Квадратное уравнение Листинг 6.6.
Решение квадратного уравнения (использование процедуры) unit SqRoot_;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls; type TForml
= class(TForm) Editl:
TEdit; Edit2:
TEdit; Edit3:
TEdit; Label1:
TLabe1; Label2:
TLabe1; Label3:
TLabe1; Label4:
TLabe1; Button1:
TButton; Label5:
TLabel; procedure
ButtonlClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1:
TForm1; implementation {$R
*.dfm} //
решает квадратное уравнение procedure SqRoot(a,b,c : real; var xl, x2 : real; var ok : boolean); {
a,b,c — коэффициенты уравнения x1,x2 — корни уравнения ok = True — решение есть ok = False — решения нет } var d
: real; // дискриминант begin d:=
Sqr(b) - 4*a*c; if d < 0 then ok := False // уравнение не имеет решения else begin ok
:= True; xl := (-b + Sqrt(d)) / (2*a); x2 := (b + Sqrt(d)) / (2*a) ; end; end; procedure TForml.ButtonlClick(Sender: TObject); var k1,k2:
real; // корни уравнения rez: boolean; // True —решение есть, False —решения нет mes: string;
// сообщение begin SqRoot(StrToFloat(Editl.Text),
StrToFloat(Edit2.Text) , StrToFloat(Edit3.Text) , k1,k2,rez); if
rez then mes
:= 'Корни уравнения' + #13 + 'x1='+FloatToStrF(kl,ffGeneral, 4,2)+#13+
'x2='+FloatToStrF(k2,ffGeneral,4,2)+#13 else mes := 'Уравнение не имеет решения'; labels.Caption := mes; end; end. Рубрика: Глава 6. Процедуры и функции
9 правил для начинающего Ajax-разработчика.
Эти девять правил несложны, никаких кусков кода — только общие советы начинающим Ajax-разработчикам. Крайне вольный перевод 9 AJAX Tips & Tricks.
Подробнее... |
Рубрика: AJAX
| Добавлено: 25.08.2008
ExtJS 2.2 - полная поддержка Firefox 3, новые виджеты и другие нововведения.
Приветствуем наших читателей. Что-то в последнее время много новостей и я даже не успеваю все отобрать и написать о самых интересных технологиях и продуктах. А ведь ещё и работать иногда надо. Но мимо этой новости мы просто не могли пройти - ведь AJAX и ExtJS как его наглядное воплощения это наша основная технологическая платформа. А буквально вчера вышла следующая версия в текущей ветке 2.х - 2.2 Что же там нового, полезного и интересного мы сейчас и рассмотрим.
Подробнее... |
Рубрика: AJAX
| Добавлено: 25.08.2008
Windows 7: под покровом тайны.
О преемнице Windows Vista, носящей кодовое имя Windows 7, известно очень мало. Корпорация Microsoft, наученная горьким опытом, с крайней неохотой делится с журналистами информацией о разрабатываемой системе, дабы у пользователей и разработчиков программного обеспечения не сложилось искаженное представление о продукте, которое бы повлияло на продажи новой операционки, как это случилось с "Вистой". Тем не менее, некоторые скупые сведения хоть и изредка, но просачиваются из стен редмондского гиганта.
Подробнее... |
Рубрика: Windows 7
| Добавлено: 25.08.2008
Остальные статьи:
Apache mod_ndb - MySQL кластер с доступом через HTTP и Ajax
Поиск уязвимостей в программах с помощью анализаторов кода
Как появилась библиотека VivaCore
Это сложно
ASP.NET и немного поисковой оптимизации
Protocol buffers: библиотека обмена данными для C++, Java, Python от Google
Описание VivaVisualCode
JQuery: Пара сотен плагинов в одной заметке
Касание сетки
Разработка элементов управления ASP.NET на примере навигационной панели
Сохранения параметров приложения в .Net
Custom cursors в .Net
Бегун убегает от хозяина
"Битрикс" выпустил седьмую версию CMS
Выбираем систему управления сайтом
Рынок CMS в Европе или впечатления с CeBIT 2008 |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|