Классификация версий DELPHI
Первая версия Delphi обладала набором возможностей, которые немедленно привлекли мое пристальное внимание. Покорившими меня особенностями Delphi были ее идеология форм объектно – ориентированный подход, необычайно быстрый компилятор, прекрасные инструменты для работы с базами данных, тесная интеграция с программированием в среде Windows и технология компонентов. Но самой важной частью был язык OBJECTPASCAL, на фундаменте которого строилось все остальное.
Версия Delphi 2 была еще лучше! Среди ее наиболее важных дополнений были следующие: компонент TBDCtrlGrid для работы с несколькими записями одновременно, улучшенная сетка баз данных,поддержка автоматизации OLE и тип данных вариант, тесная интеграция с Windows 95, тип данных longstring и наследование форм. В Delphi 3 к этому добавились технология Codeinsight (система подсказок для написания кода ), возможность отладки DLL, шаблоны компонентов, TeeChart (библиотека компонентов для работы с графиками), Decision Сube(метакуб –многомерная модель данных),технология WebBroker (компоненты для программирования в интрасетях ), пакеты компонентов, ActiveForms (формы для разработки элементов ActiveX ) и замечательная интеграция с COM основанная на применении интерфейсов.
В Delphi 4 появился редактор AppBrowser, поддержка новых возможностей Windows 98, улучшенная поддержка OLE и COM, расширенные компоненты баз данных и множество добавлений к базовым классам VCL, включая поддержку фиксации ограничений и привязки элементов управления. В Delphi 5 к общей картине добавилось множество других улучшений IDE, расширенная поддержка баз данных, улучшенная версия MIDAS с поддержкой Интернета, инструмент управления версиями TeamSource, возможности лингвистического перевода, концепция фреймов, большое количество новых компонентов.
Delphi 6 добавляет ко всем уже существующим в Delphi возможностям поддержку так называемой кросс-платформенной разработки приложений (или, говоря иначе, возможность разработки приложений для платформы Х ), которая базируется на использовании новой библиотеки компонентов, расширенную библиотеку времени исполнения, новый базовый механизм работы с базами данных dbExpress, поддержку Web –служб и XML, мощную инфраструктуру разработки приложений для Web, новые улучшения IDE, а также огромное количество новых компонентов и классов.
Delphi – прекрасный инструмент разработки, но в то же время и сложная программная среда, состоящая из многих элементов.
2. ПРАКТИЧЕСКИЕ АСПЕКТЫ ПРОГРАММЫ
2.1 Функционально-структурная схема
Рис. 1- Функционально-структурная схема
2.2 Иерархия форм
Рис.2 - Главная форма
Рис. 3– API –функции
Рис.4 – Главная форма (прорисовка графиков)
Рис.5 -Наглядный метод решения
Рис.6 - Настройки
Рис 7 – Главная форма для вычисления интеграла
Работа с программой начинается с этой формы.
На этой форме вы можете рассчитать интеграл:
1. Выбрать интеграл
2. Выбрать метод (трапеций, Симпсона)
3. Ввести верхний предел интеграла
4. Ввести нижний предел интеграла
5. Ввести число разбиений
6. Нажав клавишу «Вперед» вычислить значение интеграла
Рис 8 – Форма для прорисовки графиков
На этой форме можно получить значения интегралов в зависимости от значений нижней границы при фиксированных значениях верхней границы определенного интеграла и построить графики
1. Выбрать интеграл
2. Нажать клавишу «График» и получить график выбранного вами интеграла
Рис 9 - Таблицы
На этой форме показан более детально метод нахождения интегралов.
Форма для применения функции WindowsAPISetForegroundWindow(HWND:hwnd);
Рис 10 – API –функции
На этой форме можно применить функцию SetForegroundWindow(HWND:hwnd) путем нажатия клавиши«Применить».
Форма для применения функции WindowsAPISetCurrentDirectory(IpPathName:PChar):bool;
Рис.11 – API-функции
На этой форме можно применить функцию SetCurrentDirectory(IpPathName:PChar):bool;
путем нажатия клавиши«Применить».
Форма настроек главной формы
Рис.12 - Настройки
На этой форме расположены настройки с помощью которых настраивается цвет и шрифты главной формы.
2.3 Элементы главной формы
Элемент формы | Назначение | Событие | |
Bitgraf | Кнопка для запуска процедуры прорисовки графиков | BitgrafClick | |
Buclear | Кнопка для очистки поля для вывода значений интегралов | BuclearClick | |
Burun | Кнопка для запуска процедуры вычисления интегралов | BurunClick | |
Cbint | Переключатель для выбора интеграла | CbintChange | |
CBmet | Переключатель для выбора метода решения | ||
ColorDialog | Палитра для выбора цвета | ||
DateTimePicker | Календарь (день,месяц,год) | ||
Edzn1 | Поле для ввода нижнего предела интеграла | ||
Edzn2 | Поле для ввода верхнего предела интеграла | ||
Gauge | Компонент для визуального отображения степени завершенности некоторой длительной орерации или процесса | ||
Imgraf | Поле для вывода графически результатов вычисления | ||
Imint | Поле для вывода графического изображения интеграла | ||
Kurs | Главная форма | MainMenuFormCreate | |
LbCbint | Метка которая указывает на переключатель Cbint | ||
LbCbmet | Метка которая указывает на переключатель Cbmet | ||
LbEdzn1 | Метка которая указывает поле Edzn1 | ||
LbEdzn2 | Метка которая указывает поле Edzn2 | ||
LbintGraf | Метка которая указывает поле Imgraf | ||
MMoutput | Поле для вывода значений припостроении графика | ||
LbznGr | Метка которая указывает поле MMoutput | ||
N22SetCurrentDirectory | Пункт меню для применении функции SetCurrentDirectory | N22GetCurrentDirectory1Click | |
N52SetForegroundWindow1Click | Пункт меню для применении функции SetForegroundWindow | N52SetForegroundWindow1Click | |
RBint1 | Переключатель для построения графика на первый интеграл | RBint1Click | |
RBint2 | Переключатель для построения графика на второй интеграл | RBint2Click | |
StatusBar | Строка для вывода подсказок |
2.4 ФункцииWindows API
SetForeGroundWindow function SetForegroundWindow(hWnd: HWND): BOOL;
Функция SetForegroundWindow(HWND:hwnd) предназначена для перевода окна, которое идентифицируемо пораметром hwnd,в" верхний слой " и перевода на него фокус, независимо от того, какой поток создал это окно.
SetForegroundWindow( HWNDhWnd // Маркер(дескриптор) окна, чтобы перенести к переднему плану)
Параметры
hWnd-дискриптор окна который идентифицирует окно, которое должно быть активизировано и перенесено к переднему плану.
Применение:
procedure TForm2.Timer1Timer(Sender: TObject);
begin
SetForegroundWindow(kurs.Handle);
Timer1.Enabled:=false;
end;
Обработчиком события является таймер (Timer1Timer) который и запускает функцию
SetCurrentDirectory
function SetCurrentDirectory(lpPathName: PChar): BOOL;
ФункцияSetCurrentDirectory(‘lpPathName: PChar ‘) изменяет (устанавливает) текущийкаталог. Возвращаемое значение было бы True, если текущий каталог был успешно изменен(заменен), или False, если ошибка произошла.
SetCurrentDirectory(
lpPathName// Адрес названия(имени) нового текущего каталога );
Параметры
lpPathName
Укажите на строку с нулевым символом в
конце, которая определяет путь к новому текущему каталогу.
Применение:
procedure TForm3.Button1Click(Sender: TObject);
begin
SetCurrentDirectory('c:\');
end;
Обработчиком события является кнопка (Button1Click) который и запускает функцию.
2.5 Основные процедуры
Расчет интегралов