[an error occurred while processing this directive]
В начале 70-х годов в СССР совместно со странами НРБ, ВНР, ЧССР, ГДР были разработаны и начато производство ЭВМ 3-го поколения единой системы (ЕС ЭВМ) совместимых с IBM 360. Эти ЭВМ послужили основой для организации вычислительных центров коллективного пользования и автоматизированных сис-тем управления на предприятиях и организациях. В 1971 г. управление перспективных исследований Министерства обороны США объявило о вводе в действие на баз ЭВМ третьего поколения первой части глобальной информационно-вычислительной сети ARPANET. В 1982 г. ARPANET была объединена с другими сетями и это сообщество сетей получило название Internet.

TPXPictureValidator

Объект TPXPictureValidator проверяет введенную пользователем строку на соответствие некоторому шаблону ввода. Шаблон ввода определяется с помощью специальных символов, подобно тому, как задается допустимый ввод в базе данных Paradox корпорации Borland. В шаблоне можно использовать следующие специальные символы:

Символ  Назначение
# Любая цифра
? Любая буква
@ Любой символ (буква, цифра или специальный символ)
& Любая буква с автоматическим преобразованием в верхний регистр
! Любой символ с автоматическим преобразованием букв в верхний регистр
* Повторение следующего символа произвольное число раз
; Следующий символ - не управляющий
[] Заключенная в скобки последовательность символов может отсутствовать
, Разделение вариантов
{} Создание группы

 

Любой другой символ шаблона представляет сам себя, т.е. не является управляющим. Символ «;», предшествующий специальному символу, отменяет его специальное назначение. Чтобы в шаблон вставить собственно символ «;», его нужно удвоить.

Перечисленные символы позволяют формировать шаблоны любой сложности. Например:

 

TFilterValidator

Этот объект проверяет все введенные пользователем символы на их принадлежность к набору допустимых символов. Если очередной вводимый символ не принадлежит эталонному множеству, он игнорируется и при наборе просто не появляется в строке ввода. Таким образом, объект TFilterValidator действительно фильтрует вводимую строку, удаляя из нее неправильные символы. Например, экземпляр объекта

MyFilter := New(PFilterValidator,Init(['0'..'9'])) 

выбирает из ввода только цифры.

 

TRangeValidator

Объект TRangeValidator порожден от TFilterValidator. Он преобразует символьный ввод в целое число и проверяет, находится ли оно в диапазоне указанных значений Min...Max. Его метод IsValid вернет значение True только в том случае, когда, во-первых, пользователь введет правильное число, и, во-вторых, это число будет принадлежать нужному диапазону. Например, объект

MyRange := New(PRangeValidator,Init(0,100)) 

позволяет вводить числа в диапазоне от 0 до 100 включительно.

 

TLookupValidator

Абстрактный объект TLookupValidator предназначен для контроля соответствия введенной пользователем строки набору эталонных строк. Фактически он модифицирует поведение базового объекта TValidator на случай, когда проверяется произвольная текстовая строка. В его потомках должен перекрываться метод Lookup, осуществляющий нужный контроль и возвращающий True только в том случае, когда подготовленная пользователем строка соответствует одному из желаемых значений. Например, с помощью объекта

type

TMyLookupValidator = object(TLookupValidator)

Function Lookup(const S: String): Boolean; Virtual; 

end;

Function TMyLookupValidator.Lookup; 

const

Textl = 'Turbo';

Text2 = 'Pascal'; 

begin

Lookup := (S=Textl) or (S=Text2) or (S=Textl+' '+Text2)

end;

можно потребовать от пользователя ввода только одной из трех возможных строк: Turbo, Pascal или Turbo Pascal.

 

TStringLookupValidator

Этот объект порожден от TLookupValidator и сравнивает введенную пользователем строку с набором допустимых строк, хранящихся в отсортированной коллекции. Чтобы объект осуществлял сравнение с нужным набором строк, он инициируется следующим образом:

var

MyCollection: PStringCollection; MyStrVal: PStringLookupValidator; 

begin

{Создаем коллекцию строк} 

MyCollection := New(PStringCollection,Init(1,1));

{Наполняем коллекцию - размещаем строки в куче} 

MyCollection.Insert(NewStr('Турбо')); 

MyCollection.Insert(NewStr('Паскаль')) ;

{Создаем объект-контролер}

MyStrCol := New(PStringLookupValidator,Init(MyCollection))

end;

Рассмотрим процесс решения задачи с помощью компьютера на примере изучения полета артиллерийского снаряда. Вначале необходимо определиться с условиями задачи. Предположим, необходимо рассмотреть движение снаряда в поле тяготения Земли. При этом будем рассматривать только те параметры, которые характеризуют движение снаряда (скорость и координаты), и отвлечемся от других параметров (температура снаряда, его цвет и т.д.). В качестве исходных данных в нашем случае будут выступать угол вылета снаряда A, его начальная скорость V и время полета t.
[an error occurred while processing this directive]