Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Разработка объектной программы для задачи

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

Теперь, нужно поменять стандартную минимизацию приложения, на «свёртывание в трей». При нажатии пользователем на кнопку «минимизации» Windows посылает окну сообщение WM_SYSCOMMAND и структуру Msg с параметром WParam равным SC_MINIMIZE. Как только окно примет это сообщение оно минимизируется в нижнюю панель (TaskBar). Т. е. для того, что бы окно «свёртывалось» в трей мы должны перехватить это… Читать ещё >

Содержание

  • Введение
  • 2. Построение инфологической концептуальной модели (ER-модели)
  • 3. Построение реляционной схемы из ER — модели данных
  • 4. Описание программы
    • 4. 1. Описание создания базы данных
    • 4. 2. Установление связи между базой данных и средой программирования Delphi
    • 4. 3. Создание форм, панелей инструментов, меню
  • 5. Руководство пользователя
    • 5. 1. Требования к системе
    • 5. 2. Работа с программным обеспечением
  • Заключение
  • Список использованной литературы

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

В данном приложении предусмотрена возможность располагать дочерние окна каскадом, вертикальной стопкой и горизонтальной стопкой. Эти операции выполняются при помощи кнопок «Разместить каскадом», «Разместить горизонтально», «Разместить вертикально» главного меню «Окна» и панели инструментов. Эти операции производятся при помощи процедур. Таким образом, каскадное расположение окон выполняется процедурой: procedureCascade (Sender: TObject);begincascade;end;и показана на рисунке 24.Рис. 24. Каскадное расположение окон

Для того чтобы расположить все дочерние окна вертикально необходимо выполнить нижеописанную процедуру и итог ее действия представлен на рисунке 25. procedure Vertical (Sender: TObject);beginform1.tilemode:=tbVertical;Form1.Tile;end;Рис. 25. Вертикальное расположение окон

По аналогии с предыдущим примером создано горизонтальное расположение дочерних окон в пределах главного окна при помощи процедуры Horizontal. Результатоперациипоказаннарисунке 26. procedure Horizontal (Sender: TObject);beginform1.tilemode:=tbHorizontal;Form1.Tile;end;Рис. 26. Горизонтальное расположение окон

При необходимости быстрого закрытия всех дочерних окон можно воспользоваться кнопкой «Свернуть все», закрывающей все дочерние окна, которая срабатывает по следующей процедуре: procedure CloseAll (Sender: TObject);vari: integer;beginfor i:= 0 to MdiChildCount — 1 doMDIChildren[i]. C lose;end;В связи с развитием ИТ индустрии и качеством программного обеспечения в частности, часто сталкиваются с элементом интерфейса ОС Windows SysTray (это там где находятся часы). S ysTray, как известно, используют большое количество популярных программ. Это очень популярный образ рационального использования ресурсов компьютера. Но нет такого компонента, который бы мог «свернуть окно в трей».

Фигурально нет даже такого понятия. Можно только: добавлять, удалять и менять значок в области трея в то время как основное окно программы прячется или минимизируется. Для работы со значками в трее используется функция Shell_NotifyIcon из модуля ShellApi. Сначала разработаем процедуру которая будет выполнять вышеперечисленные действия со значком в SysTray’ее.procedure TForm1. Ic (n: Integer; Icon: TIcon);Var Nim: TNotifyIconData;beginWith Nim doBegincbSize:=SizeOf (Nim);Wnd:=Form1.Handle;uID:=1;uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;hicon:=Icon.Handle;uCallbackMessage:=wm_user+1;szTip:=Мебельныймагазин';End;Case n OF1: Shell_NotifyIcon (Nim_Add,@Nim);2: Shell_NotifyIcon (Nim_Delete,@Nim);3: Shell_NotifyIcon (Nim_Modify,@Nim);End;end;Каквидимвпроцедурупередаётсядвапараметра, этоn — действиекотороенужновыполнитьиIcon — иконка, которуюнужнозагрузить.

Теперь, нужно поменять стандартную минимизацию приложения, на «свёртывание в трей». При нажатии пользователем на кнопку «минимизации» Windows посылает окну сообщение WM_SYSCOMMAND и структуру Msg с параметром WParam равным SC_MINIMIZE. Как только окно примет это сообщение оно минимизируется в нижнюю панель (TaskBar). Т. е. для того, что бы окно «свёртывалось» в трей мы должны перехватить это сообщение (посылаемое Windows) и сделать то, что мы хотим. Для этого объявляем в секции protected нашего объекта TForm процедуруprocedureTForm1. ControlWindow (varMsg: TMessage);beginIF Msg. WParam=SC_MINIMIZE thenBeginIc (1,Application.Icon); ShowWindow (Handle, SW_HIDE);ShowWindow (Application.Handle, SW_HIDE);End else inherited;end;Процедура, как видно, не свёртывает окно приложения, а просто прячет его функцией ShowWindow (Handle, SW_HIDE). Итак, теперь обработчик ловит сообщение о минимизации и прячет нашу программу в трей. Нужно ещё переопределить обработчик onMinimize класса TApplication.

Лучше всего это сделать при создании нашего окна, поэтому пишем в событии OnCreateProcedure TForm1. Form1Create (Sender:TObject);BeginApplication.onMinimize:=OnMinimizeProc;End;СамажепроцедуравыглядиттакProcedure TForm1. OnMinimizeProc (Sender:TObject);BeginPostMessage (Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);End;ФункцияPostMessage (Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0); простопосылаетнашемуокнусообщениеоминимизации, аоновсвоюочередьзапускаетпроцедуруWindowMessage. Теперь приложение свёртывается в SysTray. Следующая задача — чтобы значок в трее мог реагировать на манипуляции с ним, т. е. чтобы приложение «показалось» при нажатии на значке мышкой. Строим всё по аналогии с предыдущими рассуждениями. При щелчке пользователем на иконку приложению передаётся сообщение WM_USER+1 со структурой Msg, где её параметр LParam равен M_LBUTTONUP — если щелчёк был один или WM_LBUTTONDBLCLKдвойной щелчок по иконке. Всекции protected пишем Procedure MouseClick (var Msg: TMessage); message WM_USER+1;Самапроцедураprocedure TForm1. MouseClick (var Msg: TMessage);Var p: tpoint;BeginGetCursorPos (p);Case Msg. LParam OFWM_LBUTTONUP, WM_LBUTTONDBLCLK: {Действия, выполняемыйпо одинарному или двойному щелчку левой кнопки мыши на значке}Begin ActionIcon (2,Application.Icon);ShowWindow (Application.Handle, SW_SHOW);ShowWindow (Handle, SW_SHOW);End;End;End;Процедура MouseClick перехватывает сообщение о щелчке на иконку и выполняет противоположные действия процедуре WindowMessage. [

9]. Для того чтобы значок в трее реагировал на правое нажатие кнопки мыши и открывал меню на форме располагается компонент TPopUpMenu и в процедуру MouseClick вносятся следующее измененияWM_RBUTTONUP:BeginSetForegroundWindow (Handle);PopupMenu1.Popup (p.X, p. Y);PostMessage (Handle, WM_NULL, 0,0);end;Для предоставления необходимой информации существует возможность использования меню помощи. Эту операцию можно провести при помощи кнопки на панели инструментов или соответствующим пунктом меню. Для этой цели в приложении добавлена форма, на которой расположен компонент PageControl. Этот компонент используется в том случае, когда необходимо расположить компоненты на одной форме, но на разных вкладках.

Для запуска окна с этим компонентом используется процедура. procedureAboutForm (Sender: TObject);beginif not n34. Enabled thenform10.Close;Application.CreateForm (TForm10, Form10);n33.Enabled:=false;toolbutton22.Enabled:=false;form10.PageControl1.ActivePageIndex:=0;end;procedure HelpForm (Sender: TObject);beginif not n33. Enabled thenform10.Close;Application.CreateForm (TForm10, Form10);n34.Enabled:=false;toolbutton23.Enabled:=false;form10.PageControl1.ActivePageIndex:=1;end;Так как оба пункта меню открывают одну и ту же форму, то перед открытием производится проверка на открытие этой формы, в этом случае форма, закрывается и открывается вновь. При этом в новой MDIформе события для запуска и закрытия формы характерны другим MDIформам. В отличии от других MDIформ форма поиска содержит компонент WebBrowser, который используется для отображения Web документов. Поэтому при запуске формы в компонент WebBrowserзагружается документ about. mht для страницы «О программе», help. mht для страницы «Помощь» (см. рис. 27).Рис. 27. Окно справки и помощи

Для того, чтобы MHT-документ загрузился в WebBrowserиспользуется процедура Navigate: procedure TForm10. FormCreate (Sender: TObject);beginPath:=ExtractFilePath (Application.ExeName);webbrowser1.Navigate (Path+'about.mht');webbrowser2.Navigate (Path+'help.mht');end;Так как для открытия документа необходим полный путь к файлу, то перед запуском система определяет расположение самого приложения при помощи функции ExtractFilePath (Application.ExeName) и открывает файл с соответствующим именем. Так же как видно на рисунке 27 приложение оснащено панелью инструментов для работы скомпонентом WebBrowser. Эта панель содержит кнопки «Сохранить», «Печать», «Предварительный просмотр», «Поиск», «Размер шрифта», «Выход» (см. рис 28).Для выполнения первых трех кнопок используются встроенные функции для компонента WebBrowser. Перед выполнением идет проверка активной страницы. Для сохранения используется функция: WebBrowser1. ExecWB (OLECMDID_SAVEAS, 1);Дляпечати — WebBrowser1. ExecWB (OLECMDID_PRINT, 1);Для предварительного просмотра — WebBrowser1. ExecWB (OLECMDID_PRINTPREVIEW, 1).Поиск по документу производится по аналогичному алгоритму при помощи нижеописанной процедуры. procedure Find (Sender: TObject);constCGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';varCmdTarget: IOleCommandTarget;vaIn, vaOut: OleVariant;PtrGUID: PGUID;beginNew (PtrGUID);PtrGUID^ := CGID_WebBrowser;if WebBrowser1. Document nil thentryWebBrowser1.Document.QueryInterface (IOleCommandTarget, CmdTarget);if CmdTarget nil thentryCmdTarget. Exec (PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);finallyCmdTarget._Release;end;exceptend;end;Dispose (PtrGUID);end;Для удобного прочтения документа существует возможность выбора размера шрифта документа из списка: 50%, 75%, 100%, 125%, 150%, 175%, 200%.Для того чтобы пользователь имел возможность изменения размера шрифта создан компонент ComboBoxEx, в котором указаны данные размеры. После выбора размера срабатывает процедура для данной операции. Она отслеживает нажатие клавиш, щелчок по кнопке на панели инструментов и движение колеса мыши.

10]. procedure TForm10. ComboBoxEx1Click (Sender: TObject);var s, mas: string;beginif pos ('%', ComboBoxEx1. Text)=0 thenwebbrowser1.OleObject.Document.Body.Style.Zoom :=strtoint (ComboBoxEx1.Text)/100elsebegins:=ComboBoxEx1.Text;delete (s, pos ('%', ComboBoxEx1. Text), 1);mas:=s;webbrowser1.OleObject.Document.Body.Style.Zoom:=strtoint (s)/100;end;end;procedure TForm10. ComboBoxEx1EndEdit (Sender: TObject);var s: string;beginif pos ('%', ComboBoxEx1. Text)=0 thenbeginComboBoxEx1. Text:=ComboBoxEx1.Text+'%'endelsebegins:=ComboBoxEx1.Text;delete (s, pos ('%', ComboBoxEx1. Text), 1);endend;procedure TForm10. ComboBoxEx1KeyPress (Sender: TObject; var Key: Char);beginif not ((key>='0') and (key<='9') or (key=#8)) then key:=chr (0);end;Рис. 28. Использование операции поиска и печати5 Руководство пользователя5.

1 Требования к системе

Приложение разработано для любых IBM совместимых компьютеров, под управлением Windows NT или более поздними версиями Windows на которых установлены средства для работы с мультимедийными приложениями (звук, видео, графика). Размер занимаемой памяти не превышает 25 Мбайт. Установка и запуск программы не должны вызывать затруднение. Минимальные требования для работы данного учебного комплекса:

Компьютер типа IBM с процессором Intel Pentium II или выше;

— Операционная система Windows NT или выше;

— Наличие лазерного CD дисковода для установки программы;

— Наличие 25 Мбайт свободного пространства на жестком диске для установки программы;

— Наличие полной установки пакета Microsoft Office 2003 или Microsoft Office 2007.

5.2 Работа с программным обеспечением

Сохранение — позволяет сохранить страницу, которая используется в данный момент в виде страницы HTML на локальную папку или устройства для хранения; Печать — производит вывод на печать текущей страницы; Предварительный просмотр — открывает страницу в режиме предварительного просмотра с возможностью печати или копирования какой-либо части документа; Поиск — производит поиск по документу с возможностью указания расширенного поиска. Заключение

Таким образом, работа над фрагментом информационной системы базы данных «Мебельный магазин» была завершена, что является достижением поставленной цели. Для этого было необходимо изучить основы работы магазина, включающие в себя информацию о приходе товара, расходе, информацию о поставщиках, атакже различные классификации товара и его основные параметры для представления; был рассмотрен минимальный кадровый состав отдельной аптеки и функции персонала. Самой важной частью моей работы является изучение особенностей баз данных и их свойств, анализ СУБД, и основных компонентов среды Delphi и технологии ADO, которые позволяют оперировать базами данных. Затем в СУБД MS Access была составлена база данных из шести таблиц, которая отражает заданную предметную область. После того как, база данных «Мебельный магазин» была готова, было создано приложение методами среды программирования Delphi при использовании технологии ADO. Оно содержит необходимые компоненты для подключения базы данных и вывода ее таблиц на экран, а также снабжено возможностью пользовательского редактирования записей. Список использованной литературы1. Сохранение базы данных Jet 4.0 в работоспособном состоянии. Поддержка Microsoft. URL:

http://support.microsoft.com/kb/303 528/ru2.Delphi. Профессиональное программирование. Осипов Д. — СПб.: БХВ-Петербург, 2016. — 1056 с.

3.Когаловский М. Р. Энциклопедия технологий баз данных. Когаловский М. Р. — М.: Финансы и статистика, 2002. — 800 с.

4.Фленов М. Е. Библия Delphi. Фленов М. Е. — СПб.: БХВ-Петербург, 2011. — 688 с.

5.Хомоненко А. Д. Самоучитель Delphi.NET. Хомоненко А. Д. — СПб.: БХВ-Петербург, 2006. — 464 с.

6.Швецов В. И., Визгунов А. Н., Мееров И. Б. Базы данных: учеб. пособие / Швецов В. И., Визгунов А. Н., Мееров И. Б. — Н. Новгород: Изд-во ННГУ, 2004. — 217 с.

7.Базы данных и Delphi. Теория и практика. Осипов Д. Л. — СПб.: БХВ-Петербург, 2011. — 752 с.

8.Основы программирования в Delphi XE. Культин Н. Б. — СПб.: БХВ-Петербург, 2011. — 416 с.

9.Использование Delphi для создания приложений баз данных. Устюгова В. Н., -Казань: Казань 2010, 2010. — 72 с.

10.Delphi в примерах, играх и программах. Рубанцев Валерий. — М.: Я + R, 2011. — 418.

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

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

  1. Сохранение базы данных Jet 4.0 в работоспособном состоянии. Поддержка Microsoft. URL: http://support.microsoft.com/kb/303 528/ru
  2. Delphi. Профессиональное программирование. Осипов Д. — СПб.: БХВ-Петербург, 2016. — 1056 с.
  3. М.Р. Энциклопедия технологий баз данных. Когаловский М. Р. — М.: Финансы и статистика, 2002. — 800 с.
  4. М.Е. Библия Delphi. Фленов М. Е. — СПб.: БХВ-Петербург, 2011. — 688 с.
  5. А.Д. Самоучитель Delphi.NET. Хомоненко А. Д. — СПб.: БХВ-Петербург, 2006. — 464 с.
  6. В.И., Визгунов А. Н., Мееров И. Б. Базы данных: учеб. пособие / Швецов В. И., Визгунов А. Н., Мееров И. Б. — Н. Новгород: Изд-во ННГУ, 2004. — 217 с.
  7. Базы данных и Delphi. Теория и практика. Осипов Д. Л. — СПб.: БХВ-Петербург, 2011. — 752 с.
  8. Основы программирования в Delphi XE. Культин Н. Б. — СПб.: БХВ-Петербург, 2011. — 416 с.
  9. Использование Delphi для создания приложений баз данных. Устюгова В. Н., -Казань: Казань 2010, 2010. — 72 с.
  10. Delphi в примерах, играх и программах. Рубанцев Валерий. — М.: Я + R, 2011. — 418.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ