Разработка Windows приложения для формирования справок в деканате ФЗО ПГУТИ

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

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

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

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

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

· Кнопки и текстовые поля. Они являются наиболее часто использующимися элементами GUI

Пример кода на языке Java с использованием технологии Swing:

package sample;

import java.awt.FlowLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.WindowConstants;

import javax.swing.SwingUtilities;

public class Main implements Runnable {

@Override

public void run() {

// Создание окна

JFrame f = new JFrame("Hello!");

// Установка поведения, когда окно закрывается

f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

// Добавляет менеджер компоновки,чтобы кнопка не была помещена поверх метки

f.setLayout(new FlowLayout());

// Добавление метки и кнопки

f.add(new JLabel("Hello, world!"));

f.add(new JButton("Press me!"));

// Упорядочить компоненты внутри окна

f.pack();

// По умолчанию, окно не видно. Сделать видимым.

f.setVisible(true);

}

public static void main(String[] args) {

Main se = new Main();

// Запуск приложения

SwingUtilities.invokeLater(se);

}

}

Запуск приложения:

Рис. 2.20 - Главное окно приложения

JavaFX.

JavaFX является основой для создания кросс-платформенных Java-приложений. JavaFX - это спецификация Java от Oracle, которая необходима для профессионального создания приложений, и распространения интерактивного, мультимедийного контента и графического пользовательского интерфейса (GUI) на всех платформах Java, для облегчения разработки. JavaFX представляет собой набор графических и медиа пакетов, который позволяет разработчикам проектировать, создавать, тестировать, отлаживать и развертывать клиентские приложения, способные работать на различных платформах.

JavaFX была написана как API для Java, благодаря чему, код приложений может ссылаться на API-интерфейсы из любой библиотеки Java.

Внешний вид приложений JavaFX могут быть настроен, при помощи каскадных таблиц стилей (CSS). Графические дизайнеры могут легко настроить внешний вид и стиль приложения при помощи CSS, не отвлекая программистов от написания кода. Если необходимо использовать веб-дизайн, или отделить пользовательский интерфейс (UI) от серверной логики, то есть возможность разработать части интерфейса на языке сценариев FXML и использовать Java-код для написания логики приложения. Так же есть возможность создавать пользовательские интерфейсы без написания кода, а вместо этого использовать JavaFX Scene Builder. При разработке пользовательского интерфейса, Scene Builder создает FXML разметку, которая может быть импортирована в интегрированную среду разработки (IDE).

JavaFX 2.2 и более поздние версии имеют следующие особенности:

· Java API - интерфейсы . JavaFX представляет собой библиотеку Java , которая состоит из классов и интерфейсов, которые написаны на родном языке Java.

· FXML и Scene Builder . Язык FXML основан на декларативном языке разметки(XML) для построения пользовательского интерфейса приложений JavaFX. Дизайнер может писать код на FXML или использовать JavaFX Scene Builder для интерактивного проектирования графического интерфейса пользователя (GUI). Scene Builder генерирует FXML разметку, которая может быть импортирована в IDE

· WebView. Веб-компонент использует технологию WebKitHTML , для встраивания веб-страниц в приложении JavaFX. Язык JavaScript используемый в WebView можно использовать в качестве Java API

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

· Встроенные элементы управления пользовательского интерфейса и CSS. JavaFX предоставляет все основные элементы управления пользовательского интерфейса, необходимые для разработки полнофункционального приложения. Компоненты могут являться стандартными веб-технологиями

· Canvas API . Canvas API, дает возможность рисования непосредственно в пределах области сцены JavaFX, которая состоит из одного графического элемента (узла).

· Поддержка мультитач. JavaFX обеспечивает поддержку мультитач операций, на основе возможностей базовой платформы.

· Графический конвейер с аппаратным ускорением. Графика в JavaFX основана на конвейере рендеринга графики (Prism). JavaFX предлагает плавную графику, которая быстро выводится через Prism, при условии использования с поддерживаемой графической картой или графическим процессором (GPU). Если в системе нет одного из рекомендуемых графических процессоров, поддерживаемых JavaFX, то Prism по умолчанию загружает программный стек Java 2D.

· Высокопроизводительный медиа движок. Медиа-конвейер поддерживает воспроизведение веб-мультимедийного контента. Он обеспечивает стабильную среду с малой задержкой, основанную на мультимедийной инфраструктуре GStreamer

· Автономная модель развертывания приложений. В автономных пакетах содержатся все ресурсы для автономного развертывания Java и JavaFX. Они распространяются как собственные установочные пакеты и обеспечивают тот же процесс установки и запуска, что и родные приложения для этой операционной системы.

На Рис. 2.21 изображены архитектурные компоненты платформы JavaFX, и их взаимодействие. Ниже общедоступных API JavaFX, лежит движок, который запускает код JavaFX. Движок состоит из подкомпонентов, которые включают в себя высокопроизводительный графический движок JavaFX под названием Prism, небольшую, но эффективную оконную систему под названием Glass, медиа-движок и веб-движок.

Рис. 2.21 - Архитектура JavaFX

JavaFX приложение расширяет применение базового класса и наследует методы жизненного цикла, такие как инициализация, начало и остановка. Эти методы могут быть переопределены в приложении JavaFX. JavaFX Launcher заботится, что они называются соответственно. Так же JavaFX приложение не требует основного метода: собственный статический main(String []) - метод заменён на статический launch(String []) - метод класса, передающий все параметры при вызове.

Жизненный цикл приложения JavaFX выглядит следующим образом:

Рис. 2.22 - Жизненный цикл приложения в JavaFX

Пример кода на языке Java с использованием JavaFX:

package helloworld;

import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.scene.Scene;

import javafx.scene.control.Alert;

import javafx.scene.control.Button;

import javafx.scene.layout.StackPane;

import javafx.stage.Stage;

public class HelloWorld extends Application {

@Override

public void start(Stage primaryStage) {

Button btn = new Button();

btn.setText("Say 'Hello World'");

btn.setOnAction(new EventHandler<ActionEvent>() {

@Override

public void handle(ActionEvent event) {

Alert alert = new Alert(Alert.AlertType.INFORMATION);

alert.setTitle("Information");

alert.setHeaderText(null);

alert.setContentText("Hello World!");

alert.showAndWait();

}

});

StackPane root = new StackPane();

root.getChildren().add(btn);

Scene scene = new Scene(root, 300, 250);

primaryStage.setTitle("Hello World!");

primaryStage.setScene(scene);

primaryStage.show();

}

public static void main(String[] args) {

launch(args);

}

}

Главное окно приложения:

Рис. 2.23 - Главное окно приложения

Нажатие на кнопку:

Рис. 2.24 - Уведомление

Сравнение технологий создания UI.

Для разработки программного обеспечения в данной работе, была выбрана технология Windows Forms. Данная технология является простой в использовании, предоставляет необходимый функционал. Так как целевой операционной системой является ОС Windows, кроссплатформенность не требуется. Сравнение библиотек приведено в таблице 2.1.

Таблица 2.1. Сравнение технологий пользовательского интерфейса

Критерий

Технологии UI

WFA

WPF

JavaFX

Swing

Поддержка C++

+

+

-

-

Поддержка C#

+

+

-

-

Поддержка Delphi

-

-

-

-

Поддержка Java

-

-

+

+

Кроссплатформенность

-/+

-

+

+

Поддержка языка разметки

-

XAML

FXML

-

2.4 Языки программирования

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

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

· Сложность проекта

· Размеры проекта

· Требуемая скорость разработки

· Сроки разработки

· Кроссплатформенность

· Цена поддержки разработанного решения

· Стоимость оплаты работы специалистов и их доступность

· Наличие у инструментов разработки

· Наличие у компании готовых решений

· Необходимость в наличии или написании документации

· Тип проекта

· Доступность интеграции в другие решения

· Необходимость обеспечения безопасности

Delphi.

Язык программирования Delphi является императивным, структурированным и объектно-ориентированным языком со строгой статической типизацией. Язык Delphi является потомком языка Object Pascal, который был разработан фирмой Apple в 1986 году группой Ларри Теслера. В настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах компания Borland стала использовать название Delphi для обозначения языка Object Pascal. Основной областью применения языка является разработка прикладного программного обеспечения.

С++.

C++ - это язык программирования общего назначения. Он является императивным, общим, объектно-ориентированным языком, и предоставляет возможности для управления памятью низкого уровня. C ++ был разработан Бьёрном Страуструпом из Bell Labs в 1979 года как расширение языка C.

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

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

C#.

Язык C# - это объектно-ориентированный, типизированный, декларативный, функциональный и общий язык программирования. Он был разработан компанией Microsoft в 1998-2001 годах, в рамках программы .NET, а затем одобрен в качестве стандарта Ecma (ECMA-334) и ISO (ISO / IEC 23270: 2006).

C# относится к семье языков с C-подобным синтаксисом, его синтаксис наиболее близок к C++ и Java. Язык C# поддерживает следующие объектно-ориентированные возможности: полиморфизм, перегрузку операторов, свойства, атрибуты, методы, анонимные функции, итераторы, исключения, комментарии в формате XML. Изначально C# был разработан в качестве языка программирования прикладного уровня для CLR. С развитием CLR значительно обогатился и C#. CLR предоставляет C# возможности .NET-ориентированных языков, такие как сборка мусора, которая реализована не в C#, а производится CLR.

Java.

Java - это универсальный язык программирования, который является объектно-ориентированным и специально разработан, чтобы иметь как можно меньше зависимостей от реализации. Он предназначен для того, чтобы позволить разработчикам приложений «писать один раз, работать везде» (WORA), что означает, что скомпилированный код Java может запускаться на всех платформах, поддерживающих Java без необходимости перекомпиляции. Приложения Java обычно компилируются в байт-код, который может выполняться на любой виртуальной машине Java (JVM) независимо от архитектуры компьютера. Начиная с 2016 года, Java является одним из самых популярных языков программирования, особенно для клиент-серверных веб-приложений, с 9 миллионами разработчиков. Язык Java был первоначально разработан Джеймсом Гослингом из Sun Microsystems и выпущен в 1995 году в качестве основного компонента Java-платформы Sun Microsystems. Язык получил большую часть своего синтаксиса от C и C ++.

Сравнение языков программирования.

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

· Парадигмы языка.

· Типизация языка.

· Объектно-ориентированные возможности языка.

· Типы и структуры данных, поддерживаемые языком.

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

Таблица 2.2. Парадигмы языков программирования

Парадигмы

Языки

Delphi

C++

C#

Java

Императивная

+

+

+

+

Объектно-ориентированная

+

+

+

+

Функциональная

-/+

-/+

+/-

-/+

Рефлексивная

-/+

-/+

-/+

-/+

Логическая

-

-

-

-

Распределённая

-

+/-

-/+

+

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

Основные функции систем типов данных:

· обеспечение безопасности

· оптимизация

· документация

· абстракция

В таблице 2.2 выбранные языки программирования сравниваются по критерию типизации.

Таблица 2.3. Типизация языков программирования

Типизация

Языки

Delphi

C++

C#

Java

Статическая

+

+

+

+

Динамическая

-/+

-

+

-

Явная

+

+

+

+

Неявная

-

-/+

-/+

-

Неявное приведение типов без потери данных

+

+

+

+

Неявное приведение типов с потерей данных

+

+

-

-

Объектно-ориентированное программирование -- методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования. В таблице 2.3 выбранные языки программирования сравниваются по объектно-ориентированным возможностям.

Таблица 2.4. Объектно-ориентированные возможности языков программирования

Возможность

Delphi

C++

C#

Java

Интерфейсы

+

+

+

+

Мультиметоды

-

-/+

-/+

-

Примеси

+

-/+

-

+

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

Таблица 2.5. Типы и структуры данных

Структуры данных

Языки

Delphi

C++

C#

Java

Кортежи

-

+/-

+

-

Алгебраические типы данных

-/+

-

-

-

Многомерные массивы

+

+

+

+/-

Динамические массивы

+

+

+/-

+/-

Ассоциативные массивы

+/-

+

+

+/-

Контроль границ массивов

+

+/-

+

+

Цикл foreach

+

+

+

+

Списковые включения

-

-

-/+

-

Целые числа произвольной длины

-

-

+

+

Целые числа с контролем границ

+

-

-

-

На основании проведенного анализа языков программирования, языком для разработки программного обеспечения был выбран C#, поскольку обладает всем необходимым функционалом, и поддерживает библиотеки, необходимые для работы с PDF файлами, и наиболее подходящие технологии создания пользовательского интерфейса.

2.5 Библиотеки для работы с PDF файлами

iTextSharp

Библиотека iText позволяет создавать и редактировать PDF документы. Она позволяет разработчикам совершенствовать веб-приложения и прикладные приложения при помощи динамической генерации и манипуляции над PDF документами (Рис. 2.25).

Рис. 2.25 - Логотип библиотеки iTextSharp

Библиотека iText может быть использована, когда необходимо:

· Генерация динамических документов из XML файлов или базы данных

· Передача PDF в браузер

· Использовать много интерактивные возможности PDF

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

· Разделять, объединять и манипулировать PDF страницами

· Автоматизация заполнения PDF форм

· Добавлять цифровую подпись в PDF файл

Пример кода на языке C# с использованием библиотеки iTextSharp:

var document = new iTextSharp.text.Document();

using (var writer = PdfWriter.GetInstance(document, new FileStream("result.pdf", FileMode.Create)))

{

document.Open();

//здесь какой-либо код

document.Close();

writer.Close();

}

//Рисование линий

writer.DirectContent.MoveTo(35, 780);

writer.DirectContent.LineTo(430, 780);

//Добавление картинки

var logo = iTextSharp.text.Image.GetInstance(new FileStream(@"Resources\logo.jpg", FileMode.Open));

logo.SetAbsolutePosition(440, 758);

writer.DirectContent.AddImage(logo);

//Добавление текста

helvetica = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12);

helveticaBase = helvetica.GetCalculatedBaseFont(false);

writer.DirectContent.BeginText();

writer.DirectContent.SetFontAndSize(helveticaBase, 12f);

writer.DirectContent.ShowTextAligned(iTextSharp.text.Element.ALIGN_LEFT, "Hello world!", 35, 766, 0);

writer.DirectContent.EndText();

Report.NET.

Report.NET - это мощная библиотека, которая позволяет сгенерировать PDF документы простым и удобным способом. Документ может быть создан с помощью данных, которые были получены из любого ADO.NET data set'a. Одной из особенностей данной библиотеки является то, что она полностью написана на C# для Microsoft .NET Framework (Рис. 2.26).

Рис. 2.26 - Логотип библиотеки Report.NET

Библиотека предоставляет следующие возможности:

· Написание очень компактного кода

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

· Возможность простого выравнивания и трансформации графических объектов

· ASP.NET позволяет генерировать динамические PDF страницы

· XML Documentation

Пример кода на языке C# с использованием библиотеки Report.net:

using Root.Reports;

using System;

namespace ReportSamples {

/// <summary>Hello World (PDF Version)</summary>

class HelloWorld {

/// <summary>Starts the "Hello World" sample.</summary>

public static void Main() {

Report report = new Report(new PdfFormatter());

FontDef fd = new FontDef(report, "Helvetica");

FontProp fp = new FontPropMM(fd, 25);

Page page = new Page(report);

page.AddCenteredMM(80, new RepString(fp, "Hello World!"));

RT.ViewPDF(report, "HelloWorld.pdf");

}

}

}

PDFsharp.

PDFsharp -- это библиотека, написанная на C#, которая позволяет очень просто создавать PDF. Аналогично рисованию в GDI+, имеется возможность создавать PDF документы, рисовать на экране или отправлять на печать любого принтера. PDFsharp может изменять, объединять и разделять существующие PDF файлы или перемещать страницы из существующих PDF файлов в новые PDF документы. PDFsharp является библиотекой с открытым исходным кодом, которая легко создает PDF документы для любого .NET языка (Рис. 2.27).

Рис. 2.27 - Логотип библиотеки PDFsharp

Пример кода на языке C# с использованием библиотеки PDFsharp:

using System;

using System.Diagnostics;

using System.IO;

using PdfSharp;

using PdfSharp.Drawing;

using PdfSharp.Pdf;

using PdfSharp.Pdf.IO;

namespace HelloWorld

{

/// <summary>

/// Это пример программы Hello World.

/// </summary>

class Program

{

static void Main(string[] args)

{

// Создание нового PDF документа

PdfDocument document = new PdfDocument();

document.Info.Title = "Created with PDFsharp";

// Создание пустой страницы

PdfPage page = document.AddPage();

// Получение объектв XGraphics для рисования

XGraphics gfx = XGraphics.FromPdfPage(page);

// Создание шрифта

XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);

// Написание текста

gfx.DrawString("Hello, World!", font, XBrushes.Black,

new XRect(0, 0, page.Width, page.Height),

XStringFormats.Center);

// Сохранение документа...

const string filename = "HelloWorld.pdf";

document.Save(filename);

// ...и просмотр

Process.Start(filename);

}

}

}

SharpPDF.

SharpPDF -- это C# библиотека, которая может создавать различные объекты в PDF документах за несколько шагов. Она создана для .NET framework 1.1 и может создавать 100% совместимые PDF файлы (протестировано с Acrobat Reader, Ghostscript, JAWS PDF Editor и другими PDF-ридерами). Главная цель библиотеки - это простое использование (Рис. 2.28).

Рис. 2.28 - Логотип библиотеки SharpPDF

Возможности библиотеки:

· Возможность использовать с Windows Forms для генерации новых pdf файлов или сохранение их в базу данных.

· Возможность использовать с Web Applications (ASP.NET) для генерации pdf файлов или отправки результата в браузер.

Пример кода на языке C# с использованием библиотеки SharpPDF:

pdfDocument myDoc = new pdfDocument("TUTORIAL","ME");

pdfPage myPage = myDoc.addPage();

myPage.addText("Hello World!",200,450,predefinedFont.csHelvetica,20);

myDoc.createPDF(@"c:\test.pdf");

myPage = null;

myDoc = null;

PDFjet Open Source Edition

PDFjet -- библиотека с открытым исходным кодом для динамического создания PDF документов из Java и .NET (Рис. 2.29).

Рис. 2.29 - Логотип библиотеки PDFjet

Возможности библиотеки:

· Элементы рисования: точки, линии, круги, кривые Безье, многоугольники, комплекс путей и форм.

· Текст: поддержка юникода, кернинг текста при использовании Helvetica и Times-Roman семейств основных шрифтов, вставка гиперссылок

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

· Поддержка вставки следующих типов изображений: PNG, JPEG, BMP

Пример код на языке C# с использованием библиотеки PDFjet:

using System;

using System.IO;

using System.Collections;

using System.Collections.Generic;

using System.Text;

using PDFjet.NET;

public class Example_01 {

public Example_01() {

FileStream fos = new FileStream("Example_01.pdf", FileMode.Create);

BufferedStream bos = new BufferedStream(fos);

PDF pdf = new PDF(bos);

Page page = new Page(pdf, Letter.PORTRAIT);

Box flag = new Box();

flag.SetPosition(100.0, 100.0);

flag.SetSize(190.0, 100.0);

flag.SetColor(Color.white);

flag.DrawOn(page);

double sw = 7.69; // stripe width

Line stripe = new Line(0.0, sw/2, 190.0, sw/2);

stripe.SetWidth(sw);

stripe.SetColor(Color.oldgloryred);

for (int row = 0; row < 7; row++) {

stripe.PlaceIn(flag, 0.0, row * 2 * sw);

stripe.DrawOn(page);

}

Box union = new Box();

union.SetSize(76.0, 53.85);

union.SetColor(Color.oldgloryblue);

union.SetFillShape(true);

union.PlaceIn(flag, 0.0, 0.0);

union.DrawOn(page);

double h_si = 12.6; // horizontal star interval

double v_si = 10.8; // vertical star interval

Point star = new Point(h_si/2, v_si/2);

star.SetShape(Point.STAR);

star.SetRadius(3.0);

star.SetColor(Color.white);

star.SetFillShape(true);

for (int row = 0; row < 6; row++) {

for (int col = 0; col < 5; col++) {

star.PlaceIn(union, row * h_si, col * v_si);

star.DrawOn(page);

}

}

star.SetPosition(h_si, v_si);

for (int row = 0; row < 5; row++) {

for (int col = 0; col < 4; col++) {

star.PlaceIn(union, row * h_si, col * v_si);

star.DrawOn(page);

}

}

pdf.Flush();

bos.Close();

}

public static void Main(String[] args) {

try {

new Example_01();

} catch (Exception e) {

Console.WriteLine(e.StackTrace);

}

}

}

PDF Clown - это C# 2.0 библиотека для чтения, обработки и создания файлов PDF с несколькими слоями абстракции, чтобы удовлетворить различные стили программирования: от нижнего уровня (PDF Object Model), до высшего (PDF структуры документа и потокового содержания).

Его основная целевая платформа является GNU / Linux, но благодаря проекту Mono она практически платформо-независима (Рис. 2.30).

Рис. 2.30 - Логотип библиотеки PDF Clown

Пример кода на языке C# с использованием библиотеки PDF Clown:

using org.pdfclown.documents;

using org.pdfclown.documents.contents.composition;

using org.pdfclown.documents.contents.fonts;

using org.pdfclown.files;

using System.Drawing;

namespace org.pdfclown.samples.cli

{

/**

<summary>Это простой пример использования PDF Clown.</summary>

*/

public class HelloWorldSample : Sample

{

public override void Run()

{

// 1. Объявление new PDF файла

File file = new File();

// 2. Создание документа

Document document = file.Document;

// 3. Вставка данных в документ

Populate(document);

// 4. Сериализация PDF файла

Serialize(file, "Hello world", "a simple 'hello world'", "Hello world");

}

private void Populate(

Document document

)

{

// 1. Добавление страницы в документ

Page page = new Page(document);

document.Pages.Add(page);

// 2. Создание содержания страницы

PrimitiveComposer composer = new PrimitiveComposer(page);

// 3. Вставка содержимого

composer.SetFont(

new StandardType1Font(

document,StandardType1Font.FamilyEnum.Courier,true, false), 32);

composer.ShowText("Hello World!", new PointF(32,48));

// 4. Обновление содержимого на странице

composer.Flush();

}

}

}

Сравнение библиотек.

В таблице приведенной ниже представлено сравнение библиотек по работе с PDF файлами.

Таблица 2.6. Библиотеки по работе с PDF файлами

Критерий

Библиотеки

iTextSharp

Report.NET

PDFsharp

SharpPDF

PDFjet

PDF Clown

Поддержка C#

+

+

+

+

+

+

Поддержка Java

+

-

-

-

+

+

Поддержка WFA

+

+

+

+

+

+

Генерация из XML

+

+

-

-

-

-

Документация

+

+

+

+

+

+

Лицензия

AGPL

LGPL

LGPL

LGPL

BSD

LGPL

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

3. Разработка программного обеспечения

Разработка программного обеспечения ведется в соответствии с водопадной методологией, и происходит в несколько этапов:

1. Анализ и формирование требований

2. Проектирование

3. Разработка пользовательского интерфейса

4. Разработка логики приложения

5. Тестирование

6. Поддержка

3.1 Анализ и формирование требований

программный логический объектный

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

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

· Windows XP

· Windows 7

· Windows 8

· Windows 10

Работа приложения должна быть автономной, и не требовать подключения к сети. Результатом работы приложения является отформатированный, заполненный PDF файл, готовый к печати на заготовленном бланке (Рис. 3.1).

Рис. 3.1 - Заготовленный бланк для печати справки

Так же в приложении должен быть предусмотрен дополнительный функционал:

· Настройка параметров, установленных по умолчанию

· Средства поддержки пользователя

o Всплывающие уведомления

o Автодополнение текста

o Уведомления в строке состояния

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

· Автоматическое сохранение созданного файла с заданным названием в заданное расположение

3.2 Проектирование

Проектирование логики приложения

Блок-схема алгоритма работы приложения представлена на Рис. 3.2.

Ниже приводится описание алгоритма работы приложения.

Рис. 3.2 - Блок-схема работы приложения

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

2. Пользователь осуществляет ввод данных в приложение

3. На основе введённых данных и установленных настроек создается PDF документ

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

5. Созданный файл встаёт в очередь принтера на печать

Создание прототипа приложения.

Разработка пробной версии производится при помощи такого инструмента прототипирования как wireframe.cc.

Веб-сервис обладает следующими особенностями:

· Минималистичный интерфейс

· Удобный способ добавления элементов: drag-to-draw

· Простое добавление комментариев к интерфейсу.

· «Умные» элементы

· Удобное сохранение прототипов

· Простая цветовая палитра

· Наличие горячих клавиш

Прототип главного окна приложения приведен ниже (рис.3.3).

Рис. 3.3 - Прототип главного окна приложения

Прототип окна настроек изображен на рис. 3.4.

Рис. 3.4 - Прототип окна настроек

3.3 Разработка пользовательского интерфейса приложения

После того как был разработан и утвержден прототип пользовательского интерфейса приложения начинается его разработка.

После запуска среды разработки Visual Studio 2010, создаётся проект, который будет разрабатываться на языке программирования C# с использованием технологии Windows Forms (Рис. 3.5).

Рис. 3.5 - Создание проекта Windows Forms на языке C# в Visual Studio 2010

После создания проекта открывается окно разработки, на котором отображается конструктор главного окна приложения (Рис. 3.6).

Рис. 3.6 - Главное окно разработки с конструктором первого окна

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

Таблица 3.1. Таблица элементов пользовательского интерфейса

Наименование элемента

Изображение элемента

Обозначение элемента

Кнопка

Текстовое поле

Переключатель

Флажок

Поле выбора даты

Комбинированный список

Метка

Индикатор выполнения

После расположения элементов на форме, присвоения им размеров, цветов и названий, разработка переходит созданию дополнительных окон приложения. Дизайн пользовательского интерфейса главного окна приложения представлен ниже (Рис. 3.7).

Рис. 3.7 - Пользовательский интерфейс главного окна приложения

Создание нового окна представлено ниже (рис.3.8).

Рис. 3.8 - Создание дополнительного окна приложения

Дизайн дополнительного окна, обеспечивающего настройку параметров, заданных по умолчанию, представлен ниже (Рис. 3.9).

Рис. 3.9 - Окно настроек

Ниже представлен дизайн окна «О приложении» (Рис.3.10).

Рис. 3.10 - Дизайн окна «О приложении»

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

3.4 Разработка логики приложения

Подключение библиотеки iTextSharp.

Разработка функционала приложения начинается с подключения библиотеки iTextSharp, необходимой для создания и управления PDF файлом. Для подключения библиотеки необходимо скачать саму библиотеку с официального сайта, а затем подключить её к проекту. На Рис. 3.11 и Рис. 3.12 показано добавление библиотеки к проекту.

Рис. 3.11 - Добавление ссылки

Рис. 3.12 - Добавление библиотеки к проекту

После добавления библиотеки к проекту, в папке «Ссылки» добавляется ссылка на библиотеку (Рис. 3.13).

Рис. 3.13 - Библиотека подключена к проекту

Загрузка главного окна.

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

private void Form1_Load(object sender, EventArgs e) //отображение главного окна приложения

{

toolTip1.SetToolTip(textBox6, "Только год"); //настройка всплывающией подсказки

initialize(); //начальная настройка

try

{

StreamReader r = new StreamReader("settings.config");//создание потока чтения, для полчения настроек

file = r.ReadLine(); //получение пути и имени создаваемого файла

pguti1 = r.ReadLine(); //получение первого заголовка

pguti2 = r.ReadLine(); //получение второго заголовка

predDoc = r.ReadLine(); //получение информации о предыдущем документе

r.Close(); //зкрытие потока чтения

}

catch (Exception exception) //обработка исключений

{

MessageBox.Show(exception.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);//вывод информации об исключении

}

}

Инициализация.

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

private void initialize() //инициализация текстовых полей и списков

{

textBox1.AutoCompleteCustomSource = ReadInfo("Name.txt"); //чтение имён из файла

textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //включение режима автодополнения

textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; //задаёт источник имён

textBox3.AutoCompleteCustomSource = ReadInfo("Patr.txt"); //чтение отчеств из файла

textBox3.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //включение режима автодополнения

textBox3.AutoCompleteSource = AutoCompleteSource.CustomSource; //задаёт источник отчеств

textBox2.AutoCompleteCustomSource = ReadInfo("Family.txt"); //чтение фамилий из файла

textBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //включение режима автодополнения

textBox2.AutoCompleteSource = AutoCompleteSource.CustomSource; //задаёт источник фамилий

//добавление в список специальностей

comboBox1.Items.Add("ИКТ и СС");

comboBox1.Items.Add("ИиВТ");

comboBox1.Items.Add("РСО");

comboBox1.Items.Add("ИСиТ");

comboBox1.Items.Add("БИ");

comboBox1.Items.Add("ПИ");

comboBox1.Text = comboBox1.Items[0].ToString(); //устанавливает по умолчанию первый элемент списка

}

Чтение информации из файла.

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

private AutoCompleteStringCollection ReadInfo(String file) //чтение информации из файла

{

var source = new AutoCompleteStringCollection();//список наиболее часто использующихся имён

try

{

string tmp; //буфер

StreamReader r = new StreamReader(file); //создание потока чтения, для полчения имён

while ((tmp = r.ReadLine()) != null)

{

source.Add(tmp); //добавить в коллекцию

}

r.Close(); //зкрытие потока чтения

}

catch (Exception exception) //обработка исключений

{

MessageBox.Show(exception.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);//вывод информации об исключении

}

return source; //вернуть заполненную коллекцию

}

Настройка шрифта.

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

private void Installation(Document d)

{

//выбор шрифта, настройка поддержки русского языка, настройка цвета и размера

fg = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "Tahoma.TTF");

fgBaseFont = BaseFont.CreateFont(fg, iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED);

fgFont = new iTextSharp.text.Font(fgBaseFont, 14, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

try

{

PdfWriter.GetInstance(d, new FileStream(file, FileMode.Create)); //применить настройи и создать файл

}

catch //обработка исключений

{

MessageBox.Show("Закройте предыдущий файл и попробуйте снова!"); //вывод сообщеия об ошибке

}

}

Создание PDF документа.

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

private void button3_Click(object sender, EventArgs e) //создание pdf файла

{

try

{

progressBar1.Value = 0; //установить значение индикатора выполнения в ноль

Document doc = new Document(); //создание документа

PdfWriter.GetInstance(doc, new FileStream(Application.StartupPath + file, FileMode.Create));

Installation(doc); //настройка места создания файла и шрифта/размера текста

doc.Open(); //открытие документа

PGUTI(doc); //заголовок документа

setRegNumbAndDate(doc); //регистрационный номер и дата

setFIO(doc); //фио студента

setDateOfBirth(doc); //дата рождения

setPredDoc(doc); //иформаця о предыдущем документе

setSved(doc); //сведения о поступлении

setSvedOSav(doc); //сведения о завершении обучения

setSpecialty(doc); //направление и специальность

setLevel(doc); //академическая степень

setLenght(doc); //продолжительность обучения

setCourseWork(doc); //курсовые работы

setRectorDecanSecr(doc); //место для росписей ректора, декана и секретаря

CreateTableProgress(doc); //таблица успеваемости

doc.Close(); //закрытие файла

Chk(); //проверка введенных данных

progressBar1.Value = 100; //заполнить индикатор выполнения

}

catch (Exception exception) //обработка исключения

{ //вывод сообщения об ошибке с текстом воникшей ошибки

MessageBox.Show(exception.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);

progressBar1.Value = 0; //обнулить индикатор выполнения

}

}

Создание таблицы курсовых работ.

Одним из методов, вызываемых в методе создания PDF файла, является метод создания таблицы курсовых работ. Код данного метода приведен ниже:

private void CreateTableKR(Document d) //создание таблицы курсовых работ

{

int count = 0; //счётчик

PdfPTable t = new PdfPTable(9);//создание таблицы

fgFont = new iTextSharp.text.Font(fgBaseFont, 6, iTextSharp.text.Font.NORMAL, BaseColor.BLACK); //настройка шрифта

for (int i = 0; i < dataGridView2.RowCount-1; i++) //проход по строкам таблицы

{

count++; //увеличение счётчика

String s1 = dataGridView2.Rows[i].Cells[0].Value.ToString(); //получение данных из таблицы на форме

String s2 = dataGridView2.Rows[i].Cells[1].Value.ToString();

PdfPCell p = new PdfPCell(new Phrase(s1, fgFont)); //создание ячейки

p.Colspan = 7; //объединить ячейки

p.BorderColor = new BaseColor(255, 255, 255); //создать границы

t.AddCell(p); //добавить ячейку в таблицу

p = new PdfPCell(new Phrase(s2, fgFont)); //создать ячейку

p.Colspan = 2; //объединить ячейки

p.BorderColor = new BaseColor(255, 255, 255); //установить границы

t.AddCell(p); //добавить ячейку в таблицу

}

for (int i = count; i < 5; i++) //проход по курсовым работам

{

PdfPCell p = new PdfPCell(new Phrase(" ", fgFont)); //создание ячейки

p.Colspan = 7; //объединить ячейки

p.BorderColor = new BaseColor(255, 255, 255); //установка границ

t.AddCell(p); //добавление ячейки

p = new PdfPCell(new Phrase(" ", fgFont)); //создание ячейки

p.Colspan = 7; //объединить ячейки

p.BorderColor = new BaseColor(255, 255, 255);//установить границы

t.AddCell(p); //добавить ячейку в таблицу

}

d.Add(t); //добавить таблицу в документ

}

Создание новой справки

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

private void новаяСправкаToolStripMenuItem_Click(object sender, EventArgs e)//очищает все поля

{

//очистка текстовых полей

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

textBox4.Text = "";

textBox5.Text = "";

textBox6.Text = "";

textBox7.Text = "";

textBox8.Text = "";

//очистка области уведомлений

toolStripStatusLabel1.Text = "";

toolStripStatusLabel1.BackColor = Color.Transparent;

//очистка таблиц

dataGridView1.Rows.Clear();

dataGridView2.Rows.Clear();

//обнуление индикатора выполнения

progressBar1.Value = 0;

}

3.5 Тестирование и поддержка

Тестирование

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

После запуска отображается главное окно приложения (Рис. 3.14).

Рис. 3.14 - Главное окно приложения

Для настройки полей, заданных по умолчанию используется пункт меню - настройки, отображающий меню настроек (Рис. 3.15).

Рис. 3.15 - Окно настроек

Окно настроек содержит следующие поля:

· Расположение файла - позволяет изменять расположение создаваемых файлов

· Заголовок - позволяет изменять заголовок создаваемого файла

· Предыдущий документ об образовании - позволяет изменить информацию о документе

На данном окне так же расположены следующие кнопки:

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

· Назад - закрывает окно

· Сохранить - сохраняет изменения в файл настроек

· По умолчанию - восстанавливает значения по умолчанию (Рис. 3.16)

Рис. 3.16 - Подтверждение восстановления значений по умолчанию

Для получения информации о версии приложения, сайте, содержащем справочный материал к приложению, и контакты разработчика предусмотрен пункт меню «О приложении» (Рис. 3.17).

Рис. 3.17 - Окно информации о приложении

При нажатии на адрес электронной почты происходит копирование адреса в буфер обмена и выводится сообщение (Рис. 3.18).

Рис. 3.18 - Уведомление

При нажатии на ссылку Web-сайта, происходит переход по указанному адресу, и открывается справочное руководство. Аналогичное действие происходит при нажатии в главном окне на пункт меню «Справка» (Рис. 3.19).

Рис. 3.19 - Справочное руководство

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

В процессе заполнения полей данными, будет использоваться функция автодополнения, представленная на изображении ниже (Рис. 3.20).

Рис. 3.20 - Заполнение текстовых полей с использованием автодополнения

Для удобства ввода даты, на форме предусмотрены специальные поля, позволяющие пользователю как ввод даты с клавиатуры, так и выбор даты (Рис. 3.21).

Рис. 3.21 - Выбор даты рождения

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

Рис. 3.22 - Всплывающая подсказка

Для выбора специальностей, предусмотрен список специальностей (Рис. 3.23).

Рис. 3.23 - Выбор специальности при помощи выпадающего списка

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

Рис. 3.24 - Создание PDF файла

После того как файл создан, пользователь нажимает кнопку «Печать», после чего созданный файл открывается в установленном по умолчанию браузере (Рис. 3.25 и Рис. 3.26).

Рис. 3.25 - Первая страница созданного файла

Рис. 3.26 - Вторая страница созданного файла

После проверки созданного файла на наличие опечаток и ошибок, пользователь нажимает в браузере кнопку «Печать», после чего файл отправляется в очередь принтера на печать (Рис. 3.27).

Рис. 3.27 - Вывод файла на печать

Результат печати файла представлен на Рис. 3.28 и Рис. 3.29.

Рис. 3.28 - Первая страница справки

Рис. 3.29 - Вторая страница справки

Поддержка.

Внедрение.

Разработанное программное обеспечение было протестировано на различно оборудовании и введено в эксплуатацию. Пользователи были обучены работе с программным продуктом.

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

Для разработки справочной системы было использовано программное обеспечение Dr.Explain. Dr.Explain - это приложение для быстрого создания файлов справки (help-файлов), справочных систем, on-line руководств пользователя, пособий и технической документации к программному обеспечению и техническим системам.

Создание проекта представлено ниже (рис.3.30).

Рис. 3.30 - Главное меню приложения Dr.Explain

Создание проекта для разработки справочной системы показано на Рис. 3.31.

Рис. 3.31 - Создание проекта в Dr.Explain

Создание разделов и заполнение информацией представлено на Рис. 3.32.

Рис. 3.32 - Заполнение справочного руководства

Используя приложение Notepad++, был отредактирован html код, а так же добавлены дополнительные функции на языке javascript. Редактирование кода представлено ниже (рис.3.33).

Рис. 3.33 - Редактирование html и javascript кода

Готовое справочное руководство размещено в интернете по адресу https://hlppsuti.github.io. Главная страница разработанного руководства представлена ниже (рис.3.34).

Рис. 3.34 - Главная страница справочного руководства

Сопровождение

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

· Функция очистки всех полей

· Функция получения информации о приложении

· Разработано руководство пользователя

Заключение

Разработка программного обеспечения является мощным инструментом автоматизации процессов, позволяющим повысить эффективность персонала и снизить трудозатраты. Целью выполнения ВКР была разработка программного обеспечения позволяющего автоматизировать процесс выдачи справок в деканате ФЗО ПГКТИ. Результатом выполнения работы является готовое к эксплуатации программное обеспечение.

В процессе выполнения работы были решены следующие задачи:

· Проведён анализ деятельности деканата.

· Сформированы требования к разрабатываемому программному обеспечению.

· Изучены теоретические основы разработки программного обеспечения.

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

o Для разработки графического пользовательского интерфейса выбрана и изучена технология Windows Forms.

o Для реализации программного обеспечения выбран язык программирования C#.

o Для работы с PDF файлами изучена и применена библиотека iTextSharp.

· Разработано и протестировано программное обеспечение.

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

· Разработанный программный продукт введён в эксплуатацию.

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

...

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

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.

    курсовая работа [275,9 K], добавлен 22.12.2011

  • Создание базы данных с помощью на СУБД Access. Разработка программы, которая позволяет принимать управленческие решения, хранить данные о клиентах, о продукции, а так же хранить данные о продажах, производить их анализ и выдавать результат в виде таблиц.

    курсовая работа [2,2 M], добавлен 16.10.2011

  • Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.

    контрольная работа [60,1 K], добавлен 17.01.2011

  • Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.

    учебное пособие [1,6 M], добавлен 28.12.2013

  • Сущность объектно-ориентированного подхода в программировании. Описание языков программирования. Использование бинарных деревьев для поиска данных, алгоритмы их обхода. Разработка Windows-приложения автоматизированной системы "Планета животных".

    курсовая работа [3,7 M], добавлен 16.09.2016

  • Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.

    курсовая работа [2,3 M], добавлен 31.01.2016

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

    курсовая работа [1,5 M], добавлен 31.01.2016

  • Создание процедурно-ориентированной и объектно-ориентированной реализации конкретного приложения и сравнительный анализ их вычислительной эффективности. Определение попадания точки внутрь фигуры. Возможности улучшения характеристик качества приложений.

    курсовая работа [1,5 M], добавлен 04.12.2021

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

    контрольная работа [85,8 K], добавлен 12.03.2013

  • Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.

    курсовая работа [2,2 M], добавлен 15.03.2015

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

    курсовая работа [563,6 K], добавлен 22.01.2016

  • Обзор основных используемых языков программирования (С++, Java, Pascal). Анализ существующих методов шифрования паролей. Основные понятия объектно-ориентированного программирования. Реализация приложения для генерирования паролей на языке Object Pascal.

    курсовая работа [822,4 K], добавлен 07.07.2012

  • Языки программирования низкого и высокого уровней и среды реализации. Особенности процедурных, логических, объектно-ориентированных языков. Состав системы программирования: трансляторы, библиотеки и отладчик программ, компоновщик, средства редактирования.

    презентация [11,9 K], добавлен 23.10.2013

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

    курсовая работа [575,7 K], добавлен 16.05.2017

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

    курсовая работа [240,0 K], добавлен 29.03.2016

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

    курсовая работа [716,9 K], добавлен 02.12.2013

  • Описание возможности приложения. Подписка на рассылку, хранение данных. Файл ras.asp, файл ras_A.asp, файл ras_B, файл ras_C. Возможности программирования на языке ASP, который позволяет обрабатывать данные на стороне сервера. Регистрация рассылки.

    курсовая работа [816,5 K], добавлен 21.10.2008

  • Объектно-ориентированное программирование как новый подход к созданию приложений. Разработка Windows-приложения для поиска информации в хэш-таблице. Анализ использования хеширования для поиска данных и линейного зондирования для разрешения конфликтов.

    курсовая работа [915,5 K], добавлен 06.03.2016

  • Семантика языков программирования. Процедурные и объектно-ориентированные языки программирования. Стандартная библиотека шаблонов. Независимость байт-кода от операционной системы и оборудования и возможность выполнения Java-приложения на любом устройстве.

    реферат [50,5 K], добавлен 24.11.2009

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