Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Листинг 6.8. Модуль программиста

Читайте также:
  1. Анатомия модульі бойынша тест сұрақтары
  2. Архитектура современных ПК основана на магистрально-модульном принципе. (мы не знаем, что относится к архитектуре вычислительных машин, поэтому написала 2 ответа)
  3. Билет 15. Модульное построение содержания дисциплины и рейтинговый контроль.
  4. Виды рейтингового контроля при модульном обучении
  5. Вопрос 4. Технология модульного обучения. состав и структура учебного модуля. Модульная программа.
  6. Вправи та завдання. Модуль 1.
  7. Декартова система координат. Вектор в декартовой системе координат, его модуль, операции над векторами, направляющие косинусы.
  8. Дистанционное и модульное обучение.
  9. Завершающий модуль (ЗМ).
  10. Земельное право 1-модуль

unit my__unit;

interface // объявления процедур и функций,

// доступных программам,

// использующим этот модуль

function IsInt(ch: char): Boolean;

// функция IsInt проверяет, является ли символ

// допустимым во время ввода целого числа

function IsFloat(ch: char; st: string): Boolean;

// Функция IsFloat проверяет, является ли символ допустимым

// во время ввода дробного числа

// ch — очередной символ

// st — уже введенные символы

implementation // реализация функций IsInt и IsFloat

function IsInt(ch: char): Boolean;

Begin

if (ch >= '0') and (ch <= '9') // цифры

or (ch = #13) // клавиша <Enter>

or (ch = #8) // клавиша <Backspace>

then IsInt:= True // символ допустим

else IsInt:= False; // недопустимый символ

end;

function IsFloat(ch: char; st: string): Boolean;

// ch — очередной символ, st — уже введенные символы

Begin

if (ch >= '0') and (ch <= '9') // цифры

or (ch = #13) // клавиша <Enter>

or (ch = #8) // клавиша <Backspace>

Then begin

IsFloat:= True; // символ верный

Exit; // выход из функции

end;

Casech 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.

Сохраняется модуль обычным образом, т. е. выбором из меню File команды Save. Вместе с тем, для модулей повторно используемых процедур и функций лучше создать отдельную папку, назвав ее, например, Units.

Использование модуля

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

В листинге 6.9 приведен вариант программы Поездка на дачу. Процедура обработки события onKeyPress в полях ввода исходных данных обращается к функции IsFloat, которая находится в модуле my_unit.pas, поэтому в списке используемых модулей указано имя модуля my_unit.

Листинг 6.9. Использование функции из модуля программиста

unit fazenda_;

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls,

my_unit; // модуль программиста

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 Edit1KeyPress(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;




Дата добавления: 2015-02-16; просмотров: 74 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав