Разработка идеи объединения сторонних решений и реализация многофункционального, легко масштабируемого приложения
Разработка функциональной и структурной схемы программного средства. Реализация основного модуля программы. Реализация модуля печати и модуля обновлений. Изучение взаимодействия информационных технологий, методов их интеграции и обмена данными.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.10.2017 |
Размер файла | 3,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy"));
m_removePolicy = removePolicyEnum.keyToValue(value) == -1 ?
Never:
static_cast<RemovePolicy>(removePolicyEnum.keyToValue(value));
int i = 0;
QString key = QString(QLatin1String("download_%1_")).arg(i);
while (settings.contains(key + QLatin1String("url"))) {
QUrl url = settings.value(key + QLatin1String("url")).toUrl();
QString fileName = settings.value(key + QLatin1String("location")).toString();
bool done = settings.value(key + QLatin1String("done"), true).toBool();
if (done && !url.isEmpty() && !fileName.isEmpty()) {
DownloadWidget *widget = new DownloadWidget(0, this);
widget->m_file.setFile(fileName);
widget->fileNameLabel->setText(widget->m_file.fileName());
widget->m_url = url;
widget->stopButton->setVisible(false);
widget->stopButton->setEnabled(false);
widget->progressBar->hide();
addItem(widget);
}
key = QString(QLatin1String("download_%1_")).arg(++i);
}
cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0);
}
void DownloadManager::cleanup()
{
if (m_downloads.isEmpty())
return;
m_model->removeRows(0, m_downloads.count());
updateItemCount();
if (m_downloads.isEmpty() && m_iconProvider) {
delete m_iconProvider;
m_iconProvider = 0;
}
m_autoSaver->changeOccurred();
}
void DownloadManager::updateItemCount()
{
int count = m_downloads.count();
itemCount->setText(count == 1 ? tr("1 Download"): tr("%1 Downloads").arg(count));
}
DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent)
: QAbstractListModel(parent)
, m_downloadManager(downloadManager)
{}
QVariant DownloadModel::data(const QModelIndex &index, int role) const
{
if (index.row() < 0 || index.row() >= rowCount(index.parent()))
return QVariant();
if (role == Qt::ToolTipRole)
if (!m_downloadManager->m_downloads.at(index.row())->downloadedSuccessfully())
return m_downloadManager->m_downloads.at(index.row())->downloadInfoLabel->text();
return QVariant();
}
int DownloadModel::rowCount(const QModelIndex &parent) const
{ return (parent.isValid()) ? 0: m_downloadManager->m_downloads.count();}
bool DownloadModel::removeRows(int row, int count, const QModelIndex &parent)
{
if (parent.isValid())
return false;
int lastRow = row + count - 1;
for (int i = lastRow; i >= row; --i) {
if (m_downloadManager->m_downloads.at(i)->downloadedSuccessfully()) {
beginRemoveRows(parent, i, i);
m_downloadManager->m_downloads.takeAt(i)->deleteLater();
endRemoveRows();
}
}
m_downloadManager->m_autoSaver->changeOccurred();
return true;
}
Приложение Ж
(Обязательное)
Исходный код диалогового окона печати в pdf
#include "headers/printtopdfdialog.h"
#include "ui_printtopdfdialog.h"
#include <QtCore/QDir>
#ifndef QT_NO_PRINTER
#include <QtPrintSupport/QPageSetupDialog>
#include <QtPrintSupport/QPrinter>
#endif // QT_NO_PRINTER
#include <QtWidgets/QFileDialog>
PrintToPdfDialog::PrintToPdfDialog(const QString &filePath, QWidget *parent):
QDialog(parent),
currentPageLayout(QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0))),
ui(new Ui::PrintToPdfDialog)
{
ui->setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
connect(ui->chooseFilePathButton, &QToolButton::clicked, this, &PrintToPdfDialog::onChooseFilePathButtonClicked);
#ifndef QT_NO_PRINTER
connect(ui->choosePageLayoutButton, &QToolButton::clicked, this, &PrintToPdfDialog::onChoosePageLayoutButtonClicked);
#else
ui->choosePageLayoutButton->hide();
#endif // QT_NO_PRINTER
updatePageLayoutLabel();
setFilePath(filePath);
}
PrintToPdfDialog::~PrintToPdfDialog()
{
delete ui;
}
void PrintToPdfDialog::onChoosePageLayoutButtonClicked()
{
#ifndef QT_NO_PRINTER
QPrinter printer;
printer.setPageLayout(currentPageLayout);
QPageSetupDialog dlg(&printer, this);
if (dlg.exec() != QDialog::Accepted)
return;
currentPageLayout.setPageSize(printer.pageLayout().pageSize());
currentPageLayout.setOrientation(printer.pageLayout().orientation());
updatePageLayoutLabel();
#endif // QT_NO_PRINTER
}
void PrintToPdfDialog::onChooseFilePathButtonClicked()
{
QFileInfo fi(filePath());
QFileDialog dlg(this, tr("Save PDF as"), fi.absolutePath());
dlg.setAcceptMode(QFileDialog::AcceptSave);
dlg.setDefaultSuffix(QStringLiteral(".pdf"));
dlg.selectFile(fi.absoluteFilePath());
if (dlg.exec() != QDialog::Accepted)
return;
setFilePath(dlg.selectedFiles().first());
}
QString PrintToPdfDialog::filePath() const
{
return QDir::fromNativeSeparators(ui->filePathLineEdit->text());
}
void PrintToPdfDialog::setFilePath(const QString &filePath)
{
ui->filePathLineEdit->setText(QDir::toNativeSeparators(filePath));
}
QPageLayout PrintToPdfDialog::pageLayout() const
{
return currentPageLayout;
}
void PrintToPdfDialog::updatePageLayoutLabel()
{
ui->pageLayoutLabel->setText(QString("%1, %2").arg(
currentPageLayout.pageSize().name()).arg(
currentPageLayout.orientation() == QPageLayout::Portrait
? tr("Portrait"): tr("Landscape")
));
}
Приложение З
(Обязательное)
Скрипт Inno Setup
#define Name "InterinClient"
#define Version "2.0.5"
#define Publisher "ООО Интерин технологии"
#define URL "http://www.interin.ru"
#define ExeName "InterinClient.exe"
[Setup]
AppId={{89ED2222-8C22-4F0B-A1CC-84770F5498F3}}
AppName={#Name}
AppVersion={#Version}
AppPublisher={#Publisher}
AppPublisherURL={#URL}
AppSupportURL={#URL}
AppUpdatesURL={#URL}
AppVerName={#Name} версия {#Version}
DefaultDirName=c:\Interin\InterinAlpha
DefaultGroupName=Interin
UninstallDisplayIcon={app}\{#ExeName}
OutputDir=D:\repos\Development\Builds\Windows\x32\InterinClient\install
OutputBaseFileName={#Name}_{#Version}_setup
Compression=lzma
SolidCompression=yes
;DiskSpanning=yes
;SlicesPerDisk=3
;DiskSliceSize=10000000
;ArchitecturesAllowed=x64
;ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"; LicenseFile: "License_ENG.txt"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: "License_RUS.txt"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; Flags: unchecked
[Files]
Source: "D:\repos\Development\Builds\Windows\x32\InterinClient\release\{#ExeName}"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\repos\Development\Projects\InterinClient\setup\qt.conf"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\repos\Development\Projects\InterinClient\docs\changelog.txt"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\repos\Development\Builds\Windows\x32\InterinClntMainWnd\release\InterinClntMainWnd.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\libEGL.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\libGLESv2.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\msvcp120.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\msvcr120.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\opengl32sw.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Qml.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Quick.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5WebChannel.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5WebEngineCore.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5WebEngineWidgets.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5Xml.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\QtWebEngineProcess.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\bin\Qt5PrintSupport.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\plugins\platforms\qminimal.dll"; DestDir: "{app}\plugins\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\plugins\platforms\qoffscreen.dll"; DestDir: "{app}\plugins\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\plugins\platforms\qwindows.dll"; DestDir: "{app}\plugins\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\resources\*"; DestDir: "{app}\resources"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Qt\Qt5.7.0\5.7\msvc2013\translations\qtwebengine_locales\*"; DestDir: "{app}\translations\qtwebengine_locales"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "E:\install\dotNetFx40_Full_x86_x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: not IsRequiredDotNetDetected
[Registry]
Root: HKCU; Subkey: Software\Interin; Flags: createvalueifdoesntexist uninsdeletekey;
Root: HKCU; Subkey: Software\Interin\InterinClient; Flags: createvalueifdoesntexist;
Root: HKCU; Subkey: Software\Interin\InterinClient\ModulesManager; Flags: createvalueifdoesntexist;
Root: HKCU; Subkey: Software\Interin\InterinClient\ModulesManager; ValueType: string; ValueName: main_module; ValueData: MainWindow; Flags: createvalueifdoesntexist;
Root: HKCU; Subkey: Software\Interin\InterinClient\ModulesManager\MainWindow; Flags: createvalueifdoesntexist;
Root: HKCU; Subkey: Software\Interin\InterinClient\ModulesManager\MainWindow; ValueType: string; ValueName:module_file; ValueData: InterinClntMainWnd.dll; Flags: createvalueifdoesntexist;
Root: HKCU; Subkey: Software\Interin\InterinClient\ModulesManager\MainWindow; ValueType: string; ValueName: module_path; ValueData: c:/Interin/InterinAlpha/; Flags: createvalueifdoesntexist;
[Icons]
Name: "{group}\Interin"; Filename: "{app}\{#ExeName}"
Name: "{group}\{cm:UninstallProgram, {#Name}}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\Интерин Alpha"; Filename: "{app}\{#ExeName}"; Tasks: desktopicon
;[Messages]
;#include "messages_rus.txt"
;[Code]
;#include "InterinClient.pas"
[Run]
;Filename: regedit.exe; Parameters: "/s {tmp}\registry.reg";
;Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Parameters: "/q:a /c:""install /l /q"""; Check: not IsRequiredDotNetDetected; StatusMsg: Microsoft Framework 4.0 is installed. Please wait...
[UninstallRun]
Filename: regedit.exe; Parameters: "/s -HKEY_CURRENT_USER\Software\Interin";
Размещено на Allbest.ru
Подобные документы
Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Разработка концептуальной модели базы данных. Реализация алгоритмов и разработка управляющей программы. Разработка структуры системы управления данными. Методика проведения и результаты тестирования. Функционирование разработанного программного модуля.
курсовая работа [550,5 K], добавлен 08.06.2023Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Разработка структурной диаграммы программного модуля. Представление схемы для основных расчетов выбранного приложения для создания прямоугольной матрицы. Особенности создания пользовательского интерфейса. Тестирование и отладка спроектированного модуля.
курсовая работа [648,4 K], добавлен 27.05.2015Разработка и реализация программы расчета заданных функций на языке программирования VBA. Математическая модель, параметры и характеристики задачи, критерии оценки эффективности созданного модуля. Разработка алгоритма и тестирование программного модуля.
курсовая работа [488,7 K], добавлен 08.09.2010Анализ модуля интеграции на предприятии "Вазаро". Оценка электронной коммерции и интернет-магазинов в частности. Реализация необходимых изменений в модуле интеграции "1С: Предприятие" и интернет-магазина. Расчет стоимости и прибыльности модернизации.
дипломная работа [2,8 M], добавлен 03.07.2014Постановка задачи для модуля 1С. Бухгалтерия 3.0. Анализ существующих разработок в области интегрирования данных. Информационное обеспечение модуля "Связь 1С Предприятия 8.2. с "Казначейством". Программное и технологическое обеспечение данного модуля.
курсовая работа [1,5 M], добавлен 10.06.2013Разработка структурной схемы и алгоритма функционирования микропроцессорного модуля программного обеспечения автоматизированной информатизационно-измерительной системы. Характеристика принципиальной схемы модуля, распределения памяти и задание портов.
курсовая работа [1,2 M], добавлен 28.08.2012