Автоматизированное рабочее место медицинского работника дошкольного учреждения

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.05.2016
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Работа с компьютером характеризуется значительным умственным напряжением и нервно-эмоциональной нагрузкой операторов, высокой напряженностью зрительной работы и достаточно большой нагрузкой на мышцы рук при работе с клавиатурой ЭВМ. Большое значение имеет рациональная конструкция и расположение элементов рабочего места, что важно для поддержания оптимальной рабочей позы человека-оператора.

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

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

Необходимые микроклиматические условия для работы оператора.

Согласно ГОСТу Р50923-96 и СанПин 2.2.2.542-96:

Температура воздуха в холодный период года 22-24 градусов. В тёплый период 23-25 градусов.

Влажность воздуха 40-60%.

Скорость движения воздуха 0,1 м/с.

Разность температуры на уровне пола и головы сидящего оператора не более 3-х градусов. Норма освещённости:

- экрана 100-200Ж

- стола 300 - 500Ж

Яркость экрана должна быть не менее 35кд/м.

Допустимый уровень шума

- при работе без печатного устройства 50дб

- при включённом печатным устройстве 75дб.

Расчет освещения на рабочем месте оператора информационной системы.

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

Недостаточность освещения приводит к напряжению зрения, ослабляет внимание, приводит к наступлению преждевременной утомленности. Чрезмерно яркое освещение вызывает ослепление, раздражение и резь в глазах. Неправильное направление света на рабочем месте может создавать резкие тени, блики, дезориентировать работающего. Все эти причины могут привести к несчастному случаю или профзаболеваниям, поэтому столь важен правильный расчет освещенности.

Согласно СНиП 26-05-95 в помещениях, оборудованных компьютерами, необходимо применять систему комбинированного освещения.

При выполнении работ категории высокой зрительной точности (наименьший размер объекта различения 0,3...0,5мм) величина коэффициента естественного освещения (КЕО) должна быть не ниже 1,5%, а при зрительной работе средней точности (наименьший размер объекта различения 0,5... 1,0 мм) КЕО должен быть не ниже 1,0%. В качестве источников искусственного освещения обычно используются люминесцентные лампы типа ЛБ или ДРЛ, которые попарно объединяются в светильники, которые должны располагаться над рабочими поверхностями равномерно.

Требования к освещенности в помещениях, где установлены компьютеры, следующие: при выполнении зрительных работ высокой точности общая освещенность должна составлять 300 лк, а комбинированная - 750 лк; аналогичные требования при выполнении работ средней точности - 200 и 300 лк соответственно.

Кроме того, все поле зрения должно быть освещено достаточно равномерно - это основное гигиеническое требование.

Расчет освещенности рабочего места сводится к выбору системы освещения, определению необходимого числа светильников, их типа и размещения. Исходя из этого, рассчитаем параметры искусственного освещения.

Обычно искусственное освещение выполняется посредством электрических источников света двух видов: ламп накаливания и люминесцентных ламп. Будем использовать люминесцентные лампы, которые по сравнению с лампами накаливания имеют ряд существенных преимуществ:

по спектральному составу света они близки к дневному, естественному свету;

обладают более высоким КПД (в 1,5-2 раза выше, чем КПД ламп накаливания);

обладают повышенной светоотдачей (в 3-4 раза выше, чем у ламп накаливания);

более длительный срок службы.

Расчет освещения производится для комнаты площадью 15м, ширина которой З м, длина 5м. Воспользуемся методом светового потока.

Для определения количества светильников определим световой поток, падающий на поверхность по формуле:

F = E*K*S*Z п

где F - рассчитываемый световой поток, Лм;

Е - нормированная минимальная освещенность, Лк (определяется по таблице). Работу оператора, в соответствии с этой таблицей, можно отнести к разряду точных работ, следовательно, минимальная освещенность будет Е = 300 Лк (норма освещенности общественных помещений в соответствии си СНиП 23-05-95 [3] приведена в таблице 3.2, [2] норма освещенности для мониторов персональных компьютеров);

S - площадь освещаемого помещения (в нашем случае S = 15м );

Z - отношение средней освещенности к минимальной (обычно принимается равным 1, 1... 1, 2 , пусть Z = 1,1);

К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение зависит от типа помещения и характера проводимых в нем работ и в нашем случае К = 1,5);

п - коэффициент использования, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (Рс) и потолка (Рп)Х значение коэффициентов Рс и Рп были указаны выше: Рс = 40%, Рп = 60%. Значение п определим по таблице коэффициентов использования различных светильников. Для этого вычислим индекс помещения по формуле (СНиП 23-5-95):

I = S/ (h-(A+B))

где S - площадь помещения, S = 15 м;

h - расчетная высота подвеса, учитывая подвесной потолок h = 3 м; А - ширина помещения, А = 3,23 м; В - длина помещения, В = 4,2 м.

Подставив значения получим:

I = 15/(3*(3.23+4.2)) = 0.67

Зная индекс помещения I, по таблице 6.4 [2] находим п = 0,25 Подставим все значения в формулу для определения светового потока F:

F= (300*1.5*15*1.1)/0.25 = 29700 Лм.

Для освещения выбираем люминесцентные лампы типа ЛБ40-1, световой поток которых F = 4320 Лм.

Рассчитаем необходимое количество ламп по формуле:

N = F/Fл,

где N - определяемое число ламп;

F - световой поток, F = 29700 Лм;

Fл- световой поток лампы, Fл = 4320 Лм.

N = 29700/4320=6 шт.

При выборе осветительных приборов используем светильники типа ОД. Каждый светильник комплектуется тремя лампами.

Шум и вибрация

Шум ухудшает условия труда, оказывая вредное действие на организм человека. Работающие в условиях длительного шумового воздействия испытывают раздражительность, головные боли, головокружение, снижение памяти, повышенную утомляемость, понижение аппетита, боли в ушах и т. д. Такие нарушения в работе ряда органов и систем организма человека могут вызвать негативные изменения в эмоциональном состоянии человека, вплоть до стрессовых. Под воздействием шума снижается концентрация внимания, нарушаются физиологические функции, появляется усталость в связи с повышенными энергетическими затратами и нервно-психическим напряжением, ухудшается речевая коммутация. Все это снижает работоспособность человека и его производительность, качество и безопасность труда. Длительное воздействие интенсивного шума [выше 80 дБ(А)] на слух человека приводит к его частичной или полной потере.

Для решения вопросов о необходимости и целесообразности снижения шума необходимо знать уровни шума на рабочем месте оператора.

Уровень шума, возникающий от нескольких некогерентных источников, работающих одновременно, подсчитывается на основании принципа энергетического суммирования излучений отдельных источников:

Lz = 101g100,1Li

где Li - уровень звукового давления 1-го источника шума;

n - количество источников шума.

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

Уровни звукового давления источников шума, действующих на оператора на его рабочем месте представлены в таблице:

Таблица 3.1

Уровни звукового давления различных источников

Источник шума

Уровень шума, дБ

Жесткий диск

25

Кулер

29

Монитор

7

Клавиатура

10

Принтер

63

Сканер

38

Кондиционер

36

Обычно рабочее место оператора оснащено следующим оборудованием: винчестер в системном блоке, вентилятор(ы) систем охлаждения ПК, монитор, клавиатура, принтер и сканер.

Подставив значения уровня звукового давления для каждого вида оборудования в формулу, получим:

L = 10-lg(102'5+102'9+100,7+10,+ 106'3+103'8+ Ю3'6) = 63,03 дБ

Полученное значение не превышает допустимый уровень шума для рабочего места оператора, равный 65 дБ (ГОСТ 12.1.030). И если учесть, что вряд ли такие периферийные устройства как сканер и принтер будут использоваться одновременно, то эта цифра будет еще ниже. Кроме того, при работе принтера непосредственное присутствие оператора необязательно, т.к. принтер снабжен механизмом автоподачи листов.

Эргономические требования к рабочему месту оператора.

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

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

Главными элементами рабочего места оператора являются стол и кресло. Основным рабочим положением является положение сидя.

Рабочая поза сидя вызывает минимальное утомление оператора. Рациональная планировка рабочего места предусматривает четкий порядок и постоянство размещения предметов, средств труда и документации. То, что требуется для выполнения работ чаще, расположено в зоне легкой досягаемости рабочего пространства.

Моторное поле - пространство рабочего места, в котором осуществляются двигательные действия человека.

Максимальная зона досягаемости рук - это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе.

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

Документация, необходимая при работе - в зоне легкой досягаемости ладони - в, а в выдвижных ящиках стола - литература, неиспользуемая постоянно.

Для комфортной работы стол должен удовлетворять следующим условиям:

высота стола должна быть выбрана с учетом возможности сидеть свободно, в удобной позе, при необходимости опираясь на подлокотники;

нижняя часть стола должна быть сконструирована так, чтобы оператор мог удобно сидеть, не был вынужден поджимать ноги;

поверхность стола должна обладать свойствами, исключающими появление бликов в поле зрения оператора;

конструкция стола должна предусматривать наличие выдвижных ящиков (не менее 3 для хранения документации, листингов, канцелярских принадлежностей).

высота рабочей поверхности рекомендуется в пределах 680-760 мм. Высота поверхности, на которую устанавливается клавиатура, должна быть около 650 мм.

Большое значение придается характеристикам рабочего кресла. Так, рекомендуемая высота сиденья над уровнем пола находится в пределах 420-550 мм. Поверхность сиденья мягкая, передний край закругленный, а угол наклона спинки - регулируемый.

Необходимо предусматривать при проектировании возможность различного размещения документов: сбоку от видеотерминала, между монитором и клавиатурой и т.п. Кроме того, в случаях, когда видеотерминал имеет низкое качество изображения, например заметны мелькания, расстояние от глаз до экрана делают больше (около 700 мм), чем расстояние от глаза до документа (300-450 мм). Вообще при высоком качестве изображения на видеотерминале расстояние от глаз пользователя до экрана, документа и клавиатуры может быть равным.

Положение экрана определяется:

- расстоянием считывания (0,6... 0,7 м);

углом считывания, направлением взгляда на 20° ниже горизонтали к центру экрана, причем экран перпендикулярен этому направлению. Должна также предусматриваться возможность регулирования экрана:

по высоте +3 см;

по наклону от -10° до +20° относительно вертикали;

в левом и правом направлениях.

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

Требования к рабочей позе пользователя видеотерминала следующие:

голова не должна быть наклонена более чем на 20°,

плечи должны быть расслаблены,

локти - под углом 80°... 100°,

предплечья и кисти рук - в горизонтальном положении.

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

В целях преодоления указанных недостатков даются общие рекомендации: лучше передвижная клавиатура; должны быть предусмотрены специальные приспособления для регулирования высоты стола, клавиатуры и экрана, а также подставка для рук. Существенное значение для производительной и качественной работы на компьютере имеют размеры знаков, плотность их размещения, контраст и соотношение яркостей символов и фона экрана. Если расстояние от глаз оператора до экрана дисплея составляет 60...80 см, то высота знака должна быть не менее Змм, оптимальное соотношение ширины и высоты знака составляет 3:4, а расстояние между знаками - 15...20% их высоты. Соотношение яркости фона экрана и символов - от 1:2 до 1:15 [4].

Во время пользования компьютером медики советуют устанавливать монитор на расстоянии 50-60 см от глаз. Специалисты также считают, что верхняя часть видеодисплея должна быть на уровне глаз или чуть ниже. Когда человек смотрит прямо перед собой, его глаза открываются шире, чем когда он смотрит вниз. За счет этого площадь обзора значительно увеличивается, вызывая обезвоживание глаз. К тому же если экран установлен высоко, а глаза широко открыты, нарушается функция моргания. Создание благоприятных условий труда и правильное эстетическое оформление рабочих мест на производстве имеет большое значение как для облегчения труда, так и для повышения его привлекательности, положительно влияющей на производительность труда.

Пожаробезопасность

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

Аппараты пожаротушения подразделяют на стационарные установки и огнетушители (ручные до 10 л. и передвижные или стационарные объемом свыше 25 л.).

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

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

В качестве такого средства пожаротушения можно выбрать углекислотные ОУ-2, ОУ-3 ОУ-5, ОУ-8 огнетушители, которые применяются для тушения пожаров электроустановок, находящихся под напряжением

В данном разделе были изложены требования к рабочему месту оператора АРМа. Созданные условия должны обеспечивать комфортную работу. Соблюдения приведенных условий позволит сохранить хорошую работоспособность в течение всего рабочего дня.

Заключение

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

По результатам анализа литературы было принято решение использовать среду разработки Delphi, язык программирования Object Pascal.

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

Достоинством данного проекта является его универсальность для различных дошкольных учреждений.

Автоматизированное рабочее место обладает удобным графическим интерфейсом.

В экономической части произведена оценка технико-экономической эффективности разработанного дипломного проекта. Рассчитана себестоимость, которая составила 77788 рублей.

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

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

При проверке программного проекта замечаний со стороны заказника нет.

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

Литература

Агальцов В.П.,Локальные базы данных. - М.:Изд-во ООО НВП "ИНЭК", 2009. - 52с.;

Агальцов В.П.,Распределенные и удаленные базы данных. - М.:Изд-во ООО НВП "ИНЭК", 2008. - 83с.;

Агальцов В.П., Базы данных. Локальные базы данных. Книга 1 - М.:Форум, 2009. - 352с..Шпак Ю.А., Проектирование баз данных. Просто как дважды два - М.: Эксмо, 2007. -304с.;

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

Ю.Климова Л. М. Delphi 7. Основы программирования. Решение типовых задач. КУДИЦ-Образ, 2005. - 480 с.

П.Культин Н. Б. Delphi в задачах и примерах. БХВ-Петербург, 2005. -288 с.

Парижский С. М. Delphi. Только практика. МК-пресс, 2005. - 208 с. 14.Поган

Поган А. М. Delphi. Руководство программиста. Эксмо, 2006. - 480 с.

Приложение 1

1. Экранная форма «Меню»

Рис. 1. «Меню»

2. Экранная форма «Дети»

Рис. 2. «Дети»

3. Экранная форма «Ред. Кружки»

Рис. 3. «Ред. Кружки»

4. Экранная форма «Лист здоровья»

Рис. 4. «Лист здоровья»

5. Экранная форма «Родители»

Рис. 5. «Родители»

6. Экранная форма «Сотрудники»

Рис. 6. «Сотрудники»

7. Отчет «Карточка ребенка»

Приложение 2

Листинг программы program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {DataModule2: TDataModule},

Unit3 in 'Unit3.pas' {Form3},

Unit4 in 'Unit4.pas' {Form4},

Unit5 in 'Unit5.pas' {Form5},

Unit6 in 'Unit6.pas' {Form6},

Unit7 in 'Unit7.pas' {Form7},

Unit8 in 'Unit8.pas' {Form8},

Unit9 in 'Unit9.pas' {Form9},

Unit10 in 'Unit10.pas' {Form10},

Unit11 in 'Unit11.pas' {Form11},

Unit12 in 'Unit12.pas' {Form12},

Unit13 in 'Unit13.pas' {Form13};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TDataModule2, DataModule2);

Application.CreateForm(TForm4, Form4);

Application.CreateForm(TForm5, Form5);

Application.CreateForm(TForm6, Form6);

Application.CreateForm(TForm7, Form7);

Application.CreateForm(TForm8, Form8);

Application.CreateForm(TForm9, Form9);

Application.CreateForm(TForm10, Form10);

Application.CreateForm(TForm11, Form11);

Application.CreateForm(TForm12, Form12);

Application.CreateForm(TForm13, Form13);

Application.Run;

end.

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, DBCtrls, ExtCtrls, jpeg, Buttons,

Menus, WordXP, OleServer;

type

TForm3 = class(TForm)

Image1: TImage;

GroupBox1: TGroupBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

BitBtn9: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

procedure Button1Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn9Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit1, Unit2, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,

Unit12, Unit13;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

Form1.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn1Click(Sender: TObject);

begin

if MessageDlg('Хотите выйти?', mtInformation, [mbYes, mbNo], 0)=mrYes

THEN

begin

Form3.Close;

end;

end;

procedure TForm3.BitBtn2Click(Sender: TObject);

begin

Form1.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn3Click(Sender: TObject);

begin

Form4.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn8Click(Sender: TObject);

begin

Form5.Show;

Form3.Hide;

end;

procedure TForm3.FormShow(Sender: TObject);

var

UserIndex:integer;

user:string;

begin

user:=

AnsiLowerCase(DataModule2.IBDatabase1.Params.ValueFromIndex[

0]);

userindex:=-1;

if (user='sysdba')

then userindex:=0;

if (user='editor')

then userindex:=1;

if (user='reader')

then userindex:=2;

CASE userindex OF

-1:begin//DARK ZONE

ShowMessage('Невозможно зайти в программу: неверны логин или

пароль. Программа будет закрыта.');

Form3.Close;

end;

1:begin//EDITOR

Form3.BitBtn2.Hide;

end;

2:begin//READER

Form3.BitBtn2.Hide;

Form4.BitBtn4.Hide;

Form4.BitBtn5.Hide;

Form4.BitBtn6.Hide;

Form5.BitBtn1.Hide;

Form5.BitBtn2.Hide;

Form5.BitBtn3.Hide;

Form5.BitBtn4.Hide;

Form5.BitBtn5.Hide;

Form5.BitBtn6.Hide;

Form6.BitBtn1.Hide;

Form6.BitBtn2.Hide;

Form6.BitBtn3.Hide;

Form7.BitBtn1.Hide;

Form7.BitBtn2.Hide;

Form7.BitBtn3.Hide;

Form8.BitBtn1.Hide;

Form8.BitBtn2.Hide;

Form8.BitBtn3.Hide;

Form9.BitBtn1.Hide;

Form9.BitBtn2.Hide;

Form9.BitBtn3.Hide;

Form10.BitBtn1.Hide;

Form10.BitBtn2.Hide;

Form10.BitBtn3.Hide;

Form11.BitBtn1.Hide;

Form11.BitBtn2.Hide;

Form11.BitBtn3.Hide;

end;

END;//CASE userindex OF

DataModule2.IBDatabase1.Connected:=true;

DataModule2.IBQuery1.Open;

DataModule2.IBQuery2.Open;

DataModule2.IBQuery3.Open;

DataModule2.IBQuery4.Open;

DataModule2.IBQuery5.Open;

DataModule2.IBQuery6.Open;

DataModule2.IBQuery7.Open;

DataModule2.IBQuery8.Open;

DataModule2.IBQuery9.Open;

DataModule2.IBQuery10.Open;

DataModule2.IBQuery11.Open;

DataModule2.IBQuery12.Open;

DataModule2.IBQuery13.Open;

DataModule2.IBUser.Open;

//DataModule2.IBmama.Open;

//DataModule2.IBpapa.Open;

//DataModule2.IBkrugki.Open;

//DataModule2.IBprivivki.Open;

//DataModule2.IBuspev.Open;

end;

procedure TForm3.BitBtn4Click(Sender: TObject);

begin

Form9.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn5Click(Sender: TObject);

begin

Form10.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn9Click(Sender: TObject);

begin

Form7.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn7Click(Sender: TObject);

begin

Form8.Show;

Form3.Hide;

end;

procedure TForm3.BitBtn6Click(Sender: TObject);

begin

Form11.Show;

Form3.Hide;

end;

procedure TForm3.N5Click(Sender: TObject);

begin

Form4.Show;

Form3.Hide;

end;

procedure TForm3.N6Click(Sender: TObject);

begin

Form9.Show;

Form3.Hide;

end;

procedure TForm3.N7Click(Sender: TObject);

begin

Form10.Show;

Form3.Hide;

end;

procedure TForm3.N8Click(Sender: TObject);

begin

Form11.Show;

Form3.Hide;

end;

procedure TForm3.N9Click(Sender: TObject);

begin

Form8.Show;

Form3.Hide;

end;

procedure TForm3.N2Click(Sender: TObject);

begin

Form5.Show;

Form3.Hide;

end;

procedure TForm3.N3Click(Sender: TObject);

begin

Form7.Show;

Form3.Hide;

end;

procedure TForm3.N4Click(Sender: TObject);

begin

end;

procedure TForm3.N10Click(Sender: TObject);

begin

if MessageDlg('Хотите выйти?', mtInformation, [mbYes, mbNo], 0)=mrYes

THEN

begin

Form3.Close;

end;

end;

procedure TForm3.N11Click(Sender: TObject);

begin

Form12.Show;

end;

end;

unit Unit5;

//Родители

interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, ComCtrls;

type

TForm5 = class(TForm)

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

LabeledEdit1: TLabeledEdit;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

LabeledEdit5: TLabeledEdit;

LabeledEdit6: TLabeledEdit;

LabeledEdit7: TLabeledEdit;

LabeledEdit8: TLabeledEdit;

LabeledEdit9: TLabeledEdit;

LabeledEdit10: TLabeledEdit;

LabeledEdit11: TLabeledEdit;

LabeledEdit13: TLabeledEdit;

LabeledEdit14: TLabeledEdit;

LabeledEdit15: TLabeledEdit;

LabeledEdit16: TLabeledEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

SQLBox: TListBox;

Image1: TImage;

Image2: TImage;

BitBtn8: TBitBtn;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Label1: TLabel;

Label2: TLabel;

procedure BitBtn7Click(Sender: TObject);

procedure DBGrid1CellClick(Column: TColumn);

procedure DBGrid2CellClick(Column: TColumn);

procedure BitBtn1Click(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure BitBtn5Click(Sender: TObject);

procedure BitBtn6Click(Sender: TObject);

procedure BitBtn8Click(Sender: TObject);

procedure TableRefresh();//Устанавливает границы и размеры в DbGrid

procedure ClearEdit(key: byte);// key: 0 -очистить поле «Мама»,любоедругое число-очистить поле «Папа»

procedure CheckIdenticalRecord(key : byte);//Проверка на совпадение записей (key: 0 - таблица "Мама", 1 - "Папа")

procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit5KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit6KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit7KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit8KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit9KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit10KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit11KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit13KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit14KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit15KeyPress(Sender: TObject; var Key: Char);

procedure LabeledEdit16KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit1, Unit2, Unit3, Unit4, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,

Unit12, Unit13;

{$R *.dfm}

procedure TForm5.CheckIdenticalRecord(key : byte);

begin

if (key=0) then

begin

//Для таблицы MAMA

DataModule2.IBQuery12.First;

repeat

if (

(AnsiLowerCase(DataModule2.IBQuery12.Fields[1].AsString)=AnsiLower

Case(LabeledEdit1.Text)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[2].AsString)=AnsiLower

Case(LabeledEdit2.Text)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[3].AsString)=AnsiLower

Case(LabeledEdit3.Text)) and

(DataModule2.IBQuery12.Fields[4].AsString=DateToStr(DateTimePicker1.

DateTime)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[5].AsString)=AnsiLower

Case(LabeledEdit5.Text)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[6].AsString)=AnsiLower

Case(LabeledEdit6.Text)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[7].AsString)=AnsiLower

Case(LabeledEdit7.Text)) and

(AnsiLowerCase(DataModule2.IBQuery12.Fields[8].AsString)=AnsiLower

Case(LabeledEdit8.Text))

)

then

begin

ShowMessage('Такая запись уже существует!');

abort;

end;

DataModule2.IBQuery12.Next;

DbGrid1.SetFocus;

until DataModule2.IBQuery12.Eof;

end

else

begin

//Для таблицы PAPA

DataModule2.IBQuery13.First;

repeat

if (

(AnsiLowerCase(DataModule2.IBQuery13.Fields[1].AsString)=AnsiLower

Case(LabeledEdit9.Text)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[2].AsString)=AnsiLower

Case(LabeledEdit10.Text)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[3].AsString)=AnsiLower

Case(LabeledEdit11.Text)) and

(DataModule2.IBQuery13.Fields[4].AsString=DateToStr(DateTimePicker2.

DateTime)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[5].AsString)=AnsiLower

Case(LabeledEdit13.Text)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[6].AsString)=AnsiLower

Case(LabeledEdit14.Text)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[7].AsString)=AnsiLower

Case(LabeledEdit15.Text)) and

(AnsiLowerCase(DataModule2.IBQuery13.Fields[8].AsString)=AnsiLower

Case(LabeledEdit16.Text))

)

then

begin

ShowMessage('Такая запись уже существует!');

abort;

end;

DataModule2.IBQuery13.Next;

DbGrid2.SetFocus;

until DataModule2.IBQuery13.Eof;

end;

end;

procedure TForm5.ClearEdit(key: byte);// key: 0 - очиститьполе «Мама»,

любое другое число-очистить поле «Папа»

begin

if (key=0) then

begin

LabeledEdit1.Text:='';

LabeledEdit2.Text:='';

LabeledEdit3.Text:='';

DateTimePicker1.DateTime:=StrToDate('01.01.2008');

LabeledEdit5.Text:='';

LabeledEdit6.Text:='';

LabeledEdit7.Text:='';

LabeledEdit8.Text:='';

end

else

begin

LabeledEdit9.Text:='';

LabeledEdit10.Text:='';

LabeledEdit11.Text:='';

DateTimePicker2.DateTime:=StrToDate('01.01.2008');

LabeledEdit13.Text:='';

LabeledEdit14.Text:='';

LabeledEdit15.Text:='';

LabeledEdit16.Text:='';

end;

end;

procedure TForm5.TableRefresh();

begin

Form5.DBGrid1.DataSource:=Datamodule2.DataSource12;

Form5.DBGrid2.DataSource:=Datamodule2.DataSource13;

Form5.DBGrid1.Columns[0].Title.Caption:='№';

Form5.DBGrid1.Columns[1].Title.Caption:='Фамилия';

Form5.DBGrid1.Columns[2].Title.Caption:='Имя';

Form5.DBGrid1.Columns[3].Title.Caption:='Отчество';

Form5.DBGrid1.Columns[4].Title.Caption:='Дата рождения';

Form5.DBGrid1.Columns[5].Title.Caption:='Адрес';

Form5.DBGrid1.Columns[6].Title.Caption:='тел. Дом';

Form5.DBGrid1.Columns[7].Title.Caption:='тел.Мобилый';

Form5.DBGrid1.Columns[8].Title.Caption:='Место работы';

Form5.DBGrid1.Columns.Items[0].Width:=0;

Form5.DBGrid1.Columns.Items[1].Width:=100;

Form5.DBGrid1.Columns.Items[2].Width:=70;

Form5.DBGrid1.Columns.Items[3].Width:=70;

Form5.DBGrid1.Columns.Items[4].Width:=70;

Form5.DBGrid1.Columns.Items[5].Width:=160;

Form5.DBGrid1.Columns.Items[6].Width:=100;

Form5.DBGrid1.Columns.Items[7].Width:=100;

Form5.DBGrid1.Columns.Items[8].Width:=100;

Form5.DBGrid2.Columns[0].Title.Caption:='№';

Form5.DBGrid2.Columns[1].Title.Caption:=' Фамилия ';

Form5.DBGrid2.Columns[2].Title.Caption:=' Имя ';

Form5.DBGrid2.Columns[3].Title.Caption:=' Отчество ';

Form5.DBGrid2.Columns[4].Title.Caption:=' Дата рождения';

Form5.DBGrid2.Columns[5].Title.Caption:= 'Адрес';

Form5.DBGrid2.Columns[6].Title.Caption:= 'тел. Дом';

Form5.DBGrid2.Columns[7].Title.Caption:= 'тел.Мобилый';

Form5.DBGrid2.Columns[8].Title.Caption:= 'Место работы';

Form5.DBGrid2.Columns.Items[0].Width:=0;

Form5.DBGrid2.Columns.Items[1].Width:=70;

Form5.DBGrid2.Columns.Items[2].Width:=70;

Form5.DBGrid2.Columns.Items[3].Width:=70;

Form5.DBGrid2.Columns.Items[4].Width:=70;

Form5.DBGrid2.Columns.Items[5].Width:=160;

Form5.DBGrid2.Columns.Items[6].Width:=100;

Form5.DBGrid2.Columns.Items[7].Width:=100;

Form5.DBGrid2.Columns.Items[8].Width:=100;

end;

procedure TForm5.BitBtn7Click(Sender: TObject);

begin

if MessageDlg('Хотите выйти в меню?', mtInformation, [mbYes, mbNo],

0)=mrYes

THEN

begin

Form5.Hide;

Form3.Show;

end;

end;

procedure TForm5.FormShow(Sender: TObject);

begin

Form5.TableRefresh();

BitBtn2.Enabled:=false;

BitBtn3.Enabled:=false;

BitBtn5.Enabled:=false;

BitBtn6.Enabled:=false;

end;

procedure TForm5.DBGrid1CellClick(Column: TColumn);

begin

LabeledEdit1.Text:=DbGrid1.Fields[1].AsString;

LabeledEdit2.Text:=DbGrid1.Fields[2].AsString;

LabeledEdit3.Text:=DbGrid1.Fields[3].AsString;

DateTimePicker1.DateTime:=StrToDate(DbGrid1.Fields[4].AsString);

LabeledEdit5.Text:=DbGrid1.Fields[5].AsString;

LabeledEdit6.Text:=DbGrid1.Fields[6].AsString;

LabeledEdit7.Text:=DbGrid1.Fields[7].AsString;

LabeledEdit8.Text:=DbGrid1.Fields[8].AsString;

BitBtn2.Enabled:=true;

BitBtn3.Enabled:=true;

end;

procedure TForm5.DBGrid2CellClick(Column: TColumn);

begin

LabeledEdit9.Text:=DbGrid2.Fields[1].AsString;

LabeledEdit10.Text:=DbGrid2.Fields[2].AsString;

LabeledEdit11.Text:=DbGrid2.Fields[3].AsString;

DateTimePicker2.DateTime:=StrToDate(DbGrid2.Fields[4].AsString);

LabeledEdit13.Text:=DbGrid2.Fields[5].AsString;

LabeledEdit14.Text:=DbGrid2.Fields[6].AsString;

LabeledEdit15.Text:=DbGrid2.Fields[7].AsString;

LabeledEdit16.Text:=DbGrid2.Fields[8].AsString;

BitBtn5.Enabled:=true;

BitBtn6.Enabled:=true;

end;

//Добавить МАМУ

procedure TForm5.BitBtn1Click(Sender: TObject);

var

p1,p2,p3,p4,p5,p6,p7,p8:string;

GSQLText:string;

begin

p1:=LabeledEdit1.Text;

p2:=LabeledEdit2.Text;

p3:=LabeledEdit3.Text;

p4:=DateToStr(DateTimePicker1.DateTime);

p5:=LabeledEdit5.Text;

p6:=LabeledEdit6.Text;

p7:=LabeledEdit7.Text;

p8:=LabeledEdit8.Text;

//проверка на заполненность

Form1.CheckValueOnNull(p1,'фамилия');

Form1.CheckValueOnNull(p2,'Имя');

Form1.CheckValueOnNull(p3,'Отчество');

Form1.CheckValueOnNull(p4,'Дата рождения');

Form1.CheckValueOnNull(p5,'Адрес');

Form1.CheckValueOnNull(p6,'Домашний телефон');

Form1.CheckValueOnNull(p7,'Мобильный телефон);

Form1.CheckValueOnNull(p8,'Место работы');

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

Form5.CheckIdenticalRecord(0);

GSQLText:='GENID(GMAMA, 1)';

With SQLbox.Items do begin

Clear;

add('INSERT INTO MAMA');

add('VALUES ('+GSQLText+', '''+p1+''', '''+p2+''', '''+p3+''', '''+p4+''',

'''+p5+''', '''+p6+''', '''+p7+''', '''+p8+''');');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

BitBtn2.Enabled:=false;

BitBtn3.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(0);

end;

//Редактировать маму

procedure TForm5.BitBtn2Click(Sender: TObject);

var

p0,p1,p2,p3,p4,p5,p6,p7,p8:string;

begin

p0:=DBGrid1.Fields[0].AsString;

p1:=LabeledEdit1.Text;

p2:=LabeledEdit2.Text;

p3:=LabeledEdit3.Text;

p4:=DateToStr(DateTimePicker1.DateTime);

p5:=LabeledEdit5.Text;

p6:=LabeledEdit6.Text;

p7:=LabeledEdit7.Text;

p8:=LabeledEdit8.Text;

Pole0:='KODRODITELYAMAMA';

Pole1:='FAMILIYA';

Pole2:='IMYA';

Pole3:='OTCHESTVO';

Pole4:='DATAROGDENIYA';

Pole5:='ADRESS';

Pole6:='TELDOM';

Pole7:='TELMOB';

Pole8:='MESTORABOTI';

//проверка на заполненность

Form1.CheckValueOnNull(p1,'фамилия');

Form1.CheckValueOnNull(p2,'Имя');

Form1.CheckValueOnNull(p3,'Отчество');

Form1.CheckValueOnNull(p4,'Дата рождения');

Form1.CheckValueOnNull(p5,'Адрес');

Form1.CheckValueOnNull(p6,'Домашний телефон');

Form1.CheckValueOnNull(p7,'Мобильный телефон);

Form1.CheckValueOnNull(p8,'Место работы');

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

Form5.CheckIdenticalRecord(0);

With SQLbox.Items do begin

Clear;

add('UPDATE MAMA');

add('SET '+pole1+' = '''+p1+''', '+pole2+' = '''+p2+''', '+pole3+' = '''+p3+''',

'+pole4+' = '''+p4+''', '+pole5+' = '''+p5+''', '+pole6+' = '''+p6+''', '+pole7+' =

'''+p7+''', '+pole8+' = '''+p8+'''');

add('WHERE '+pole0+' = '+p0+';');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

BitBtn2.Enabled:=false;

BitBtn3.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(0);

end;

//Удалить маму

procedure TForm5.BitBtn3Click(Sender: TObject);

begin

With SQLbox.Items do begin

Clear;

add('delete from MAMA');

add('WHERE KODRODITELYAMAMA =

'+DBgrid1.Fields[0].AsString+';');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

BitBtn2.Enabled:=false;

BitBtn3.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(0);

end;

//Добавить папу

procedure TForm5.BitBtn4Click(Sender: TObject);

var

p1,p2,p3,p4,p5,p6,p7,p8:string;

GSQLText:string;

begin

p1:=LabeledEdit9.Text;

p2:=LabeledEdit10.Text;

p3:=LabeledEdit11.Text;

p4:=DateToStr(DateTimePicker2.DateTime);

p5:=LabeledEdit13.Text;

p6:=LabeledEdit14.Text;

p7:=LabeledEdit15.Text;

p8:=LabeledEdit16.Text;

//проверка на заполненность

//проверка на заполненность

Form1.CheckValueOnNull(p1,'фамилия');

Form1.CheckValueOnNull(p2,'Имя');

Form1.CheckValueOnNull(p3,'Отчество');

Form1.CheckValueOnNull(p4,'Дата рождения');

Form1.CheckValueOnNull(p5,'Адрес');

Form1.CheckValueOnNull(p6,'Домашний телефон');

Form1.CheckValueOnNull(p7,'Мобильный телефон);

Form1.CheckValueOnNull(p8,'Место работы');

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

Form5.CheckIdenticalRecord(1);

GSQLText:='GENID(GPAPA, 1)';

With SQLbox.Items do begin

Clear;

add('INSERT INTO PAPA');

add('VALUES ('+GSQLText+', '''+p1+''', '''+p2+''', '''+p3+''', '''+p4+''',

'''+p5+''', '''+p6+''', '''+p7+''', '''+p8+''');');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

SQLbox.Items.Clear;

BitBtn5.Enabled:=false;

BitBtn6.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(1);

end;

//Редактировать папу

procedure TForm5.BitBtn5Click(Sender: TObject);

var

p0,p1,p2,p3,p4,p5,p6,p7,p8:string;

begin

p0:=DBGrid2.Fields[0].AsString;

p1:=LabeledEdit9.Text;

p2:=LabeledEdit10.Text;

p3:=LabeledEdit11.Text;

p4:=DateToStr(DateTimePicker2.DateTime);

p5:=LabeledEdit13.Text;

p6:=LabeledEdit14.Text;

p7:=LabeledEdit15.Text;

p8:=LabeledEdit16.Text;

Pole0:='KODRODITELYAPAPA';

Pole1:='FAMILIYA';

Pole2:='IMYA';

Pole3:='OTCHESTVO';

Pole4:='DATAROGDENIYA';

Pole5:='ADRESS';

Pole6:='TELDOM';

Pole7:='TELMOB';

Pole8:='MESTORABOTI';

//проверка на заполненность

Form1.CheckValueOnNull(p1,'фамилия');

Form1.CheckValueOnNull(p2,'Имя');

Form1.CheckValueOnNull(p3,'Отчество');

Form1.CheckValueOnNull(p4,'Дата рождения');

Form1.CheckValueOnNull(p5,'Адрес');

Form1.CheckValueOnNull(p6,'Домашний телефон');

Form1.CheckValueOnNull(p7,'Мобильный телефон);

Form1.CheckValueOnNull(p8,'Место работы');

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

Form5.CheckIdenticalRecord(1);

With SQLbox.Items do begin

Clear;

add('UPDATE PAPA');

add('SET '+pole1+' = '''+p1+''', '+pole2+' = '''+p2+''', '+pole3+' = '''+p3+''',

'+pole4+' = '''+p4+''', '+pole5+' = '''+p5+''', '+pole6+' = '''+p6+''', '+pole7+' =

'''+p7+''', '+pole8+' = '''+p8+'''');

add('WHERE '+pole0+' = '+p0+';');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

BitBtn5.Enabled:=false;

BitBtn6.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(1);

end;

//Удалить папу

procedure TForm5.BitBtn6Click(Sender: TObject);

begin

With SQLbox.Items do begin

Clear;

add('delete from PAPA');

add('WHERE KODRODITELYAPAPA =

'+DBgrid2.Fields[0].AsString+';');

end;

DataModule2.IBSQL1.SQL.Clear;

DataModule2.IBSQL1.SQL:=SQLBox.Items;

DataModule2.IBSQL1.ExecQuery;

Form1.RefreshDBQuary();

BitBtn5.Enabled:=false;

BitBtn6.Enabled:=false;

Form5.TableRefresh();

Form5.ClearEdit(1);

end;

//Тип семьи

procedure TForm5.BitBtn8Click(Sender: TObject);

begin

Form6.Caption:='Тип Семьи';

doubleTBL:='TIPSEMI';

doublep0:='KODTIPASEMI';

doublep1:='TIPSEMI';

Form6.DBGrid1.DataSource:=Datamodule2.DataSource5;

Form6.LabeledEdit1.Text:='';

Form6.LabeledEdit1.EditLabel.Caption:=' Тип семьи ';

doublefield1:=' Тип семьи ';

Form6.Show;

end;

//Фамилия (мама)

procedure TForm5.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

begin

Form1.CheckKey(key,mass,n);

end;

//Имя (мама)

procedure TForm5.LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

begin

Form1.CheckKey(key,mass,n);

end;

//Отчество (мама)

procedure TForm5.LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

begin

Form1.CheckKey(key,mass,n);

end;

//Адрес (мама)

procedure TForm5.LabeledEdit5KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..54] of char;

const

n=54;

begin

Form1.CheckKey(key,mass,n);

end;

//Телефон домашний (мама)

procedure TForm5.LabeledEdit6KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..13] of char;

const

n=13;

mass : massiv = ('0','1','2','3','4','5','6','7','8','9','-','(',')');

begin

Form1.CheckKey(key,mass,n);

end;

//Фамилия (папа)

procedure TForm5.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

mass : massiv =

('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы'

,'ь','э','ю','я');

begin

Form1.CheckKey(key,mass,n);

end;

//Имя (папа)

procedure TForm5.LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

mass : massiv =

('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы'

,'ь','э','ю','я');

begin

Form1.CheckKey(key,mass,n);

end;

//Отчество (папа)

procedure TForm5.LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..33] of char;

const

n=33;

mass : massiv =

('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы'

,'ь','э','ю','я');

begin

Form1.CheckKey(key,mass,n);

end;

begin

Form1.CheckKey(key,mass,n);

end;

//Место работы (папа)

procedure TForm5.LabeledEdit8KeyPress(Sender: TObject; var Key: Char);

type

massiv = array[1..80] of char;

const

n=80;

mass : massiv =

('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы'

,'ь','э','ю','я','0','1','2','3','4','5','6','7','8','9','-','(',')','№','"','.',',',';','\','/','

','q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m');

begin

Form1.CheckKey(key,mass,n);

end;

end:

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.