Помощь в написании студенческих работ
Антистрессовый сервис

Разработка системы автоматизации логистических операций на примере ООО «Русат»

Дипломная Купить готовую Узнать стоимостьмоей работы

Чел/дн) Расчетные величины Ai Mi Bi Ti Di 1. Разработка и утверждение ТЗ 2 3 4 3 0,67 2. Анализ процессов предметной области 4 5 6 5 0,4 3. Проектирование концептуальной модели системы 5 6 7 6 0,33 4. Проектирование структур данных 5 7 8 7 0,43 5. Разработка пользовательского интерфейса 5 7 8 7 0,43 6. Разработка спецификаций алгоритмов 4 5 7 5 0,6 7. Отладка и тестирование 10 15 20 15 0,33 8… Читать ещё >

Разработка системы автоматизации логистических операций на примере ООО «Русат» (реферат, курсовая, диплом, контрольная)

Содержание

  • Автоматизация логистических операций на примере «ООО Русат»
  • 1. Аналитическая часть
    • 1. 1. Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности «КАК ЕСТЬ»
      • 1. 1. 1. Характеристика предприятия и его деятельности
      • 1. 1. 2. Организационная структура управления предприятием
      • 1. 1. 3. Программная и техническая архитектура ИС на предприятии и используемых функциональных возможностей. Обеспечения информационной безопасности
      • 1. 1. 4. Структурно-функциональная диаграмма организации деятельности «КАК ЕСТЬ»
    • 1. 2. Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
      • 1. 2. 1. Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
      • 1. 2. 2. Определение места проектируемой задачи в комплексе задач
      • 1. 2. 3. Сущность задачи и предметная технология её решения
      • 1. 2. 4. Обоснования необходимости использования вычислительной техники для решения задачи
      • 1. 2. 5. Описание свойств ИС, требуемых для решения выбранной задачи
    • 1. 3. Анализ существующих разработок и выбор стратегии автоматизации «КАК ДОЛЖНО БЫТЬ»
      • 1. 3. 1. Анализ существующих разработок для автоматизации задачи
      • 1. 3. 2. Выбор и обоснование стратегии автоматизации задачи
      • 1. 3. 3. Выбор и обоснование способа приобретения ИС для автоматизации задачи
    • 1. 4. Развёрнутая постановка целей, задачи и подзадач автоматизации
      • 1. 4. 1. Трансформация базовой технологии решения задачи
      • 1. 4. 2. Цели и назначение автоматизированного варианта решения задачи
      • 1. 4. 3. Подзадачи автоматизации и функциональная информационная технология их решения
      • 1. 4. 4. Формализация расчётов показателей
    • 1. 5. Обоснование проектных решений
      • 1. 5. 1. Обоснование проектных решений по техническому обеспечению
      • 1. 5. 2. Обоснование проектных решений по информационному обеспечению
      • 1. 5. 3. Обоснование проектных решений по программному обеспечению
      • 1. 5. 4. Обоснование проектных решений по технологическому обеспечению
  • 2. Проектная часть
    • 2. 1. Разработка проекта автоматизации: информационный менеджмент
      • 2. 1. 1. Этапы жизненного цикла проекта автоматизации
      • 2. 1. 2. Разработка и описание проекта автоматизации, плана-графика автоматизации и сетевой модели задач
      • 2. 1. 3. Характеристика архитектуры разрабатываемого проекта
      • 2. 1. 4. Характеристика этапа внедрения разрабатываемого проекта
      • 2. 1. 5. Характеристика этапа эксплуатации разрабатываемого проекта и возможных работ
      • 2. 1. 6. Ожидаемые риски на этапах жизненного цикла и их описание
    • 2. 2. Информационное обеспечение задачи
      • 2. 2. 1. Информационная модель и её описание
      • 2. 2. 2. Используемые классификаторы и системы кодирования
      • 2. 2. 3. Характеристика нормативно-справочной, входной и оперативной информации
      • 2. 2. 4. Характеристика результатной информации
      • 2. 2. 5. Формализация расчётов показателей
    • 2. 3. Программное обеспечение задачи
      • 2. 3. 1. Общие положения
      • 2. 3. 2. Характеристика базы данных
      • 2. 3. 3. Структурная схема системы
      • 2. 3. 4. Описание программных модулей
    • 2. 4. Технологическое обеспечение задачи
      • 2. 4. 1. Организация технологии сбора, передачи, обработки и выдачи информации
      • 2. 4. 2. Потоки данных
      • 2. 4. 3. Построение инфологической модели данных
      • 2. 4. 4. Построение реляционой модели данных
    • 2. 5. Выбор программного обеспечения
    • 2. 6. Основные принципы работы программы
    • 2. 7. Интерфейс программы
  • 3. Расчет экономических показателей
    • 3. 1. Резюме
    • 3. 2. Анализ положения дел в отрасли
    • 3. 3. Описание продукта
      • 3. 3. 1. Назначение
      • 3. 3. 2. Описание структуры программы
      • 3. 3. 3. Техническая и научная новизна разработки
      • 3. 3. 4. Сравнение с техническими характеристиками аналогов
      • 3. 3. 5. Сервис и гарантии
    • 3. 4. План маркетинга
      • 3. 4. 1. Анализ рынка
      • 3. 4. 2. Стратегия реализации
      • 3. 4. 3. Организация рекламы
    • 3. 5. Расчет трудоемкости
    • 3. 6. Расчет себестоимости разрабатываемой системы
    • 3. 7. Расчет себестоимости
    • 3. 8. Финансовый план
  • Заключение
  • Список литературы
  • Приложение 1. Код, используемый для входа в программу
  • Приложение 2. Дамп базы данных
  • Приложение 3. Код программы

Рис. 3.1 Основные сложности, с которыми сталкиваются потребители

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

Человеческий фактор

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

Качество данных

Удивительно, но сложности с данными не зависят от величины организации или ее месторасположения. Даже большие объемы данных не являются значимым фактором — так, респонденты, использующие небольшие приложения, выделяли объем данных в качестве проблемы не реже, чем те, кто обрабатывает самые большие объемы данных. Автор отчета приходит к выводу, что причина кроется не в программных продуктах, а в том, как они используются.

Производительность запросов

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

3.

3.5 Сервис и гарантии

Гарантийное обслуживание закреплено за разработчиком и создателем системы.

3.4 План маркетинга

3.

4.1 Анализ рынка

Разрабатываемый программный продукт является товаром.

Цена должна способствовать повышению конкурентоспособности программной системы.

Потенциальными потребителями будут являться:

— различные торговые компании, в которых предусмотрен учет клиентов

3.

4.2 Стратегия реализации

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

Таблица 3.

1. Стратегии продвижения Элементы стратегии Действия Льготы и скидки Предоставление скидок Рекламная деятельность Организация рассылки рекламных сообщений потенциальным потребителям Консультация пользователей — «Горячая линия»

— Рассылка по электронной почте

3.

4.3 Организация рекламы

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

3.5 Расчет трудоемкости

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

Т = То + Ти + Та + Тп + Тт + Тд + Тв, (1)

где-То — затраты труда на подготовку описания задачи;

Ти — затраты труда на изучение описания задачи;

Та — затраты труда на разработку проектной спецификации;

Тп — затраты труда на программирование по готовой спецификации;

Тт — затраты труда на отладку программы;

Тд — затраты труда на подготовку документации по задаче;

Тв — затраты труда, связанные с внедрением системы и обучением пользователей.

Составляющие затрат труда определяются через условное число команд (операторов) в разрабатываемой программе. Условное число команд Q определяется по формуле:

Q = q * c * (1 + p), (2)

где q — предполагаемое число команд;

с — коэффициент сложности программы;

p — коэффициент коррекции программы в ходе ее разработки.

В данной работе: q = 1000; c = 2.0; p = 1

Q = 1000 * 2.0 * (1 + 1) = 4000.

Далее перейдем к расчету составляющих формулы (1):

Затраты труда То на подготовку описания задачи не учитываются.

Затраты труда Ти с учетом уточнения описания задачи и квалификации программиста определяются по формуле:

(3)

где B — коэффициент увеличения затрат труда вследствие недостаточного или неточного описания задачи; k — коэффициент квалификации разработчика.

B = 1.8; k = 1;

Ти = 4000 * 1.8 / (80 * 1) = 90 (чел / ч) = 11.25 (чел / дн).

Затраты труда на разработку проектной спецификации рассчитываются по формуле:

(4)

Та = 4000 / 25 = 160 (чел / ч) = 20 (чел / дн) Затраты труда на программирование Тп вычисляют по формуле:

(5)

Тп = 4000 / 22 = 181.

82 (чел / ч) = 22.73 (чел / дн).

Затраты труда на отладку программы определяются по формуле:

(6)

Тт = 4000 / 5 = 800 (чел / ч) = 100 (чел / дн).

Затраты труда на подготовку документации определяется как сумма затрат труда на подготовку материала Тдр и затрат труда на редактирование, печать и оформление документации Тдо:

(7)

Tдр = 4000 / 40 = 100 (чел / ч) = 12.5 (чел / дн),

Тдо = 0.75 * Тдр = 75 (чел / ч) = 9.38 (чел / дн),

Тд = Тдр + Тдо = 175 (чел / ч) = 21.88 (чел / дн).

Затраты труда связанные с внедрением системы и обучением пользователей определяются по формуле:

(8)

Tв = 4000 / 40 = 100 (чел / ч) = 12.5 (чел / дн).

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

Т = 20 + 90 + 160 + 181.

82 + 800 + 175 + 100 = 1526.

82 (чел / ч) (191 (чел / дн).

Теперь перейдем к составлению перечня работ В табл. 3.

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

Перечень работ, выполняемых в процессе разработки программного обеспечения Таблица 3.

1.1

Этап разработки Оценка трудоемкости,

(чел/дн) Расчетные величины Ai Mi Bi Ti Di 1. Разработка и утверждение ТЗ 2 3 4 3 0,67 2. Анализ процессов предметной области 4 5 6 5 0,4 3. Проектирование концептуальной модели системы 5 6 7 6 0,33 4. Проектирование структур данных 5 7 8 7 0,43 5. Разработка пользовательского интерфейса 5 7 8 7 0,43 6. Разработка спецификаций алгоритмов 4 5 7 5 0,6 7. Отладка и тестирование 10 15 20 15 0,33 8. Разработка проектной документации 4 5 6 5 0,4 9. Внедрение и обучение 7 8 9 8 0,25 Итого 46 61 75 61 3,84

Работы распределяются по этапам и должностям исполнителей. Поскольку трудоемкость выполнения работ носит вероятностный характер, так как она зависит от многих трудно учитываемых факторов, применяются методы оценки минимально возможной трудоемкости работ Ai, максимально возможной Bi и наиболее вероятной трудоемкости отдельных видов работ Mi. По этим величинам оценивается ожидаемое значение трудоемкости Тi и их дисперсий Di по следующим формулам:

Ti = (Ai + 4 * Mi + Bi) / 6, (9),

Di = (Bi — Ai) / Ti (10).

Дисперсия характеризует степень неопределенности выполнения работы за ожидаемое время Тi. Если разброс между Ai и Bi мал, то степень достоверности выполнения работы точно в срок велика.

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

3.1.

1.

Работы 1−2 относятся к подготовительному этапу; работы 3−4 — этап проектирования; работы 5−7 — этап программирования и отладки; работы 8−9 — заключительный этап. Календарный график распределения работ для одного программиста приведен в табл. 3.

1.2.

Календарный график распределения работ Таблица 3.

1.2

Э Этапы Трудоемкость, Время (недели) Чел./дн 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Подготовитель-ный 6 Проектирова-ние 10 Программирование и отладка 19 Заключитель-ный 11

3.6 Расчет себестоимости разрабатываемой системы

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

Расчет себестоимости одного часа машинного времени Для создания системы используется комплекс вспомогательных программно-аппаратных средств (см табл. 3.

2.1). При расчёте стоимости машинного часа необходимо учитывать затраты на аренду техники и инструментального программного обеспечения.

Перечень основных показателей для расчёта себестоимости Таблица 3.

2.1

Наименование Обозначение Стоимость, Руб. Кол-во Балансовая стоимость компьютера iP4 2000Mhz/RAM512/HDD80GB ФбПК 15 000 1 Балансовая стоимость принтера Xerox 3150

ФбПР 10 000 1 Стоимость ОС XP ФбПО3 4000 1 Средняя заработная плата:

Инженер-программист, специалист 1 категории Ф1ср

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

а) материалы;

б) оборудование для научных работ;

в) основная заработная плата;

г) дополнительная заработная плата;

д) отчисления на социальное страхование и прочие прямые расходы.

В качестве материалов используются бумага для печати программной документации на принтере и сменный картридж. В качестве технических средств ПК будем рассматривать дисплей, системный блок и принтер. Себестоимость часа работы ПК определяется по формуле См-ч = Sрм + Sээ + Sа+Sм, (11)

где Sрм — затраты на ремонт, руб./ч;

Sээ — затраты на потребляемую энергию, руб./ч;

Sа — амортизация вычислительных средств, руб./ч;

Sм — материалы, руб./ч.

Материалы рассчитываются по формуле

Sm=/Фг, (12)

где miрасход i-го материала, ед.;

Ciцена (оптовая, розничная, договорная) материала i-го вида, руб.;

Фггодовой фонд времени работы ПК, ч;

n — количество видов материалов.

Затраты на ремонт аппаратуры и настройку ПО рассчитываются следующим образом:

Sрм= (Фпкб + Фпоб)*Рт/Фг, (13)

где Фггодовой фонд времени работы ПК, ч;

Фпкббалансовая стоимость ПК, руб.;

Фпоббалансовая стоимость ПО, руб.;

Рткоэффициент технического ремонта (Рт=0.01).

Затраты на электроэнергию от использования средств вычислительной техники:

Sээ = qj*Nj*Sквт.

ч., (14)

где qj-число j-ых технических средств ПК;

Nj — потребляемая мощность j-ых технических средств, кВт;

Sквт.

ч. — стоимость кВтч электроэнергии (0.20 руб.)

Амортизация вычислительных средств:

Sа = (ан/100)*(Фпкб + Фпоб)/Фг, (15)

где ангодовая норма амортизации ПК, % (ан=20%);

Фпкббалансовая стоимость ПК, руб.

Фпоббалансовая стоимость ПО, руб.;

По формуле (12) затраты на материалы составляют:

Sm = (12*60 + 1500)/2112 = 1.05 (руб.),

куда входит 12 упаковок бумаги по 250 листов по цене 60 руб., и один сменный картридж для принтера, стоимостью 1500 руб. Время жизни компьютеров и вспомогательного ПО полагаем равной пяти годам. Годовой фонд времени работы (в году 12 месяцев, в месяце 22 рабочих дня, в день работают 8 часов) :

Фг= 12*22*8 = 2112 (ч).

Балансовая стоимость аппаратуры будет состоять из стоимости одного ПК и одного принтера. Тогда затраты на ремонт аппаратуры по формуле (13) составят:

Sрм = (15 000 + 4000 +10 000)*0.01/2112= 0,14 (руб./ч).

Затраты на электроэнергию, потребляемую компьютером и принтером рассчитываем по формуле (14):

Sээ = (0.200*1*0.20 + 0.050*1*0.20) = 0.05 (руб./ч)

Амортизация вычислительных средств:

Sа = 20/100 * (15 000 + 4000+ 10 000) /2112 = 2,74 (руб./ч),

Итак, по формуле (11), имеем стоимость одного машинного часа аппаратно-программного комплекса:

См-ч = 1.05 + 0.14 + 2.74 + 0.05 = 3.98 (руб./ч).

3.7 Расчет себестоимости В сметную стоимость разработки включаются все затраты, связанные с ее выполнением, независимо от источника финансирования. Определение затрат на разработку программного продукта производится путем составления калькуляции сметной стоимости. Исходные данные, необходимые для проведения расчета представлены в табл. 3.

2.1. Себестоимость программного продукта рассчитываем по формуле:

Спр = S*tан+(S+См-ч)*tотл + Снр, (15)

где Sсумма основной и дополнительной заработной платы разработчиков программы и начислений на социальное страхование, руб./ч;

tан — время, затрачиваемое разработчиками на этапе анализа и внедрения сайта без использования ПК, ч;

См-ч — себестоимость одного часа машинного времени, руб./ч;

tотл — время, затрачиваемое разработчиками на проектирование, программирование и отладку программы, время работы на компьютерах, ч;

Снр — накладные расходы, руб.

Сумму основной и дополнительной заработной платы разработчиков программы и начислений на социальное страхование рассчитаем по формуле:

S = Sзп+ Sсс, (16)

где Sзп — заработная плата, руб./ч;

Sссотчисления на социальное страхование, руб./ч.

Заработная плата вычисляется по формуле:

Sзп = (1/Фм) Lj*Фj*(1+Hд/100), (17)

где m — номенклатура профессий;

Ljколичество человек каждой j профессии (выше отмечалось, что в разработке принимают участие шесть человек);

Фммесячный фонд времени, ч;

Фjсреднемесячная заработная плата по должности, руб.;

Hдпроцент дополнительной заработной платы (Нд = 25%).

Отчисления на социальное страхование:

Sсс = Нсс*Sзп/100, (18)

где Нсспроцент отчисления на социальное страхование (Нсс=26,2%).

Накладные расходы определяются по формуле:

Sнр=(Ннр/100)*(Sо+Sээ+Sа) (19)

где Sнрнакладные расходы, руб./ч;

Ннрпроцент накладных расходов, Ннр=60%;

Sоосновная заработная плата.

Сумма основной и дополнительной заработной платы разработчиков программы и отчислений на социальное страхование:

Sзп = 10 000 * (1+25/100) / 176 = 71 (руб./ч)

Sсс = 26,2/100 *71= 18.6 (руб./ч)

S = 71+ 18.6 = 89.6 (руб./ч)

Накладные расходы определяются по формуле (20):

Sнр = (60/100)*(17.04 + 0.05 + 2.74)= 19.83 (руб./ч)

Себестоимость разработки программы определяется по формуле (21):

Спр = 89.6*(27+41)*8/6 + (89.6+3.98)*(70+457+69)*8/6 +19.83*664*8/6 = 100 044 (руб.)

Цена создания информационной системы с учетом 20%-ой прибыли будет составлять:

Сис = 100 044 * (1 + 20/100) = 120 053 (руб.)

Смета затрат на создание системы Таблица 3.3

Наименование Обозначение Сумма, руб. 1. Фонд оплаты труда Фо 103 935 1.

1. Основная заработная плата Сзп 82 488

Специалист 1-ой категории — 1чел. С1к 65 990 1.

2. Дополнительная заработная плата Сдоп 16 498 1.

3. Отчисления в фонд социального страхования Ссс 21 447 2. Накладные расходы Снр 15 386 3. Затраты на программно-техническое обеспечение Спто 732 3.

1. Амортизация вычислительных средств Са 504 3.

2. Затраты на ремонт и обслуживание Срм 26 3.

3. Затраты на электроэнергию Сээ 9 3.

4. Затраты на материалы См 193 Общая стоимость информационной системы Спр 120 053

3.8 Финансовый план При составлении финансового плана разрабатываемого интернет приложения необходимо произвести расчет чистой приведенной стоимости проекта (net present value — NPV), а также рассчитать бюджет проекта.

Бюджет проекта представлен в таблице 3.

4.

Бюджет проекта Таблица 3.4

Вид затрат Затраты по кварталам, руб. Всего, руб. 1 квартал 2 квартал 3 квартал Амортизация оборудования 254,3 254,3 254,3 504 Заработная плата 7500 7500 2700 38 500

Отчисления на социальные нужды 2900 2900 1200 1500

Эксплуатационные расходы 600 600 600 226 Накладные затраты 1900 1900 1200 3684

Итого 13 140 13 140 5740 44 414

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

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

Расчет NPV представлен в таблице 3.5

Прогноз потоков денежных средств Таблица 3.5

Показатели, р. Интервал планирования, год 0 1 2 3 4 Годовая экономическая эффективность 20 000 20 000 20 000 20 000

Инвестиционные затраты -44 414

Годовые эксплуатационные расходы -350 -350 -350 -350 Валовая прибыль 19 650 19 650 19 650 19 650

Налог на прибыль -4900 -4900 -4900 -4900

Чистая прибыль 14 750 14 750 14 750 14 750

Амортизация 700 700 700 700 Чистый поток денежных средств -44 414 15 450 15 450 15 450 15 450

Дисконтный множитель (при i = 0,1) 1 0,91 0,83 0,75 0, б8 Приведенный чистый поток денежных средств -44 414 12 194 11 122 10 050 9112

Чистая приведенная стоимость будущих потоков денежных средств NPV -44 414 -19 826 -8704 1346 10 458

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

Так как NPV по данному проекту больше нуля, то с финансовой точки зрения проект следует принять.

Заключение

Объектом исследования данного проекта является компания «Русат». Данная компания предоставляет услуги по аренде автомобилей различных классов и комплектаций частным лицам и корпоративным клиентам, а также услуги операционного лизинга.

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

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

Программа была разработана в среде Delphi седьмой версии. В качестве базы данных используется продукт MySQL.

Использование системы управления базами данных MySQL предполагает следующие конкурентные преимущества:

производительность (MySQL используют такие сервисы как Google и Yahoo)

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

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

масштабируемость (в реальном масштабе времени возможно использовать сотни и даже тысячи серверов MySQL)

надежность (возможность быстрого восстановления системы после сбоев) простота использования и внедрения (скачать и запустить систему можно в течении нескольких минут) открытая и модульная разработка низкие совокупные затраты (оплата производится только при необходимости поддержки или покупке сторонних продуктов) Выбор среды программирования Delphi дает следующие конкурентные преимущества перед другими:

Быстрота разработки приложения.

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

Hизкие требования разработанного приложения к ресурсам компьютера.

Hаращиваемость за счет встраивания новых компонент и инструментов в среду Delphi.

Возможность разработки новых компонент и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходниках) Удачная проработка иерархии объектов Доступность огромного количества визуальных компонентов различных фирм, часть из которых freeware, часть shareware, часть — коммерческие.

Программа позволяет просматривать производить различные операции с данными (хранение, просмотр, редактирование, удаление),

Программа представляет интерес для компаний, связанных с логистикой.

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

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

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

Список литературы

Архангельский А.Я. «Программирование в Delphi для Windows», Бином-Пресс, 2005 г.

Архангельский А.Я. «Программирование в Delphi. Учебник по классическим версиям Delphi «, Бином-Пресс, 2005 г.

Бакнелл Джулиан «Фундаментальные структуры данных и алгоритмы в Delphi», Питер 2006 г.

Голицина О.Л. «Базы данных», Инфра-М, 2007 г.

Горев А., Макашарипов С., «Эффективная работа с СУБД» СПб, «Питер», 1997 г.

Диго С.М. «Базы данных: проектирование и использование», Финансы и статистика, 2005 г.

Дунаев В.В. «Базы данных. Язык SQL», БХВ-Петербург, 2007 г.

Дюбуа П. «MySQL», Вильямс, 2007 г.

Дюбуа П. «MySQL. Сборник рецептов», Символ-Плюс, 2004 г.

Кадлец В. «Delphi. Книга рецептов. Практические примеры, трюки и секреты», Наука и техника, 2006 г.

Кириллов В.В. «Основы проектирования реляционных баз данных.» Учебное пособие. — СПб.: ИТМО, 1994.

Кузнецов С.Д. «Базы данных. Модели и языки», Бином-Пресс, 2008 г.

Малыхина М.П. «Базы данных. Основы, проектирование, использование», БХВ-Петербург, 2006 г.

Иарко Кэнту «Delphi для профессионалов», Питер, 2006 г.

Осипов Д. «Delphi. Профессиональное программирование», Символ-плюс, 2003 г.

Рудикова Л.В. «Базы данных. Разработка приложений», БХВ-Петербург, 2006 г.

Советов Б.Я. «Базы данных. Теория и практика», Высшая школа, 2005 г.

Фаронов В. «Delphi. Разработка приложений для баз данных и Интернета», Питер 2006 г.

Фаронов В. «Delphi. Язык, среда, разработка приложений», Питер 2006 г.

Фаронов В. «Delphi 2005

Переход с младших версий", Питер 2007 г.

Фрост Р. «Базы данных. Проектирование и разработка», НТ Пресс, 2007 г.

Фуфаев Э.В. «Базы данных», Академия, 2007 г.

Хомоненко А.Д. «Базы данных», Бином-Пресс, 2007 г.

Дюбуа П. «MySQL. Сборник рецептов», Символ-Плюс, 2004 г.

«MySQL. Руководство администратора», Вильямс, 2005 г.

«MySQL. Справочник по языку», Вильямс, 2005 г.

Хомоненко А., Гофман В., Мещеряков Е., Никифоров В. «Delphi 7» СПб, «БХВ-Петербург», 2005.

Хомоненко А. «Delphi 7. Наиболее полное руководство»

Материалы сайтов:

http://ru.wikipedia.org

http://mysql.org

Приложение 1. Код, используемый для входа в программу Код для входа в систему:

DM.Query1.SQL.Clear;

DM.Query1.SQL.Add ('SELECT * FROM `managers` WHERE `login`=' + '" ' + login. Text + '" ' + ' AND `password`=' + '" ' + pass. Text + '" ');

DM.Query1.Open;

if DM. Query1.RecordCount > 0 then

begin

Form_login.Close;

end

else ShowMessage (' Неправильный логин или пароль!');

Приложение 2. Дамп базы данных

— phpMyAdmin SQL Dump

— version 2.

6.1

http://www.phpmyadmin.net

-;

— Хост: localhost

— Время создания: Дек 24 2008 г., 09:40

— Версия сервера: 5.

0.51

— Версия PHP: 5.

2.5

-;

— БД: `ins`

-;

— ———————————————————————————-;

-;

— Структура таблицы `admins`

-;

CREATE TABLE IF NOT EXISTS `admins` (

`id` int (10) unsigned NOT NULL auto_increment,

`first_name` varchar (50) character set cp1251 default NULL,

`second_name` varchar (50) character set cp1251 default NULL,

`last_name` varchar (50) character set cp1251 default NULL,

`email` varchar (50) character set cp1251 default NULL,

`login` varchar (50) character set cp1251 default NULL,

`password` varchar (50) character set cp1251 default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

— ———————————————————————————-;

-;

— Структура таблицы `agents`

-;

CREATE TABLE IF NOT EXISTS `agents` (

`id` int (10) unsigned NOT NULL auto_increment,

`first_name` varchar (100) character set cp1251 default NULL,

`second_name` varchar (100) character set cp1251 default NULL,

`last_name` varchar (100) character set cp1251 default NULL,

`phone` varchar (50) character set cp1251 default NULL,

`birth` date NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

— ———————————————————————————-;

-;

— Структура таблицы `ins_types`

-;

CREATE TABLE IF NOT EXISTS `ins_types` (

`id` int (10) unsigned NOT NULL auto_increment,

`type` varchar (50) character set cp1251 default NULL,

`note` varchar (250) character set cp1251 collate cp1251_bin default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

— ———————————————————————————-;

-;

— Структура таблицы `managers`

-;

CREATE TABLE IF NOT EXISTS `managers` (

`id` int (10) unsigned NOT NULL auto_increment,

`first_name` varchar (50) character set cp1251 default NULL,

`second_name` varchar (50) character set cp1251 default NULL,

`last_name` varchar (50) character set cp1251 default NULL,

`email` varchar (50) character set cp1251 default NULL,

`login` varchar (50) character set cp1251 default NULL,

`password` varchar (50) character set cp1251 default NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

— ———————————————————————————-;

-;

— Структура таблицы `polices`

-;

CREATE TABLE IF NOT EXISTS `polices` (

`id` int (10) unsigned NOT NULL auto_increment,

`num` varchar (50) character set cp1251 default NULL,

`iduser` int (10) unsigned NOT NULL,

`idagent` int (10) unsigned NOT NULL,

`idtype` int (10) unsigned NOT NULL,

`date` date NOT NULL,

`date_begin` date NOT NULL,

`date_end` date NOT NULL,

`sum` double NOT NULL,

`note` varchar (250) character set cp1251 default NULL,

PRIMARY KEY (`id`),

KEY `iduser` (`iduser`),

KEY `idagent` (`idagent`),

KEY `idtype` (`idtype`)

) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

— ———————————————————————————-;

-;

— Структура таблицы `users`

-;

CREATE TABLE IF NOT EXISTS `users` (

`id` int (10) unsigned NOT NULL auto_increment,

`first_name` varchar (100) character set cp1251 default NULL,

`second_name` varchar (100) character set cp1251 default NULL,

`last_name` varchar (100) character set cp1251 default NULL,

`passport_ser` varchar (4) character set cp1251 default NULL,

`passport_num` varchar (6) character set cp1251 default NULL,

`address` varchar (200) character set cp1251 default NULL,

`email` varchar (100) character set cp1251 default NULL,

`phone1` varchar (50) character set cp1251 default NULL,

`phone2` varchar (50) character set cp1251 default NULL,

`phone3` varchar (50) character set cp1251 default NULL,

`birth` date NOT NULL,

`sex` tinyint (1) unsigned NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

Приложение 3. Код программы

Project1.dpr

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {FormMain},

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

Unit3 in 'Unit3.pas' {Form_login},

Unit4 in 'Unit4.pas' {Form_auto_type},

Unit5 in 'Unit5.pas' {Form_auto},

Unit6 in 'Unit6.pas' {Form_new_auto},

Unit7 in 'Unit7.pas' {Form_drivers},

Unit8 in 'Unit8.pas' {Form_zakaz};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm (TFormMain, FormMain);

Application.CreateForm (TDM, DM);

Application.CreateForm (TForm_login, Form_login);

Application.CreateForm (TForm_auto_type, Form_auto_type);

Application.CreateForm (TForm_auto, Form_auto);

Application.CreateForm (TForm_new_auto, Form_new_auto);

Application.CreateForm (TForm_drivers, Form_drivers);

Application.CreateForm (TForm_zakaz, Form_zakaz);

Application.Run;

end.

Unit1.pas

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Buttons, Menus, jpeg, ExtCtrls;

type

TFormMain = class (TForm)

BitBtn1: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

Image1: TImage;

Label1: TLabel;

procedure BitBtn1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N8Click (Sender: TObject);

procedure N4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormMain: TFormMain;

isLogged: boolean;

implementation

uses Unit3, Unit4, Unit5, Unit7, Unit8;

{$R *.dfm}

procedure TFormMain. BitBtn1Click (Sender: TObject);

begin

FormMain.Close;

end;

procedure TFormMain. FormShow (Sender: TObject);

begin

if isLogged = False then Form_login.ShowModal;

end;

procedure TFormMain. N2Click (Sender: TObject);

begin

FormMain.Close;

end;

procedure TFormMain. N5Click (Sender: TObject);

begin

Form_auto_type.ShowModal;

end;

procedure TFormMain. N6Click (Sender: TObject);

begin

Form_auto.ShowModal;

end;

procedure TFormMain. N7Click (Sender: TObject);

begin

Form_drivers.ShowModal;

end;

procedure TFormMain. N8Click (Sender: TObject);

begin

Form_zakaz.ShowModal;

end;

procedure TFormMain. N4Click (Sender: TObject);

begin

MessageDlg (' Логистические операции '#10#13#10#13' 2008 год ', mtInformation,[mbOk], 0);

end;

end.

Unit2.pas

unit Unit2;

interface

uses

SysUtils, Classes, DB, mySQLDbTables, Dialogs;

type

TDM = class (TDataModule)

DB: TmySQLDatabase;

Tab_auto_type: TmySQLTable;

Tab_auto: TmySQLTable;

Tab_drivers: TmySQLTable;

Query1: TmySQLQuery;

Tab_auto_typeid: TLargeintField;

Tab_auto_typetype: TStringField;

Tab_autoid: TLargeintField;

Tab_autoidtype: TLargeintField;

Tab_automodel: TStringField;

Tab_autotarif_km: TLargeintField;

Tab_autotarif_hour: TLargeintField;

Tab_driversid: TLargeintField;

Tab_driversfirst_name: TStringField;

Tab_driverslast_name: TStringField;

Tab_driverssecond_name: TStringField;

Tab_driversprava: TStringField;

Tab_zakaz: TmySQLTable;

Tab_zakazid: TLargeintField;

Tab_zakaznum: TStringField;

Tab_zakazdate: TDateField;

Tab_zakazdate_begin: TDateTimeField;

Tab_zakazdate_end: TDateTimeField;

Tab_zakazsum: TLargeintField;

DS_Query: TDataSource;

DS_auto_type: TDataSource;

DS_auto: TDataSource;

DS_drivers: TDataSource;

DS_zakaz: TDataSource;

Tab_autophoto1: TStringField;

Tab_autophoto2: TStringField;

Tab_autophoto3: TStringField;

Tab_zakazidauto: TStringField;

Tab_zakaziddriver: TStringField;

procedure DataModuleCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

isScroll: Boolean;

end;

var

DM: TDM;

implementation

uses Unit5;

{$R *.dfm}

procedure TDM. DataModuleCreate (Sender: TObject);

begin

try

DB.Connect;

Tab_auto_type.Open;

Tab_auto.Open;

Tab_drivers.Open;

Tab_zakaz.Open;

except

ShowMessage ('Ошибка при подключении к базе данных!');

end;

isScroll := False;

end;

end.

Unit3.pas

unit Unit3;

interface

uses

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

Dialogs, StdCtrls, Buttons, jpeg, ExtCtrls, Mask;

type

TForm_login = class (TForm)

login: TEdit;

Label1: TLabel;

Label2: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Image1: TImage;

pass: TMaskEdit;

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_login: TForm_login;

implementation

uses Unit2, Unit1;

{$R *.dfm}

procedure TForm_login.BitBtn1Click (Sender: TObject);

begin

DM.Query1.SQL.Clear;

DM.Query1.SQL.Add ('SELECT * FROM `managers` WHERE `login`=' + '" ' + login. Text + '" ' + ' AND `pass`=' + '" ' + pass. Text + '" ');

DM.Query1.Open;

if DM. Query1.RecordCount > 0 then

begin

Form_login.Close;

end

else ShowMessage (' Неправильный логин или пароль!');

end;

procedure TForm_login.BitBtn2Click (Sender: TObject);

begin

FormMain.Close;

end;

end.

Unit4.pas

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Buttons, dbcgrids, Mask, DBCtrls, ExtCtrls, jpeg;

type

TForm_auto_type = class (TForm)

BitBtn1: TBitBtn;

DBCtrlGrid1: TDBCtrlGrid;

Label1: TLabel;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Image1: TImage;

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_auto_type: TForm_auto_type;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm_auto_type.BitBtn1Click (Sender: TObject);

begin

Form_auto_type.Close;

end;

end.

Unit5.pas

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask, jpeg;

type

TForm_auto = class (TForm)

BitBtn1: TBitBtn;

auto_model: TDBEdit;

Label1: TLabel;

auto_type_id: TDBEdit;

Label2: TLabel;

auto_tarif_km: TDBEdit;

Label3: TLabel;

auto_tarif_hour: TDBEdit;

Label4: TLabel;

auto_photo1: TDBEdit;

auto_photo2: TDBEdit;

auto_photo3: TDBEdit;

Image1: TImage;

Image2: TImage;

Image3: TImage;

auto_type: TEdit;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

recnum: TLabel;

Label11: TLabel;

reccount: TLabel;

But_first: TBitBtn;

But_prev: TBitBtn;

But_next: TBitBtn;

But_last: TBitBtn;

But_add: TBitBtn;

But_del: TBitBtn;

Image4: TImage;

procedure BitBtn1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure But_firstClick (Sender: TObject);

procedure But_prevClick (Sender: TObject);

procedure But_nextClick (Sender: TObject);

procedure But_lastClick (Sender: TObject);

procedure But_delClick (Sender: TObject);

procedure But_addClick (Sender: TObject);

procedure myScroll ();

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_auto: TForm_auto;

implementation

uses Unit2, Unit6;

{$R *.dfm}

procedure TForm_auto.myScroll;

var sql: string;

begin

auto_type.Text := '';

Image1.Picture := nil;

Image2.Picture := nil;

Image3.Picture := nil;

if DM. Tab_auto.RecordCount >0 then

begin

//DM.Tab_auto.First;

recnum.Caption := IntToStr (DM.Tab_auto.RecNo);

reccount.Caption := IntToStr (DM.Tab_auto.RecordCount);

sql := 'SELECT type FROM auto_type WHERE id=' + auto_type_id.Text + ' LIMIT 1';

// showMessage (sql);

DM.Query1.SQL.Clear;

DM.Query1.SQL.Add (sql);

DM.Query1.Open;

if DM. Query1.RecordCount >0 then auto_type.Text := DM. Query1.Fields[0]. Value;

if auto_photo1.Text <> '' then

try

Image1.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo1.Text);

except

end;

if auto_photo2.Text <> '' then

try

Image2.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo2.Text);

except

end;

if auto_photo3.Text <> '' then

try

Image3.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo3.Text);

except

end;

end;

end;

procedure TForm_auto.BitBtn1Click (Sender: TObject);

begin

Form_auto.Close;

end;

procedure TForm_auto.FormShow (Sender: TObject);

begin

SetCurrentDir (ExtractFileDir (Application.Exename));

myScroll;

end;

procedure TForm_auto.But_firstClick (Sender: TObject);

begin

if DM. Tab_auto.RecNo > 1 then

begin

DM.Tab_auto.First;

myScroll;

end

else ShowMessage ('Начало таблицы');

end;

procedure TForm_auto.But_prevClick (Sender: TObject);

begin

if DM. Tab_auto.RecNo > 1 then

begin

DM.Tab_auto.Prior;

myScroll;

end

else ShowMessage ('Начало таблицы');

end;

procedure TForm_auto.But_nextClick (Sender: TObject);

begin

if DM. Tab_auto.RecNo < DM. Tab_auto.RecordCount then

begin

DM.Tab_auto.Next;

myScroll;

end

else ShowMessage ('Конец таблицы');

end;

procedure TForm_auto.But_lastClick (Sender: TObject);

begin

if DM. Tab_auto.RecNo < DM. Tab_auto.RecordCount then

begin

DM.Tab_auto.Last;

myScroll;

end

else ShowMessage ('Конец таблицы');

end;

procedure TForm_auto.But_delClick (Sender: TObject);

var rez: TModalResult;

begin

rez:= MessageDlg ('Удалить запись?', mtConfirmation,[mbYes, mbNo], 0);

if rez = mrYes then

begin

if DM. Tab_auto.RecordCount > 0 then

begin

DM.Tab_auto.Delete;

auto_type.Text := '';

if Image1. Picture <> nil then Image1. Picture := nil;

if Image2. Picture <> nil then Image2. Picture := nil;

if Image3. Picture <> nil then Image3. Picture := nil;

DM.Tab_auto.First;

myScroll;

end;

end;

end;

procedure TForm_auto.But_addClick (Sender: TObject);

begin

Form_new_auto.ShowModal;

end;

end.

Unit6.pas

unit Unit6;

interface

uses

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

Dialogs, StdCtrls, Buttons, ExtDlgs, ExtCtrls, jpeg;

type

TForm_new_auto = class (TForm)

auto_type: TComboBox;

auto_model: TEdit;

auto_tarif_km: TEdit;

auto_tarif_hour: TEdit;

BitBtn1: TBitBtn;

auto_type_id: TComboBox;

auto_photo1: TEdit;

auto_photo2: TEdit;

auto_photo3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

OpenPictureDialog1: TOpenPictureDialog;

OpenPictureDialog2: TOpenPictureDialog;

OpenPictureDialog3: TOpenPictureDialog;

load_photo1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Image1: TImage;

Image2: TImage;

Image3: TImage;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

But_save: TBitBtn;

Image4: TImage;

procedure BitBtn1Click (Sender: TObject);

procedure load_photo1Click (Sender: TObject);

procedure FormShow (Sender: TObject);

procedure auto_typeChange (Sender: TObject);

procedure But_saveClick (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure BitBtn3Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_new_auto: TForm_new_auto;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm_new_auto.BitBtn1Click (Sender: TObject);

begin

Form_new_auto.Close;

end;

procedure TForm_new_auto.load_photo1Click (Sender: TObject);

begin

if OpenPictureDialog1. Execute then

begin

auto_photo1.Text := ExtractFileName (OpenPictureDialog1.Filename);

SetCurrentDir (ExtractFileDir (Application.ExeName));

//ShowMessage (ExtractFileDir (Application.ExeName));

Image1.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo1.Text);

end;

end;

procedure TForm_new_auto.FormShow (Sender: TObject);

var sql: string;

i: integer;

begin

sql := 'SELECT id, type FROM auto_type WHERE 1 ORDER BY type';

// showMessage (sql);

DM.Query1.SQL.Clear;

DM.Query1.SQL.Add (sql);

DM.Query1.Open;

auto_type.Items.Clear;

auto_type_id.Items.Clear;

DM.Query1.First;

for i:=0 to DM. Query1.RecordCount-1 do

begin

auto_type.Items.Add (DM.Query1.Fields[1]. AsString);

auto_type_id.Items.Add (DM.Query1.Fields[0]. AsString);

DM.Query1.Next;

end;

auto_type.ItemIndex := 0;

auto_type_id.ItemIndex := 0;

end;

procedure TForm_new_auto.auto_typeChange (Sender: TObject);

begin

auto_type_id.ItemIndex := auto_type.ItemIndex;

end;

procedure TForm_new_auto.But_saveClick (Sender: TObject);

begin

DM.Tab_auto.Insert;

DM.Tab_autoidtype.Value := StrToInt (auto_type_id.Text);

DM.Tab_automodel.Value := auto_model.Text;

DM.Tab_autotarif_km.Value := StrToInt (auto_tarif_km.Text);

DM.Tab_autotarif_hour.Value := StrToInt (auto_tarif_hour.Text);

DM.Tab_autophoto1.Value := auto_photo1.Text;

DM.Tab_autophoto2.Value := auto_photo2.Text;

DM.Tab_autophoto3.Value := auto_photo3.Text;

DM.Tab_auto.Post;

SetCurrentDir (ExtractFileDir (Application.Exename));

if Image1. Picture <> nil then Image1.Picture.SaveToFile (GetCurrentDir + 'img' + auto_photo1.Text);

if Image2. Picture <> nil then Image2.Picture.SaveToFile (GetCurrentDir + 'img' + auto_photo2.Text);

if Image3. Picture <> nil then Image3.Picture.SaveToFile (GetCurrentDir + 'img' + auto_photo3.Text);

ShowMessage ('Запись добавлена');

Form_new_auto.Close;

end;

procedure TForm_new_auto.BitBtn2Click (Sender: TObject);

begin

if OpenPictureDialog2. Execute then

begin

auto_photo2.Text := ExtractFileName (OpenPictureDialog2.Filename);

SetCurrentDir (ExtractFileDir (Application.Exename));

Image2.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo2.Text);

end;

end;

procedure TForm_new_auto.BitBtn3Click (Sender: TObject);

begin

if OpenPictureDialog3. Execute then

begin

auto_photo3.Text := ExtractFileName (OpenPictureDialog3.Filename);

SetCurrentDir (ExtractFileDir (Application.Exename));

Image3.Picture.LoadFromFile (GetCurrentDir + 'img' + auto_photo3.Text);

end;

end;

end.

Unit7.pas

unit Unit7;

interface

uses

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

Dialogs, StdCtrls, Buttons, dbcgrids, Mask, DBCtrls, ExtCtrls, jpeg;

type

TForm_drivers = class (TForm)

BitBtn1: TBitBtn;

DBCtrlGrid1: TDBCtrlGrid;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBNavigator1: TDBNavigator;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Image1: TImage;

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_drivers: TForm_drivers;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm_drivers.BitBtn1Click (Sender: TObject);

begin

Form_drivers.Close;

end;

end.

Unit8.pas

unit Unit8;

interface

uses

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

Dialogs, StdCtrls, Buttons, Mask, DBCtrls, dbcgrids, jpeg, ExtCtrls;

type

TForm_zakaz = class (TForm)

BitBtn1: TBitBtn;

DBCtrlGrid1: TDBCtrlGrid;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Image1: TImage;

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form_zakaz: TForm_zakaz;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm_zakaz.BitBtn1Click (Sender: TObject);

begin

Form_zakaz.Close;

end;

end.

По материалам сайта ru.wikipedia.org

Показать весь текст

Список литературы

  1. А.Я. «Программирование в Delphi для Windows», Бином-Пресс, 2005г.
  2. А.Я. «Программирование в Delphi. Учебник по классическим версиям Delphi «, Бином-Пресс, 2005 г.
  3. Бакнелл Джулиан «Фундаментальные структуры данных и алгоритмы в Delphi», Питер 2006 г.
  4. О.Л. «Базы данных», Инфра-М, 2007г.
  5. А., Макашарипов С., «Эффективная работа с СУБД» СПб, «Питер», 1997г.
  6. С.М. «Базы данных: проектирование и использование», Финансы и статистика, 2005 г.
  7. В.В. «Базы данных. Язык SQL», БХВ-Петербург, 2007 г.
  8. П. «MySQL», Вильямс, 2007 г.
  9. П. «MySQL. Сборник рецептов», Символ-Плюс, 2004 г.
  10. В. «Delphi. Книга рецептов. Практические примеры, трюки и секреты», Наука и техника, 2006 г.
  11. В.В. «Основы проектирования реляционных баз данных.» Учебное пособие. — СПб.: ИТМО, 1994.
  12. С.Д. «Базы данных. Модели и языки», Бином-Пресс, 2008 г.
  13. М.П. «Базы данных. Основы, проектирование, использование», БХВ-Петербург, 2006 г.
  14. Иарко Кэнту «Delphi для профессионалов», Питер, 2006 г.
  15. Д. «Delphi. Профессиональное программирование», Символ-плюс, 2003 г.
  16. Л.В. «Базы данных. Разработка приложений», БХВ-Петербург, 2006 г.
  17. .Я. «Базы данных. Теория и практика», Высшая школа, 2005 г.
  18. В. «Delphi. Разработка приложений для баз данных и Интернета», Питер 2006 г.
  19. В. «Delphi. Язык, среда, разработка приложений», Питер 2006 г.
  20. В. «Delphi 2005. Переход с младших версий», Питер 2007 г.
  21. Р. «Базы данных. Проектирование и разработка», НТ Пресс, 2007 г.
  22. Э.В. «Базы данных», Академия, 2007г.
  23. А.Д. «Базы данных», Бином-Пресс, 2007г.
  24. П. «MySQL. Сборник рецептов», Символ-Плюс, 2004 г.
  25. «MySQL. Руководство администратора», Вильямс, 2005 г.
  26. «MySQL. Справочник по языку», Вильямс, 2005 г.
  27. А., Гофман В., Мещеряков Е., Никифоров В. «Delphi 7» СПб, «БХВ-Петербург», 2005.
  28. А. «Delphi 7. Наиболее полное руководство»
  29. Материалы сайтов:
  30. http://ru.wikipedia.org
  31. http://mysql.org
Заполнить форму текущей работой
Купить готовую работу

ИЛИ