| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Использование функцииИспользование
функции Если вы собираетесь
использовать в программе свою функцию, то в простейшем случае ее объявление
следует поместить в текст программы, перед подпрограммой, которая применяет
эту функцию.
Рис. 6.1. Окно
программы Поездка на дачу Следующая программа
(ее текст приведен в листинге 6.4, а вид диалогового окна на рис. 6.1) вычисляет
стоимость поездки на дачу. Исходными данными для программы являются: расстояние,
цена одного литра бензина и потребление бензина на 100 км пути. Для ввода исходных
данных применяются поля Edit1, Edit2 и Edit3. Функции обработки события OnKeyPress используют функцию
IsFioat для фильтрации вводимых в эти поля символов, во время работы программы
в полях ввода отображаются только допустимые символы. Листинг 6.4. Пример
использования функций программиста unit
fazenda_; interface Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1
= class(TForm) Edit1:
TEdit; // расстояние Edit2:
TEdit; // цена литра бензина Edit3:
TEdit; // потребление бензина на 100 км CheckBox1:
TCheckBox; // True - поездка туда и обратно Button1:
TButton; // кнопка Вычислить Label4:
TLabel; // поле вывода результата расчета Label1:
TLabel; Label2:
TLabel; Label3:
TLabel; procedure EditlKeyPress(Sender: TObject; var
Key: Char); procedure Edit2KeyPress(Sender: TObject; var
Key: Char); procedure Edit3KeyPress(Sender: TObject; var
Key: Char); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1:
TForm1; implementation {$R
*.dfm} //
проверяет, является ли символ допустимым
// во время ввода дробного числа function
IsFloat(ch : char; st: string) : Boolean; begin if
(ch >= '0') and (ch <= '9') // цифры or
(ch = #13) // клавиша <Enter> or
(ch = #8) // клавиша <Backspace> then begin IsFloat := True; // символ верный Exit;
// выход из функции end;
case ch of '-': if Length(st) = 0 then IsFloat := True; ', ': if
(Pos(',',st) = 0) and
(st[Length(st)] >= '0') and (st[Length(st)] <= '9') then // разделитель можно ввести только после цифры //
и если он еще не введен IsFloat
:= True/else // остальные символы запрещены IsFloat := False; end; end; //
нажатие клавиши в поле Расстояние procedure TForm1.EditlKeyPress(Sender: TObject; var
Key: Char); begin if
Key = Char(VK_RETURN) then Edit2.SetFocus // переместить курсор в поле Цена else
If not IsFloat(Key,Edit2.Text) then Key := Chr(O); end; //
нажатие клавиши в поле Цена procedure TForml.Edit2KeyPress(Sender: TObject; var
Key: Char); begin if
Key = Char(VK_RETURN) then Edit3.SetFocus // переместить курсор в поле Потребление else If not IsFloat(Key,Edit2.Text) then
Key := Chr (0); end; //
нажатие клавиши в поле Потребление procedure TForml.Edit3KeyPress(Sender: TObject; var
Key: Char); begin if
Key = Char(VK_RETURN) then Buttonl.SetFocus // // сделать активной кнопку Вычислить else
If not IsFloat(Key,Edit2.Text) then Key := Chr (0); end; //
щелчок на кнопке Вычислить procedure
TForm1.ButtonlClick(Sender: TObject); var rast
: real; // расстояние cena
: real; // цена potr
: real; // потребление на 100 км summ
: real; // сумма mes: string; begin rast
:= StrToFloat(Edit1.Text); cena
:= StrToFloat(Edit2.Text); potr
:= StrToFloat(Edit3.Text); summ
:= rast / 100 * potr * cena; if
CheckBoxl.Checked then summ := summ * 2; mes
:= 'Поездка на дачу'; if
CheckBoxl.Checked then mes := mes + ' и обратно'; mes := mes + 'обойдется в ' +
FloatToStrF(summ,ffGeneral,4,2) + ' руб.'; Label4.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 |
Контакты |
Реклама на сайте
|