Разработка приложения для предметной области базы данных "Адресная Книжка" с применением языка программирования Delphi 7 - Курсовая работа

бесплатно 0
4.5 217
Главные составные части среды программирования. Требование к надежности, к составу и параметрам технических средств. Табличные базы данных. Выбор и обоснование выбора системы управления базами данных. Высокопроизводительный компилятор в машинный код.


Аннотация к работе
С точки зрения пользователя, база данных - это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. С точки зрения программиста, база данных - это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных. В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (DBASE, FOXPRO, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.Внешний вид среды программирования Delphi отличается от многих других из тех, что можно увидеть в Windows. Вместе с главным окном свернутся все остальные окна среды программирования, освободив место для работы других программ.[11] Программисты на Delphi проводят большинство времени переключаясь между Дизайнером Форм и Окном Редактора Исходного Текста (которое для краткости называют Редактор). Несмотря на всю важность Дизайнера Форм, местом, где программисты проводят основное время является Редактор. Для использования Палитры Компонент просто первый раз щелкните мышкой на один из объектов и потом второй раз - на Дизайнере Форм.Данная программа универсальна, так как может применяться в любой среды, она может использоваться в качестве адресной книжки в любой компании или учебных заведениях.В качестве постоянного хранения программы следует использовать жесткий магнитный диск, а для распространения программы, установку программы лучше записывать на CD-ROM.Программа была выполнена в оперционной системе WINDOWSME, она совместима с опеационными системами Windows 98, Windows XP, Windows 95, Windows 7, Windows 8.1, Windows 10. Для работы данной программы используется ПК имеющий следующий характеристики: § Процессор не ниже Pentium 100Базы данных представляют собой информационные модели, содержащие данные об объектах и их свойствах. Например, база данных "Записная книжка" хранит информацию о людях, каждый из которых имеет фамилию, имя, телефон и так далее. Табличная база данных содержит перечень объектов одного типа, то есть объектов, имеющих одинаковый набор свойств. Столбцы такой таблицы называют полями; каждое поле характеризуется своим именем (именем соответствующего свойства) и типом данных, представляющих значения данного свойства. Строки таблицы являются записями об объекте; эти записи разбиты на поля столбцами таблицы, поэтому каждая запись представляет собой набор значений, содержащихся в полях.Для создания моего приложения используется основная форма: Form1, в которой вводятся все основные коды для нужной выполняемой приложению функции. На панели Object TREEVIEW показаны функции отвечающие за все компоненты в приложении это: добавления кнопок и определенных функций. Рисунок 3-Панель всех компонентов которые используются для созданий приложенийТаблицы хранятся в файлах, поэтому их можно перемещать и копировать обычным способом. Для одной таблицы создается несколько файлов, содержащих данные, индексы, ключи и т. п. Имя главного файла таблицы (файла, содержащего данные) - оно же является именем таблицы - задается при создании таблицы. Имена остальных файлов задаются автоматически, причем имена файлов совпадают с именем таблицы, за исключением расширений имен. Каждая таблица БД, состоящая из строк и столбцов, предназначена для хранения информации об однотипных объектах системы.На рисунке 7 показано главное окно программы. Что бы сохранить проект необходимо выбрать меню“ Файл”-“Сохранить как” вводим свое название и сохраняем.Система Delphi позволяет решать множество задач, в частности: Создавать законченные приложения для Windows самой различной направленности: от чисто вычислительных и логических, до графических и мультимедиа. *Быстро создать (даже начинающим программистам) профессионально выглядящий оконный интерфейс для любых приложений. *Создавать мощные системы работы с локальными и удаленными базами данных *Создавать справочные системы (файлы . hlp) для своих приложений и мн. др.

План
Содержание

ВВЕДЕНИЕ

1. ОСНОВНАЯ ЧАСТЬ

1.1 Цель разработки

1.2 Анализ разработки

1.3 Требование к надежности

1.4 Требование к составу и параметрам технических средств

2. ТЕХНИЧЕСКАЯ ЧАСТЬ

2.1 Структура БД

2.2 Описание программы

3. ПРОЕКТНАЯ ЧАСТЬ

3.1 Выбор и обоснование выбора СУБД

3.2 Руководство пользователя

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ А

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

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

В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (DBASE, FOXPRO, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.

В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от DBASE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.

База данных - это набор однородной, как правило, упорядоченной по некоторому критерию, информации. База данных может быть представлена в "бумажном" или в компьютерном виде.

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

Компьютерная база данных представляет собой файл (или набор связанных файлов), содержащий информацию.

База данных состоит из записей. Каждая запись содержит информацию об одном экземпляре. Записи состоят из полей. Каждое поле содержит информацию об одной характеристике экземпляра. Следует обратить внимание, что каждая запись состоит из одинаковых полей. Некоторые поля могут быть не заполнены, однако они все равно присутствуют в записи.[1]

Таблицы БД располагаются на диске и являются физическими объектами. Для операций с данными, содержащимися в таблицах, используются наборы данных (НД). В терминах Delphiнабор данных - это совокупность записей, взятых из одной или нескольких таблиц БД. НД является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и НД напоминает взаимодействие физического файла и файловой переменной. В Delphi для работы с наборами данных таблиц применяются несколько компонент, но наиболее универсальным и часто используемыми являются НД Table и Query.[3]

Вывод
Система Delphi позволяет решать множество задач, в частности: Создавать законченные приложения для Windows самой различной направленности: от чисто вычислительных и логических, до графических и мультимедиа.

*Быстро создать (даже начинающим программистам) профессионально выглядящий оконный интерфейс для любых приложений.

*Создавать мощные системы работы с локальными и удаленными базами данных

*Создавать справочные системы (файлы . hlp) для своих приложений и мн. др.

Delphi - это комбинация нескольких важнейших технологий: Высокопроизводительный компилятор в машинный код

*Объектно-ориентированная модель компонент

*Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

*Масштабируемые средства для построения баз данных.

*В процессе выполнения курсового проекта я усвоил некоторые возможности Delphi. Но даже этот небольшой объем материала позволил мне убедиться в колоссальности данной среды.

Целью курсовой работы было изучение языка программирования DELPHI и разработка баз данных.

При выполнении курсовой работы: *была изучена теория и технология работы с средой ПРОГРАММИРОВАНИЯBORLANDDELPHI7;

*была изучена и проанализирована соответствующая литература;

Список литературы
программирование база данные компилятор

1.Архангельский, А.Я, Программирование в C Builder 6./ А.Я. Архангельский. -Москва: ООО Бином - пресс, 2012. - 1152с.

2.КАЛВЕРТЧ., РЕЙСДОРФК., Borland C Builder 6. Настольная книга программиста/ Ч. Калверт, К. Рейсдорф.- Санкт-Петербург: ООО «ДИАСОФТ», 2010 - 1008 с.

3. Маклаков, С.В., BPWIN и ERWIN. CASE - средства разработки информационных систем / С.В. Маклаков.- Москва: Диалог-МИФИ, 2011, 256с.

4. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд./С. Орлов. - Санкт-Петербург, 2011.

5. Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. - 5-е изд., перераб. и доп.: Пер. с англ./ П.Роб, К. Коронел.- Санкт-Петербург: БХВ-Петербург, 2012.

6. Прагг, К., Ирвин, М.. Access 2010. Библия пользователя.: Пер. с англ./ К. Прагг, М. Ирвин. - Москва: Издательский дом «Вильямс», 2013.

7. Михаил Фленов, Библия Делфи, БХВ-Петербург, 2011 г.

8. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие. - М.: Гелиос АРВ, 2002.

9. Информационные системы в экономике: Учебник для вузов / К.В. Балдин, В.Б. Уткин. - М.: Издательско-торговая корпорация «Дашков и К», 2004.

10. Delphi7 учебный курс /от Шпак Ю.А 11. Сайт http://www.delphi-manual.ru/

ПРИЛОЖЕНИЕА.

ДАННЫЙ КОД ОТВЕЧАЕТ ЗА ОСНОВНЫЕ ДЕЙСТВИЯ ВЫПОЛНЯЕМЫЕ ПРОГРАММОЙ unit UC_ADRBOOK;

interface uses Classes, SYSUTILS;

const

NAMLENGTH = 20; FULLNAMEL = 65;

TELLENGTH = 20;

ADRLENGTH = 60; PLCLENGTH = 20; COMLENGTH = 255;

Line = "***---***---(***)---***---***";

Type// отвечает за функцию ввода дня, месяца, года.

NAMSTRING = string[NAMLENGTH]; FULLNAMES = string[FULLNAMEL];

CUSSTRING = string[COMLENGTH]; TELSTRING = string[TELLENGTH];

ADRSTRING = string[ADRLENGTH];

PLCSTRING = string[PLCLENGTH]; COMSTRING = string[COMLENGTH];

GRPTYPE = 0..8; GRPARR = array [0..8] of Boolean;

TUC_Date = record

Day : 1..31;

Month : 1..12;

Year : 1000..2300;

end;{TDATE = record}

TUC_Time = record

Hour : 0..23;

Minute : 0..59;

end;{TUC_Time}

TARR = array of Integer;

PPERSON = ^TPERSON;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

TPERSON = record

Name, PATRNAME, Surname : NAMSTRING;

HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

Group : GRPTYPE;

EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

Country, City : PLCSTRING;

BIRTHDAY : TUC_Date;

Comments : COMSTRING;

Prev, Next : PPERSON;

end;{TPERSON = record}

TPEOPLE = class

FFIRST : PPERSON;

constructor Create;

destructor Destroy; override;

procedure Clear;

function Add (const Name, PATRNAME, Surname : NAMSTRING;

const HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

const Group : GRPTYPE;

const EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

const Country, City : PLCSTRING;

const BIRTHDAY : TUC_Date;

const Comments : COMSTRING) : Boolean;

function READFROMFILE (const F : TEXTFILE) : Boolean;

function SAVETOFILE (const F : TEXTFILE) : Boolean;

function GETSIZE : Integer;

function Delete (const p : pointer) : Boolean;

function GETITEM (const p: pointer;

var Name, PATRNAME, Surname: NAMSTRING;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА var HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

var Group : GRPTYPE;

var EMAIL, HOMEADR, WORKADR, Web: ADRSTRING;

var Country, City : PLCSTRING;

var BIRTHDAY : TUC_Date;

var Comments : COMSTRING) : Boolean;

function Modify (const p : pointer;

const Name, PATRNAME, Surname : NAMSTRING;

const HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

const Group : GRPTYPE;

const EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

const Country, City : PLCSTRING;

const BIRTHDAY : TUC_Date;

const Comments : COMSTRING) : Boolean;

function FILLTSTRINGS : TSTRINGS;

function FINDITEM (FULLNAME : string) : pointer;

function FILLITEMSBYGROUP(Groups : GRPARR) : TSTRINGS;

property Count : Integer read GETSIZE;

end;{TPEOPLE = class} procedure FILLGROUPARR;

procedure CUTNSP (str : string; var Name, Surname, PATRNAME: NAMSTRING);

procedure Zodiac (Date: TUC_Date; var Month, Year : string);

function UC_STRTODATE(str : string) : TUC_Date;

function UC_DATETOSTR (Date : TUC_Date) : string;

function UC_STRTOTIME (str : string) : TUC_Time;

function UC_TIMETOSTR (Time : TUC_Time) : string;

function LEADZERO (w : Word; Count : Byte = 1) : string;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА var

GROUPARR : array [0..8] of string[20];

FADR : TEXTFILE;

FADRWAY : string;

implementation constructor TPEOPLE.Create;

begin inherited;

if FFIRST nil then Clear;

FFIRST := nil;

end;{constructor TPEOPLE.Create} destructor TPEOPLE.Destroy;

begin if FFIRST nil then Clear;

end;{destructor TPEOPLE.Destroy} procedure TPEOPLE.Clear;

var

Item : PPERSON;

begin while FFIRST nil do begin

Item := FFIRST;

FFIRST := FFIRST.Next;

Dispose (Item);

end;{while FFIRST nil} end;{procedure TPEOPLE.Clear}

//ОТВЕЧАЕТЗАВВОДФИО. Адресамобильныеитд. function TPEOPLE.Add (const Name, PATRNAME, Surname : NAMSTRING;

const HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

CONSTGROUP : GRPTYPE;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА const EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

const Country, City : PLCSTRING;

const BIRTHDAY : TUC_Date;

const Comments : COMSTRING) : Boolean;

var

Item : PPERSON;

begin

Result := True;

try

New(Item);

Item.Name:= Name;

Item.PATRNAME := PATRNAME;

Item.Surname := Surname;

Item.HOMETEL := HOMETEL;

Item.WORKTEL := WORKTEL;

Item.MOBITEL := MOBITEL;

Item.ICQ := ICQ;

Item.Group:= Group;

Item.EMAIL:= EMAIL;

Item.HOMEADR:= HOMEADR;

Item.WORKADR:= WORKADR;

Item.Web := Web;

Item.Country := Country;

Item.City := City;

Item.BIRTHDAY := BIRTHDAY;

Item.Comments := Comments;

Item.Prev := nil;

if Count > 1 then FFIRST.Next.Prev := FFIRST;

Item.Next := FFIRST;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

FFIRST := Item;

except

Result := False;

end;{try except} end;{function TPEOPLE.Add} function TPEOPLE.READFROMFILE (const F : TEXTFILE) : Boolean;

var

Name, PATRNAME, Surname : NAMSTRING;

HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

Group : GRPTYPE;

EMAIL, HOMEADR, WORKADR, We: ADRSTRING;

Country, City : PLCSTRING;

Birth : string;

Comments : COMSTRING;

I : Integer;

begin

Result := True;

try for I := 0 to 5 do Readln(F, GROUPARR[i]);

Readln(F);

while not Eof(F) do begin

Readln(F, Name);

Readln(F, PATRNAME);

Readln(F, Surname);

Readln(F, HOMETEL);

Readln(F, WORKTEL);

Readln(F, MOBITEL);

Readln(F, ICQ);

Readln(F, Group);

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

Readln(F, EMAIL);

Readln(F, HOMEADR);

Readln(F, WORKADR);

Readln(F, Web);

Readln(F, Country);

Readln(F, City);

Readln(F, Birth);

Readln(F, Comments);

Readln(F);

Add(Name, PATRNAME, Surname, HOMETEL, WORKTEL, MOBITEL, ICQ, Group, EMAIL, HOMEADR, WORKADR,Web,Country, City, UC_STRTODATE(Birth), Comments) end;{while not Eof(F)} except

Result := False;

end;{try except} end;{function TPEOPLE.READFROMFILE} function TPEOPLE.SAVETOFILE (const F : TEXTFILE) : Boolean;

var

Item : PPERSON;

I : Integer;

begin

Result := True;

try for I := 0 to 5 do Writeln(F, GROUPARR[i]);

Writeln(F);

Item := FFIRST;

while Item nil do begin

Writeln(F, Item.Name);

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

Writeln(F, Item.PATRNAME);

Writeln(F, Item.Surname);

Writeln(F, Item.HOMETEL);

Writeln(F, Item.WORKTEL);

Writeln(F, Item.MOBITEL);

Writeln(F, Item.ICQ);

Writeln(F, INTTOSTR(Item.Group));

Writeln(F, Item.EMAIL);

Writeln(F, Item.HOMEADR);

Writeln(F, Item.WORKADR);

Writeln(F, Item.Web);

Writeln(F, Item.Country);

Writeln(F, Item.City);

Writeln(F, UC_DATETOSTR(Item.BIRTHDAY));

Writeln(F, Item.Comments);

Writeln(F, Line);

Item := Item^.Next;

end;{while Itemnil} except

Result := False;

end;{try except} end;{function TPEOPLE.SAVETOFILE} function TPEOPLE.GETSIZE : Integer;

var

Count : Integer;

Item : PPERSON;

begin

Count := 0;

Item := FFIRST;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА if Item nil then begin while Item nil do begin

Inc(Count);

Item := Item.Next;

end;{while Item nil} end;{if Item nil}

Result := Count;

end;{function TPEOPLE.GETSIZE} function TPEOPLE.Delete (const p : pointer) : Boolean;

var

Item, Prev, Next : PPERSON;

begin if p nil then begin

Item := p;

Prev := Item.Prev;

Next := Item.Next;

Dispose (Item);

if Prev nil then begin

Item := Prev;

Item.Next := Next;

end else FFIRST := Next;

if Next nil then begin

Item := Next;

Item.Prev := Prev;

end;{if Next nil} if FFIRST = nil then begin

Clear;

Create;

end;{IFFFIRSTNIL}

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

Result := True;

end else Result := False;

end;{function TPEOPLE.Delete} function TPEOPLE.GETITEM (const p : pointer;

var Name, PATRNAME, Surname : NAMSTRING;

var HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

var Group : GRPTYPE;

var EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

var Country, City : PLCSTRING;

var BIRTHDAY : TUC_Date;

var Comments: COMSTRING) : Boolean;

var

Item : PPERSON;

begin

Item := p;

if Item nil then begin

Name := Item.Name;

PATRNAME := Item.PATRNAME;

Surname := Item.Surname;

HOMETEL := Item.HOMETEL;

WORKTEL := Item.WORKTEL;

MOBITEL := Item.MOBITEL;

ICQ := Item.ICQ;

Group := Item.Group;

EMAIL:= Item.EMAIL;

HOMEADR:= Item.HOMEADR;

WORKADR:= Item.WORKADR;

Web := Item.Web;

Country:= Item.Country;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

City := Item.City;

BIRTHDAY := Item.BIRTHDAY;

Comments := Item.Comments;

Result := True;

end else Result := False;

end;{function TPEOPLE.GETITEM} function TPEOPLE.Modify (const p : pointer;

const Name, PATRNAME, Surname: NAMSTRING;

const HOMETEL, WORKTEL, MOBITEL, ICQ : TELSTRING;

const Group : GRPTYPE;

const EMAIL, HOMEADR, WORKADR, Web : ADRSTRING;

const Country, City : PLCSTRING;

const BIRTHDAY : TUC_Date;

const Comments : COMSTRING) : Boolean;

var

Item : PPERSON;

begin

Item := p;

if Item nil then begin

Item.Name := Name;

Item.PATRNAME := PATRNAME;

Item.Surname := Surname;

Item.HOMETEL := HOMETEL;

Item.WORKTEL := WORKTEL;

Item.MOBITEL := MOBITEL;

Item.ICQ := ICQ;

Item.Group:= Group;

Item.EMAIL := EMAIL;

Item.HOMEADR:= HOMEADR;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

Item.WORKADR:= WORKADR;

Item.Web := Web;

Item.Country:= Country;

Item.City:= City;

Item.BIRTHDA:= BIRTHDAY;

Item.Comments := Comments;

Result := True;

end else Result := False;

end;{function TPEOPLE.Modify} function TPEOPLE.FILLTSTRINGS : TSTRINGS;

var

Item : PPERSON;

Lines : TSTRINGS;

begin

Item := FFIRST;

Lines := TSTRINGLIST.Create;

while Item nil do begin

Lines.Add(Item.Surname ", " Item.Name " " Item.PATRNAME);

Item := Item.Next;

end;{while Item nil}

Result := Lines;

end;{function TPEOPLE.FILLTSTRINGS} function TPEOPLE.FINDITEM (FULLNAME : string) : pointer;

var p, Item : PPERSON;

Name, SURNAME, PATRNAME : NAMSTRING;

BN, BS, BP : Boolean;

begin

CUTNSP(FULLNAME, Name, SURNAME, PATRNAME);

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА

Item := FFIRST;

p := nil;

while (Item nil) and (p = nil) do begin if Name = Item.Name then BN := True else BN := False;

if Surname = Item.Surname then BS := True else BS := False;

if PATRNAME = Item.PATRNAME then BP := True else BP := False;

if (BN = True) and (BS = True) and (BP = True) then p := Item else Item := Item.Next;

end;{while Item^nil}

Result := p;

end;{function TPEOPLE.FINDITEM} function TPEOPLE.FILLITEMSBYGROUP(Groups : GRPARR) : TSTRINGS;

var

Item : PPERSON;

Lines : TSTRINGS;

I : Integer;

begin

Item := FFIRST;

Lines := TSTRINGLIST.Create;

while Item nil do begin for I := 0 to 8 do begin if Groups[I] = True then if I = Item.Group then begin

Lines.Add(Item.Surname ", " Item.Name " " Item.PATRNAME);

Break;

end;

end;

Item := Item.Next;

end;{while Item nil}

Result := Lines;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА end;{function TPEOPLE.FILLITEMSBYGROUP}

PROCEDUREFILLGROUPARR;

Begin// Отвечает за сортировку по группам.

GROUPARR[0] := " группа 1";

GROUPARR[1] := "группа 2";

GROUPARR[2] := "группа 3";

GROUPARR[3] := "группа 4";

GROUPARR[4] := " группа 5";

GROUPARR[5] := группа 6";

GROUPARR[6] := "личная информация";

GROUPARR[7] := "другие";

GROUPARR[8] := "безгруппы";

end;

procedure

CUTNSP (str : string; var Name, Surname, PATRNAME : NAMSTRING);

var k : Integer;

begin k := Pos(", ", str);

PATRNAME := "";

Surname := Copy(str, 1, k-1);

str := Copy(str, k 2, Length(str));

k := Pos(" ", str);

if k = Length(str) then Name := Copy(str, 1, k-1) else begin

Name := Copy(str, 1, k-1);

PATRNAME := Copy(str, k 1, Length(str));

end;

end;{PROCEDURECUTNSP}

//отвечает за ввод и отображении даты рождения

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА procedure Zodiac (Date: TUC_Date; var Month, Year : string);

var k : Integer;

begin case Date.Month of

1 : if Date.Day >= 20 then Month;

2 : if Date.Day >= 19 then Month;

3 : if Date.Day >= 21 then Month;

4 : if Date.Day >= 20 then Month;

5 : if Date.Day >= 21 then Month;

6 : if Date.Day >= 22 then Month;

7 : if Date.Day >= 23 then Month;

8 : if Date.Day >= 23 then Month;

9 : if Date.Day >= 23 then Month;

10: if Date.Day >= 23 then Month;

11: if Date.Day >= 23 then Month;

12: if Date.Day >= 22 then Month;

end;

function UC_STRTODATE(str : string) : TUC_Date;

var

Date : TUC_Date;

VALCODE: Integer;

begin

Val(Copy(str,1,2),Date.Day,VALCODE);

Val(Copy(str,4,2),Date.Month,VALCODE);

Val(Copy(str,7,4),Date.Year,VALCODE);

Result:=Date;

end;{function UC_STRTODATE} function UC_DATETOSTR(Date : TUC_Date) : string;

ПРОДОЛЖЕНИЕПРИЛОЖЕНИЯА begin

Result:=

LEADZERO(Date.Day,2) "." LEADZERO(Date.Month,2) "." LEADZERO(Date.Year,4);

end;{function UC_DATETOSTR} function UC_STRTOTIME(str : string) : TUC_Time;

var

Time : TUC_Time;

VALCODE : Integer;

begin

Val(Copy(str,1,2),Time.Hour,VALCODE);

Val(Copy(str,4,2),Time.Minute,VALCODE);

Result:=Time;

end;{function UC_STRTOTIME} function UC_TIMETOSTR(Time : TUC_Time) : string;

begin

Result := LEADZERO(Time.Hour,2) ":" LEADZERO(Time.Minute,2);

end;{function UC_TIMETOSTR} function LEADZERO(w : Word; Count : Byte = 1) : string;

var s : string;

begin

Str(w,s);

while Count>Length(s) do s:="0" s;

Result:=s;

end;{function LEADZERO} begin

FILLGROUPARR;

end.

Размещено на
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?