СОДЕРЖАНИЕ
Компьюте-ры давно и прочно вошли в такие области управления, как бухгалтерский учет, управление складом, ассортиментом и закупками. Однако современный бизнес тре-бует гораздо более широкого применения информационных технологий в управле-нии предприятием. Жизнеспособность и развитие информационных технологий объясняется тем, что современный бизнес крайне чувствителен к ошибкам в управ-лении. Интуиции, личного опыта руководителя и размеров капитала уже мало для того, чтобы быть первым. Для принятия любого грамотного управленческого реше-ния в условиях неопределенности и риска необходимо постоянно держать под кон-тролем различные аспекты финансово-хозяйственной деятельности, будь то торгов-ля, производство или предоставление каких-либо услуг. Поэтому современный подход к управлению предполагает вложение средств в информационные технологии.
Теоретический раздел
Основной задачей данного курсового проекта является разработка базы данных и соответствующего приложения для автоматизации ведения кадрового учёта некоторого предприятия. Конечная цель этой задачи формирование таблицы анкетных данных. В программе используется много информации, и ее нужно где то хранить. Поэтому мы будем использовать базу данных. Очевидно, что первой задачей и является разработка базы данных для хранения всей необходимой информации. В зависимости от расположения программы, использующей данные, и самих данных, а также способа разделения данных между несколькими пользователями различают локальные (Paradox, dBase, FoxPro и Access) и удаленные (Interbase Sybase, Oracle и т.д.) базы данных. В данном случае мы будем создавать удалённую базу данных. Данные удалённой базы данных (файлы данных) находятся на одном удалённом устройстве, в качестве которого может выступать диск компьютера.
База данных -- это набор файлов (таблиц), в которых находится информация. Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника. Таблицу мы будем создавать, воспользовавшись утилитой IBConsole. Сначала при помощи этой утилиты мы создадим сами таблицы, а затем еще генераторы и триггеры. Генератор - это специальная функция InterBase, с помощью которой создается счетчик для поля базы данных. А триггер нужен для того, чтобы привязать генератор к нужной таблице и к нужному полю.
Таким образом, процесс создания базы данных может быть представлен как последовательность следующих шагов:
· создание каталога;
· создание таблиц;
· создание генераторов;
· создание триггеров.
Следующей задачей является разработка графического интерфейса пользователя клиентских приложений. Говоря понятным языком, данный программный продукт ориентирован на конечного пользователя (в нашем случае на преподавателя), не об-ладающего высокой квалификацией в области вычислительной техники. По-этому наше приложение должно обладать простым, удобным, легко осваиваемым интерфейсом, который предоставляет конечному пользователю все необходимые для работы функции и в то же вре-мя не дает ему возможность выполнять какие-либо лишние действия.
И последняя наша задача - это связать нашу программу с базой данных, и обеспечить возможность подключиться к удаленной базе данных по сети с любого компьютера.
Итак, чтобы перейти к конечной цели нашего курсового проекта надо разобраться со следующими задачами:
· разработка структуры таблиц базы данных;
· создание таблиц;
· создание генераторов и триггеров;
· связать программу с базой данных, находящейся на удалённом компьютере;
· разработка графического интерфейса пользователя клиентских приложений;
· обеспечить работоспособность программного продукта на любом компьютере.
В данной программе в качестве входной информации выступают данные в таблицу: Анкета. В этой таблице хранится фамилия, имя, отчество, пол, рост, вес, фото, дата рождения, адрес(страна), адрес(область), адрес(город), адрес(улица), адрес(квартира), адрес(индекс), адрес(телефон), место рождения(страна), место рождения(область), место рождения(город), гражданство, образование, номер страхового свидетельства, ИНН, серия трудовой книжки, номер трудовой книжки, номер паспорта, серия паспорта, выдан паспорт, дата выдачи паспорта.
Визуально ввод данных обеспечивается следующими компонентами:
· TRadioButton - визуальный компонент, позволяющий зафиксировать одно значение, из нескольких, принадлежащих к одной группе.
· TEdit - однострочный текстовый редактор, при помощи которого вводится нужная информация, например пароль и имя преподавателя.
· TDBEdit - компонент, имеющий такие же свойства как и TEdit, но с дополнительной возможностью связи с каким либо полем таблицы базы данных;
· TComboBox - визуальный компонент, позволяет выбрать одно значение из списка.
Выходной информацией являются отчёты, которые формируются программой из записей, содержащейся в базе данных.
Пример отчета
Данная блок-схема отображает структуру приложения, где Particulars.exe - это exe-файл программы, а DBCtrls, Grids, ExtCtrls и проч. - модули, используемые exe-файлом.
1.2.2 Схема и описание схемы алгоритма программы
Данная блок-схема отображает алгоритм добавления фотографии
Delphi - это греческий город, где жил дельфийский оракул. И этим именем был назван программный продукт с феноменальными характеристиками. Delphi - это потомок Turbo Pascal, который был выпущен для операционной системы CP/M в 1983 году. В феврале 1994 года Turbo Pascal был перенесён на операционную систему MS-DOS.
На раннем этапе развития компьютеров IBM PC, Turbo Pascal являлся одним из наиболее популярных языков разработки программного обеспечения - главным образом потому, что это был вполне серьезный компилятор, который, включая компилятор, редактор и все остальное, стоил всего $19.95 и работал на машине с 64 Kb оперативной памяти.
Под Windows - Turbo Pascal был перенесен фирмой Borland в 1990 году. А версия Borland Pascal 7.0, не считая Delphi, вышла в свет в 1992 году.
Разработка Delphi началась в 1993 году. После проведения beta-тестирования Delphi показали на "Software Development 95". И 14 февраля 1995 года официально объявили о ее продаже в США. В торговлю Delphi попала спустя 14 дней, 28 февраля 1995 года.
Итак, Delphi - это комбинация нескольких важнейших технологий:
· высокопроизводительный компилятор в машинный код.
Этот компилятор в настоящее время является одним их самых быстрых в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на С++ или ручного написания кода (хотя это возможно).
Еще до компиляции разработчик видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения;
· объектно-ориентированная модель компонент.
Основной упор этой модели в Delphi делается на максимальном «реиспользовании» кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует. Действительно, все в Delphi написано на нем же, поэтому разработчики имеют доступ к тем же объектам и инструментам, которые использовались для создания среды разработки. В результате нет никакой разницы между объектами, поставляемыми Borland или третьими фирмами, и объектами, которые вы можете создать;
· визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов;
· масштабируемые средства для построения баз данных.
Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL Link, поэтому доступ к СУБД Oracle, Sybase, Informix и InterBase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние SQL-сервера приложения в «офлайновом» режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dBase или Clipper) или .db (Paradox). Если же он будет использовать локальный InterBase for Windows 4.0 (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.
Вот она - масштабируемость на практике - одно и то же приложение можно использовать как для локального, так и для более серьезного клиент-серверного вариантов.
Данная информационно-справочная система разрабатывалась в операционной системе Windows XP Professional.
Windows XP базируется на Windows 2000, более старой, но мощной версией Windows, которую компания Microsoft создала для работы, главным образом, в больших сетях. По этой причине Windows XP работает намного стабильнее, чем Windows Me или Windows 98. Существует две версии Windows XP: Windows XP Home и Windows XP Professional. Windows XP Home поддерживает работу в сети, совместное использование модема и другие средства. Windows XP Professional предназначена для выполнения более сложных вычислений. Она поддерживает сложные средства обеспечения безопасности, групповые политики, перемещаемые профили пользователей, протокол безопасности Kerberos и многое другое. Windows XP Professional лучше работает на переносных компьютерах, чем Windows XP Ноmе, поскольку содержит лучшие средства управления питанием, а также лучше работает с беспроводными подключениями к Internet.
С точки зрения пользователя, база данных -- это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную.
С точки зрения программиста, база данных -- это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных.
В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.
В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от dBASE до Infomix и Oracle. Delphi также позволяет программисту создавать файлы баз данных в различных форматах, используя различные утилиты. В нашем случае база данных, используемая в программе, создана в системе InterBase, при помощи утилиты IBConsole.
База данных содержит 1 таблицу: ANKETA, описание полей которой приведено ниже.
Nom - поле, которое является ключевым в таблице «ANKETA». Это поле имеет тип данных как числовой - Smallint, и автоматически увеличивает своё значение. Этот тип данных как поле Autoincrement (+).
Fam - Поле предназначенное для хранения фамилии. Тип данных поля: Varchar. Максимально допустимый размер поля - 20 символ.
Name - Поле, предназначенное для хранения имени. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символ.
Otch - Поле, предназначенное для хранения отчества. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символ.
Pol - Поле, предназначенное для хранения информации о пола. Тип данных поля: Varchar. Максимально допустимый размер поля - 1 символов.
Rost - Поле, предназначенное для хранения информации о росте. Тип данных поля: Varchar. Максимально допустимый размер поля - 5 символов.
Ves - Поле, предназначенное для хранения информации о весе. Тип данных поля: Varchar. Максимально допустимый размер поля - 5 символов.
Foto - Поле, предназначенное для хранения фотографии. Тип данных поля: BLOB.
DR - Поле, предназначенное для хранения даты рождения. Тип данных поля: DATE.
Ard_str - Поле, предназначенное для хранения информации о стране. Тип данных поля: Varchar. Максимально допустимый размер поля - 25 символов.
Ard_obl - Поле, предназначенное для хранения информации об области. Тип данных поля: Varchar. Максимально допустимый размер поля - 25 символов.
Ard_gor - Поле, предназначенное для хранения информации о городе. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символов.
Ard_yl - Поле, предназначенное для хранения информации о улице. Тип данных поля: Varchar. Максимально допустимый размер поля - 20 символов.
Ard_dom - Поле, предназначенное для хранения информации о доме. Тип данных поля: Varchar. Максимально допустимый размер поля - 5 символов.
Ard_kv - Поле, предназначенное для хранения информации о квартире. Тип данных поля: Varchar. Максимально допустимый размер поля - 5 символов.
Ard_ind - Поле, предназначенное для хранения информации о индексе. Тип данных поля: Varchar. Максимально допустимый размер поля - 6 символов.
Ard_tel - Поле, предназначенное для хранения информации о телефоне. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символов.
Mroz_str - Поле, предназначенное для хранения информации о стране, месте рождения. Тип данных поля: Varchar. Максимально допустимый размер поля - 25 символов.
Mroz_obl - Поле, предназначенное для хранения информации об области, месте рождения. Тип данных поля: Varchar. Максимально допустимый размер поля - 25 символов.
Mroz_gor - Поле, предназначенное для хранения информации о городе, месте рождения. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символов.
Grazdan - Поле, предназначенное для хранения информации о гражданстве. Тип данных поля: Varchar. Максимально допустимый размер поля - 15 символов.
Obrazov - Поле, предназначенное для хранения информации об образовании. Тип данных поля: Varchar. Максимально допустимый размер поля - 30 символов.
Nom_strax_sved - Поле, предназначенное для хранения информации о номере страхового сведетельства. Тип данных поля: Varchar. Максимально допустимый размер поля - 13 символов.
INN - Поле, предназначенное для хранения информации о ИНН. Тип данных поля: Varchar. Максимально допустимый размер поля - 12 символов.
Tryd_kn_seriya - Поле, предназначенное для хранения информации о серии трудовой книжки. Тип данных поля: Varchar. Максимально допустимый размер поля - 6 символов.
Tryd_kn_nomer - Поле, предназначенное для хранения информации о номере трудовой книжки. Тип данных поля: Varchar. Максимально допустимый размер поля - 20 символов.
Paspost_nom - Поле, предназначенное для хранения информации о номере паспорта. Тип данных поля: Varchar. Максимально допустимый размер поля - 4 символов.
Paspost_ ser - Поле, предназначенное для хранения информации о серии паспорта. Тип данных поля: Varchar. Максимально допустимый размер поля - 6 символов.
Paspost_vidan - Поле, предназначенное для хранения информации о том кем паспорт был выдан. Тип данных поля: Varchar. Максимально допустимый размер поля - 50 символов.
Paspost_data - Поле, предназначенное для хранения информации о том когда паспорт был выдан. Тип данных поля: DATE.
2. Экспериментальный раздел
2.1. Описание процесса отладки
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Убедиться, что программа работает правильно можно только в процессе проверки ее работоспособности, который называется тестирование.
Обычно программа редко сразу начинает работать так, как надо, или работает правильно только на некотором ограниченном наборе исходных данных. Это свидетельствует о том, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой.
Delphi обладает мощнейшим, встроенным в редактор графическим отладчиком, позволяющим находить и устранять ошибки в коде. Мы можем установить точки остановки, проверить и изменить переменные, при помощи пошагового выполнения в точности понять поведение программы.
В процессе отладки программы я столкнулся с ошибкой. Эта ошибка возникла, когда программой не была найдена база данных.
Исправил я эту ошибку, создав папку «BD» и поместил в неё базу «BD». Далее в свойстве DatabaseName компонента IBDatabase1 я написал следуюшее:
BDBD.gdb
Программа автоматически определяет свое место положения и сообщает компоненту IBDatabase путь до базы данных.
Разработанный программный продукт представляет собой программу, которая формирует базу данных и соответствующее приложение для автоматизации ведения кадрового учёта некоторого предприятия.
При запуске программы появляется окошко, содержащее компоненты визуализирующие содержимое базы данных, кнопки, с помощью которых можно добавлять, изменять, удалять записи в базе данных.
Окно о программе
Для работы в данной программе вам не потребуются большие навыки работы с Windows-приложениями. Сам интерфейс программы прост и ясен.
Для начала работы необходимо в корневой директории диска открыть папку «Анкетные данные», в которой находиться программа и запустить файл Анкетные данные.exe. При запуске программы на экране появиться главное окно в котором вы можите просмотреть все личные данные. При нажатии на кнопку «Поиск» можно произвести поиск по трем полям: фамилия, пол, ИНН. При нажатии на кнопку «Сортировка» можно провести сортировку по полям указанным в программе.
При нажатии на вкладку «Редактировать» возникает окошко с данными той записи, на которой стоит указатель. Здесь можно изменить информацию любую информацию, имеющуюся в базе данных.
При нажатии на кнопку «Фильтрация» можно включить или выключить фильтр. Фильтрация происходит по всем полям базы данных.
При выборе вкладки «Добавление записи» можно добавить в базу свои анкетные данные предварительно заполнив все поля после чего нажимаем на кнопку «Добавить» поля добавляются. Также можно добавить свою фотографию нажав на кнопку «Добавить фото» и прописать путь к своей фотографии.
При нажатии на вкладку «Редактирование записей» возникает окошко с данными той записи, на которой стоит указатель. Здесь можно изменить информацию любую информацию, имеющуюся в базе данных.
Чтобы вывести распечатать анкетные данные в главном окне выбираем нужное поле нажимаем кнопку «Отчет» и распечатываем.
При нажатии на кнопку «О программе» на панели сверху, возникает окно с информацией о разработчике данного программного продукта.
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development -- среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий.
Программный продукт, разработанный в рамках данного курсового проекта, предназначается для проектирования баз данных и соответствующего приложение для автоматизации ведения кадрового учёта некоторого предприятия.
Программа имеет возможности фильтровать записи, осуществлять поиск необходимой записи, печатать записи, содержащиеся в базе.
1. Бобровский С.И. Delphi7. Учебный курс.- СПб.: Питер.2004.
2. Избачков Ю. С., Петров В. Н. Информационные системы: Учебник. - СПб.: Питер, 2005.
3. Волков Ю.С., Петров В.Н. Информационные системы. - СПб.: Питер. 2005.
4. Рудаков А. В. Технология разработки программных продуктов: Учеб. пособие. - М.: Издательский центр «Академия», 2005.
5. Стандартная документация Delphi.
Приложение
Основной модуль приложения
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};
{$R *.res}
begin
Application.Initialize;
Application.Title := Aieaoiua aaiiua;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TDataModule2, DataModule2);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm5, Form5);
Application.Run;
end.
Модуль хранения невизуальных компонентов
unit Unit2;
interface
uses
SysUtils, Classes, IBDatabase, DB;
type
TDataModule2 = class(TDataModule)
IBDatabase1: TIBDatabase;
IBTransaction1: TIBTransaction;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule2: TDataModule2;
implementation
{$R *.dfm}
end.
Модуль основной формы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, IBCustomDataSet, IBTable, ExtCtrls,
StdCtrls, Mask, DBCtrls, XPMan, Menus, IBQuery, ComCtrls, ExtDlgs;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
XPManifest1: TXPManifest;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
IBQuery1: TIBQuery;
IBQuery2: TIBQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
GroupBox4: TGroupBox;
Label19: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Edit18: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
GroupBox5: TGroupBox;
Label24: TLabel;
Label25: TLabel;
Edit23: TEdit;
Edit24: TEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit15: TEdit;
Edit14: TEdit;
GroupBox3: TGroupBox;
Label17: TLabel;
Label18: TLabel;
Label20: TLabel;
Edit16: TEdit;
Edit17: TEdit;
Edit19: TEdit;
GroupBox6: TGroupBox;
Label28: TLabel;
Label29: TLabel;
Edit27: TEdit;
Edit28: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label26: TLabel;
Label27: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Button1: TButton;
Button3: TButton;
TabSheet3: TTabSheet;
IBQuery1NOM: TSmallintField;
IBQuery1FAM: TIBStringField;
IBQuery1NAME: TIBStringField;
IBQuery1OTCH: TIBStringField;
IBQuery1POL: TIBStringField;
IBQuery1ROST: TIBStringField;
IBQuery1VES: TIBStringField;
IBQuery1FOTO: TBlobField;
IBQuery1DR: TDateField;
IBQuery1ADR_STR: TIBStringField;
IBQuery1ADR_OBL: TIBStringField;
IBQuery1ADR_GOR: TIBStringField;
IBQuery1ADR_YL: TIBStringField;
IBQuery1ADR_DOM: TIBStringField;
IBQuery1ADR_KV: TIBStringField;
IBQuery1ADR_IND: TIBStringField;
IBQuery1ADR_TEL: TIBStringField;
IBQuery1MROZ_STR: TIBStringField;
IBQuery1MROZ_OBL: TIBStringField;
IBQuery1MROZ_GOR: TIBStringField;
IBQuery1GRAZDAN: TIBStringField;
IBQuery1OBRAZOV: TIBStringField;
IBQuery1NOM_STRAX_SVED: TIBStringField;
IBQuery1INN: TIBStringField;
IBQuery1TRYD_KN_SERIYA: TIBStringField;
IBQuery1TRYD_KN_NOMER: TIBStringField;
IBQuery1PASPOST_NOM: TIBStringField;
IBQuery1PASPOST_SER: TIBStringField;
IBQuery1PASPOST_VIDAN: TIBStringField;
IBQuery1PASPOST_DATA: TDateField;
GroupBox8: TGroupBox;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Label39: TLabel;
GroupBox9: TGroupBox;
Label40: TLabel;
Label41: TLabel;
GroupBox10: TGroupBox;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
GroupBox11: TGroupBox;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
GroupBox12: TGroupBox;
Label53: TLabel;
Label54: TLabel;
Label55: TLabel;
Label56: TLabel;
GroupBox13: TGroupBox;
Label57: TLabel;
Label58: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
DBEdit22: TDBEdit;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
GroupBox7: TGroupBox;
ComboBox1: TComboBox;
Edit500: TEdit;
Button2: TButton;
DBNavigator3: TDBNavigator;
IBQueryFoto: TIBQuery;
OpenPictureDialog1: TOpenPictureDialog;
DBImage2: TDBImage;
DBImage1: TDBImage;
GroupBox14: TGroupBox;
Label59: TLabel;
Label60: TLabel;
Label61: TLabel;
Label62: TLabel;
Label63: TLabel;
Label64: TLabel;
Label65: TLabel;
Label66: TLabel;
Label67: TLabel;
Label68: TLabel;
Edit29: TEdit;
Edit30: TEdit;
Edit31: TEdit;
Edit32: TEdit;
Edit33: TEdit;
Edit34: TEdit;
Edit35: TEdit;
Edit36: TEdit;
Edit37: TEdit;
GroupBox15: TGroupBox;
Label69: TLabel;
Label70: TLabel;
Edit38: TEdit;
Edit39: TEdit;
GroupBox16: TGroupBox;
Label71: TLabel;
Label72: TLabel;
Label73: TLabel;
Edit40: TEdit;
Edit41: TEdit;
Edit42: TEdit;
GroupBox17: TGroupBox;
Label74: TLabel;
Label75: TLabel;
Label76: TLabel;
Label77: TLabel;
Label78: TLabel;
Label79: TLabel;
Label80: TLabel;
Label81: TLabel;
Edit43: TEdit;
Edit44: TEdit;
Edit45: TEdit;
Edit46: TEdit;
Edit47: TEdit;
Edit48: TEdit;
Edit49: TEdit;
Edit50: TEdit;
GroupBox18: TGroupBox;
Label82: TLabel;
Label83: TLabel;
Edit51: TEdit;
Edit52: TEdit;
GroupBox19: TGroupBox;
Label84: TLabel;
Label85: TLabel;
Label86: TLabel;
Label87: TLabel;
Edit53: TEdit;
Edit54: TEdit;
Edit55: TEdit;
Edit56: TEdit;
Button4: TButton;
IBQuery3: TIBQuery;
DBImage3: TDBImage;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
Button5: TButton;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
IBQuery4: TIBQuery;
N18: TMenuItem;
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure IBQuery1AfterScroll(DataSet: TDataSet);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N18Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.FormDestroy(Sender: TObject);
begin
IBQuery1.Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute Then
begin
DBImage2.Picture.LoadFromFile(OpenPictureDialog1.FileName);
IBQueryFoto.ParamByName(FOTO).LoadFromFile(OpenPictureDialog1.FileName,ftBlob);
IBQueryFoto.ParamByName(Nom).Value := IBQuery1.FieldByName(Nom).Value;
Try
IBQueryFoto.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage(Ошибка установки фотографии);
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
ShowMessage(Фотография установлена);
end;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s : String;
begin
case ComboBox1.ItemIndex of
0 : S := Fam;
1 : S := Pol;
2 : S := INN;
end;
IBQuery1.Locate(S, Edit500.Text,[loPartialKey]);
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form3.QuickRep1.Preview;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
IBQuery2.Params.ParamByName(Fam).Value:=Edit1.Text;
IBQuery2.Params.ParamByName(Name).Value:=Edit2.Text;
IBQuery2.Params.ParamByName(Otch).Value:=Edit3.Text;
IBQuery2.Params.ParamByName(Pol).Value:=Edit4.Text;
IBQuery2.Params.ParamByName(DR).Value:=Edit5.Text;
IBQuery2.Params.ParamByName(Ves).Value:=Edit6.Text;
IBQuery2.Params.ParamByName(Rost).Value:=Edit7.Text;
IBQuery2.Params.ParamByName(Adr_str).Value:=Edit8.Text;
IBQuery2.Params.ParamByName(Adr_obl).Value:=Edit9.Text;
IBQuery2.Params.ParamByName(Adr_gor).Value:=Edit10.Text;
IBQuery2.Params.ParamByName(Adr_yl).Value:=Edit11.Text;
IBQuery2.Params.ParamByName(Adr_dom).Value:=Edit12.Text;
IBQuery2.Params.ParamByName(Adr_kv).Value:=Edit13.Text;
IBQuery2.Params.ParamByName(Adr_ind).Value:=Edit14.Text;
IBQuery2.Params.ParamByName(Adr_tel).Value:=Edit15.Text;
IBQuery2.Params.ParamByName(Mroz_str).Value:=Edit16.Text;
IBQuery2.Params.ParamByName(Mroz_obl).Value:=Edit17.Text;
IBQuery2.Params.ParamByName(Paspost_nom).Value:=Edit18.Text;
IBQuery2.Params.ParamByName(Mroz_gor).Value:=Edit19.Text;
IBQuery2.Params.ParamByName(Paspost_ser).Value:=Edit20.Text;
IBQuery2.Params.ParamByName(Paspost_vidan).Value:=Edit21.Text;
IBQuery2.Params.ParamByName(Paspost_data).Value:=Edit22.Text;
IBQuery2.Params.ParamByName(Tryd_kn_seriya).Value:=Edit23.Text;
IBQuery2.Params.ParamByName(Tryd_kn_nomer).Value:=Edit24.Text;
IBQuery2.Params.ParamByName(Obrazov).Value:=Edit25.Text;
IBQuery2.Params.ParamByName(Grazdan).Value:=Edit26.Text;
IBQuery2.Params.ParamByName(Nom_strax_sved).Value:=Edit27.Text;
IBQuery2.Params.ParamByName(INN).Value:=Edit28.Text;
try
IBQuery2.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage(Невозможно передать запись);
Exit;
end;
DataModule2.IBTransaction1.CommitRetaining;
ShowMessage(Запись добавлена);
IBQuery1.Close;
IBQuery1.Open;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if MessageDlg(Обновить анкетные данные?, mtConfirmation, [mbYes, mbNo],0)=mrYes then
begin
IBQuery4.Params.ParamByName(Nom).Value:=IBQuery1NOM.Value;
IBQuery4.Params.ParamByName(Fam).Value:=Edit29.Text;
IBQuery4.Params.ParamByName(Name).Value:=Edit30.Text;
IBQuery4.Params.ParamByName(Otch).Value:=Edit31.Text;
IBQuery4.Params.ParamByName(Pol).Value:=Edit33.Text;
IBQuery4.Params.ParamByName(DR).Value:=Edit32.Text;
IBQuery4.Params.ParamByName(Ves).Value:=Edit34.Text;
IBQuery4.Params.ParamByName(Rost).Value:=Edit35.Text;
IBQuery4.Params.ParamByName(Adr_str).Value:=Edit43.Text;
IBQuery4.Params.ParamByName(Adr_obl).Value:=Edit44.Text;
IBQuery4.Params.ParamByName(Adr_gor).Value:=Edit45.Text;
IBQuery4.Params.ParamByName(Adr_yl).Value:=Edit46.Text;
IBQuery4.Params.ParamByName(Adr_dom).Value:=Edit47.Text;
IBQuery4.Params.ParamByName(Adr_kv).Value:=Edit48.Text;
IBQuery4.Params.ParamByName(Adr_ind).Value:=Edit50.Text;
IBQuery4.Params.ParamByName(Adr_tel).Value:=Edit49.Text;
IBQuery4.Params.ParamByName(Mroz_str).Value:=Edit40.Text;
IBQuery4.Params.ParamByName(Mroz_obl).Value:=Edit41.Text;
IBQuery4.Params.ParamByName(Paspost_nom).Value:=Edit53.Text;
IBQuery4.Params.ParamByName(Mroz_gor).Value:=Edit42.Text;
IBQuery4.Params.ParamByName(Paspost_ser).Value:=Edit54.Text;
IBQuery4.Params.ParamByName(Paspost_vidan).Value:=Edit55.Text;
IBQuery4.Params.ParamByName(Paspost_data).Value:=Edit56.Text;
IBQuery4.Params.ParamByName(Tryd_kn_seriya).Value:=Edit51.Text;
IBQuery4.Params.ParamByName(Tryd_kn_nomer).Value:=Edit52.Text;
IBQuery4.Params.ParamByName(Obrazov).Value:=Edit36.Text;
IBQuery4.Params.ParamByName(Grazdan).Value:=Edit37.Text;
IBQuery4.Params.ParamByName(Nom_strax_sved).Value:=Edit38.Text;
IBQuery4.Params.ParamByName(INN).Value:=Edit39.Text;
try
IBQuery4.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage(Запись не добавлена);
exit;
end;
DataModule2.IBTransaction1.CommitRetaining;
ShowMessage(Запись обновлена);
IBQuery1.Close;
IBQuery1.Open;
end;
end;
procedure TForm1.IBQuery1AfterScroll(DataSet: TDataSet);
begin
if IBQuery1.FieldValues[Fam]<> null then
Edit29.Text:=IBQuery1.FieldValues[Fam];
if IBQuery1.FieldValues[Name]<> null then
Edit30.Text:=IBQuery1.FieldValues[Name];
if IBQuery1.FieldValues[Otch]<> null then
Edit31.Text:=IBQuery1.FieldValues[Otch];
if IBQuery1.FieldValues[Pol]<> null then
Edit33.Text:=IBQuery1.FieldValues[Pol];
if IBQuery1.FieldValues[DR]<> null then
Edit32.Text:=IBQuery1.FieldValues[DR];
if IBQuery1.FieldValues[Ves]<> null then
Edit34.Text:=IBQuery1.FieldValues[Ves];
if IBQuery1.FieldValues[Rost]<> null then
Edit35.Text:=IBQuery1.FieldValues[Rost];
if IBQuery1.FieldValues[Adr_str]<> null then
Edit43.Text:=IBQuery1.FieldValues[Adr_str];
if IBQuery1.FieldValues[Adr_obl]<> null then
Edit44.Text:=IBQuery1.FieldValues[Adr_obl];
if IBQuery1.FieldValues[Adr_gor]<> null then
Edit45.Text:=IBQuery1.FieldValues[Adr_gor];
if IBQuery1.FieldValues[Adr_yl]<> null then
Edit46.Text:=IBQuery1.FieldValues[Adr_yl];
if IBQuery1.FieldValues[Adr_dom]<> null then
Edit47.Text:=IBQuery1.FieldValues[Adr_dom];
if IBQuery1.FieldValues[Adr_kv]<> null then
Edit48.Text:=IBQuery1.FieldValues[Adr_kv];
if IBQuery1.FieldValues[Adr_ind]<> null then
Edit50.Text:=IBQuery1.FieldValues[Adr_ind];
if IBQuery1.FieldValues[Adr_tel]<> null then
Edit49.Text:=IBQuery1.FieldValues[Adr_tel];
if IBQuery1.FieldValues[Mroz_str]<> null then
Edit40.Text:=IBQuery1.FieldValues[Mroz_str];
if IBQuery1.FieldValues[Mroz_obl]<> null then
Edit41.Text:=IBQuery1.FieldValues[Mroz_obl];
if IBQuery1.FieldValues[Paspost_nom]<> null then
Edit53.Text:=IBQuery1.FieldValues[Paspost_nom];
if IBQuery1.FieldValues[Mroz_gor]<> null then
Edit42.Text:=IBQuery1.FieldValues[Mroz_gor];
if IBQuery1.FieldValues[Paspost_ser]<> null then
Edit54.Text:=IBQuery1.FieldValues[Paspost_ser];
if IBQuery1.FieldValues[Paspost_vidan]<> null then
Edit55.Text:=IBQuery1.FieldValues[Paspost_vidan];
if IBQuery1.FieldValues[Paspost_data]<> null then
Edit56.Text:=IBQuery1.FieldValues[Paspost_data];
if IBQuery1.FieldValues[Tryd_kn_seriya]<> null then
Edit51.Text:=IBQuery1.FieldValues[Tryd_kn_seriya];
if IBQuery1.FieldValues[Tryd_kn_nomer]<> null then
Edit52.Text:=IBQuery1.FieldValues[Tryd_kn_nomer];
if IBQuery1.FieldValues[Obrazov]<> null then
Edit36.Text:=IBQuery1.FieldValues[Obrazov];
if IBQuery1.FieldValues[Grazdan]<> null then
Edit37.Text:=IBQuery1.FieldValues[Grazdan];
if IBQuery1.FieldValues[Nom_strax_sved]<> null then
Edit38.Text:=IBQuery1.FieldValues[Nom_strax_sved];
if IBQuery1.FieldValues[INN]<> null then
Edit39.Text:=IBQuery1.FieldValues[INN];
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form4.Notebook1.PageIndex := 0;
Form4.GroupBox1.Caption := По фамилии: ;
Form4.ShowModal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form4.Notebook1.PageIndex := 1;
Form4.GroupBox1.Caption := По полу: ;
Form4.ShowModal;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form4.Notebook1.PageIndex := 2;
Form4.GroupBox1.Caption := По дате рождения: ;
Form4.ShowModal;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(select * from anketa order by fam);
IBQuery1.Open;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(select * from anketa order by dr);
IBQuery1.Open;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(select * from anketa order by rost);
IBQuery1.Open;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute Then
begin
DBImage3.Picture.LoadFromFile(OpenPictureDialog1.FileName);
IBQueryFoto.ParamByName(FOTO).LoadFromFile(OpenPictureDialog1.FileName,ftBlob);
IBQueryFoto.ParamByName(Nom).Value := IBQuery1.FieldByName(Nom).Value;
Try
IBQueryFoto.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
ShowMessage(Ошибка установки фотографии);
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
ShowMessage(Фотография установлена);
end;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 1;
end;
procedure TForm1.N14Click(Sender: TObject);
begin
PageControl1.ActivePageIndex := 2;
end;
procedure TForm1.N15Click(Sender: TObject);
begin
if MessageBox(Handle,Вы действительно хотите удалить запись?,Подтверждение удаления, MB_YESNO or MB_ICONWARNING)=mrYes then
begin
IBQuery3.ParamByName(NOM).Value := IBQuery1.FieldByName(NOM).Value;
Try
IBQuery3.ExecSQL;
Except
DataModule2.IBTransaction1.RollbackRetaining;
MessageBox(Handle,Невозможно удалить запись.,Ошибка удаления записи, MB_OK or MB_ICONERROR);
Exit;
End;
DataModule2.IBTransaction1.CommitRetaining;
IBQuery1.Close;
IBQuery1.Open;
MessageBox(Handle,Запись удалина.,Событие, MB_OK or MB_ICONINFORMATION);
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
IBQuery1.Open;
end;
procedure TForm1.N16Click(Sender: TObject);
begin
Form5.ShowModal;
end;
procedure TForm1.N18Click(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(SELECT * FROM ANKETA);
IBQuery1.Open;
end;
end.
Модуль формы с фильтрацией
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm4 = class(TForm)
GroupBox1: TGroupBox;
Notebook1: TNotebook;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button4: TButton;
Button5: TButton;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Button6: TButton;
Button7: TButton;
Button8: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1, Unit2, Unit3;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA WHERE Fam=+#39+Edit1.text+#39);
Form1.IBQuery1.Open;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA);
Form1.IBQuery1.Open;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
Edit1.Text:=;
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA);
Form1.IBQuery1.Open;
end;
procedure TForm4.Button4Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
if RadioButton1.Checked=true then
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA WHERE POL=+#39+М+#39);
if RadioButton2.Checked=true then
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA WHERE POL=+#39+Ж+#39);
Form1.IBQuery1.Open;
end;
procedure TForm4.Button6Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA WHERE(DR>=+#39+Edit2.text+#39+) and (DR<=+#39+Edit3.text+#39+) );
Form1.IBQuery1.Open;
end;
procedure TForm4.Button8Click(Sender: TObject);
begin
Edit2.Text:=;
Edit3.Text:=;
end;
procedure TForm4.Button7Click(Sender: TObject);
begin
Form1.IBQuery1.Close;
form1.IBQuery1.SQL.Clear;
Form1.IBQuery1.SQL.Add(SELECT * FROM ANKETA);
Form1.IBQuery1.Open;
end;
end.
! | Как писать дипломную работу Инструкция и советы по написанию качественной дипломной работы. |
! | Структура дипломной работы Сколько глав должно быть в работе, что должен содержать каждый из разделов. |
! | Оформление дипломных работ Требования к оформлению дипломных работ по ГОСТ. Основные методические указания. |
! | Источники для написания Что можно использовать в качестве источника для дипломной работы, а от чего лучше отказаться. |
! | Скачивание бесплатных работ Подводные камни и проблемы возникающие при сдаче бесплатно скачанной и не переработанной работы. |
! | Особенности дипломных проектов Чем отличается дипломный проект от дипломной работы. Описание особенностей. |
→ | по экономике Для студентов экономических специальностей. |
→ | по праву Для студентов юридических специальностей. |
→ | по педагогике Для студентов педагогических специальностей. |
→ | по психологии Для студентов специальностей связанных с психологией. |
→ | технических дипломов Для студентов технических специальностей. |
→ | выпускная работа бакалавра Требование к выпускной работе бакалавра. Как правило сдается на 4 курсе института. |
→ | магистерская диссертация Требования к магистерским диссертациям. Как правило сдается на 5,6 курсе обучения. |
Дипломная работа | Формирование устных вычислительных навыков пятиклассников при изучении темы "Десятичные дроби" |
Дипломная работа | Технологии работы социального педагога с многодетной семьей |
Дипломная работа | Человеко-машинный интерфейс, разработка эргономичного интерфейса |
Дипломная работа | Организация туристско-экскурсионной деятельности на т/к "Русский стиль" Солонешенского района Алтайского края |
Дипломная работа | Разработка мероприятий по повышению эффективности коммерческой деятельности предприятия |
Дипломная работа | Совершенствование системы аттестации персонала предприятия на примере офиса продаж ОАО "МТС" |
Дипломная работа | Разработка системы менеджмента качества на предприятии |
Дипломная работа | Организация учета и контроля на предприятиях жилищно-коммунального хозяйства |
Дипломная работа | ЭКСПРЕСС-АНАЛИЗ ФИНАНСОВОГО СОСТОЯНИЯ ООО «АКТ «ФАРТОВ» |
Дипломная работа | Психическая коммуникация |
Дипломная работа | Кредитоспособность заемщика и методы ее определения |
Дипломная работа | Право собственности |
Дипломная работа | Социальная работа с малоимущими |
Дипломная работа | Управление мотивацией персонала |
Дипломная работа | Антикоррозийная обработка |
Дипломная работа | Учет расчетов с дебиторами и кредиторами 3 |
Дипломная работа | Личностно-ориентированный подход как важное условие эффективности процесса обучения |
Дипломная работа | Самооценка деятельности ОАО "Ковылкинский электромеханический завод" |
Дипломная работа | Вирусные гепатиты |
Дипломная работа | Анализ теоретического аспекта системы обязательного пенсионного страхования России |
Дипломная работа | Особенности кредитования в Сбербанке |
Дипломная работа | Банковские пластиковые карты |
Дипломная работа | Бухгалтерский учет и аудит основных средств |
Дипломная работа | Интернет |
Дипломная работа | Аналіз та аудит фінансового стану |