рефераты рефераты
Главная страница > Отчет по практике: Разработка программного обеспечения  
Отчет по практике: Разработка программного обеспечения
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

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

4. Закрываем Дизайнер Меню и теперь за каждым пунктом меню закрепляем процедуру программы. Для этого просто щелкаем мышью на нужном пункте главного меню (оно уже появилось в форме).

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

·  за пунктом меню (п. Меню) «Привет!»:

//выдача сообщения при выборе п.Меню "привет"

procedure TForm1.N4Click(Sender: TObject);

begin

 ShowMessage('Привет мир, Windows и пользователь!ж:)'+#13#10+'Это мы из МГВРК!');

end;

#13#10 – символ конца строки. С его помощью осуществляется переход на другую строку в окне выдачи сообщения. ‘ ж:)’ = – символ “смешной рожицы с челочкой”

·  за п. Меню «Аргумент»:

//выбор пункта меню "Аргумент"

procedure TForm1.N7Click(Sender: TObject);

begin

 label1.Caption:='Введите значение x:';

 edit1.Visible:=true;

 form1.activecontrol:=Edit1;

 end;

·  за п. Меню «Выход»:

//выбор п.Меню "Выход" - выход из приложения

procedure TForm1.N2Click(Sender: TObject);

begin

 close;

end;

·  за пунктами Меню cos(x), sin(x), tg(x), ctg(x):

//обработка выборов п.п.Меню "Функция" до разделителя:

//cos(x), sin(x), tg(x), ctg(x) осуществляется ОДНОЙ процедурой

procedure TForm1.cosx1Click(Sender: TObject);

var

 cod:Integer;

 ws,resstr:String;

begin

 ws:=Edit1.text;

 val(ws,x,cod);

 try //начало блока try...except..end

 with Sender As TMenuItem do //будем обрабатывать Sender как пункт Меню

 begin                   //объект Sender вызвал эту процедуру

 if (Sender = cosx1) then //если sender - это cosx1 (т.е.cos(x)), тогда:

 begin

 str(cos(x):1:4,ws);//сразу преобразуем значение функции в строку

 Resstr:='Cos(x) = ';//и определим начало результирующей строки

 end;

 if (Sender = sinx1) then

 begin

 str(sin(x):1:4,ws);

 Resstr:='Sin(x) = ';

 end;

 if (Sender = tgx1)then

 begin

 str(tan(x):1:4,ws);

 Resstr:='tg(x) = ';

 end;

 if (Sender = ctgx1)then

 begin

 str(cotan(x):1:4,ws);

 Resstr:='Ctg(x) = ';

 end;

 end;

 except //если в блоке try...except возникла ошибка, она обрабатывается ЗДЕСЬ

 ShowMessage('А существует ли значение выбранной функции для Вашего аргумента?');

 exit; //а мы просто о ней сообщим

 end;

 ShowMessage(Resstr + ws);

end;

·  за событием OnKeyPress элемента Edit1:

//выполняется при вводе символов в Edit

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

 if not (key in ['0'..'9','-']) then

 key:=#0;

end;

·  за пунктом меню arccos(x)':

//выбор п.Меню arccos(x)'

procedure TForm1.arccosx1Click(Sender: TObject);

begin //прямое преобразование Sender в элемент меню TMenuItem

 TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);

 if (TMenuItem(Sender).checked) then

 image1.visible:=true

 else

 image1.visible:=false;

end;

·  за пунктом меню arcsin(x)':

//выбор п.Меню arcsin(x)'

procedure TForm1.arcsinx1Click(Sender: TObject);

begin

 TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);

 if (TMenuItem(Sender).checked) then

 image2.visible:=true

 else

 image2.visible:=false;

end;

·  за пунктом меню arctg(x)':

//выбор п.Меню arctg(x)'

procedure TForm1.arctgx1Click(Sender: TObject);

begin

 TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);

 if (TMenuItem(Sender).checked) then

 image3.visible:=true

 else

 image3.visible:=false;

end;

·  за пунктом меню arcctg(x)':

//выбор п.Меню arcctg(x)'

procedure TForm1.arcctgx1Click(Sender: TObject);

begin

 TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);

 if (TMenuItem(Sender).checked) then

 image4.visible:=true

 else

 image4.visible:=false;

end;

На рисунке 3 изображен вид работающей программы.

Рис. 3. Работающее программное приложение.

Индивидуальные задания.

Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с этим установите количество визуальных компонент в форме.

Во всех заданиях скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента TLabel. Массивы представлять на форме в виде компонентов TStringGrid, в которых 0-й столбец и 0-ю строку использовать для отображения индексов массивов. Вычисления выполнять после нажатия соответствующих кнопок визуального компонента MainMenu.

1.  Задана матрица размером NxM. Получить массив В, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 в противном случае.

2.  Задана матрица размером NxM. Получить массив В, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, и значение 0 в противном случае.

3.  Задана матрица размером NxM. Получить массив В, присвоив его k-му значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае.

4.  Задана матрица размером NxM. Определить k - количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.

5.  Задана матрица размером NxM. Определить k - количество "особых" в матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа - большие.

6.  Задана символьная матрица размером NxM. Определить k - количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).

7.  Дана матрица размером NxM. Упорядочить ее строки по неубыванию их первых элементов.

8.  Дана матрица размером NxM. Упорядочить ее строки по неубыванию суммы их элементов.

9.  Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов.

10.  Определить, является ли заданная квадратная матрица n-го порядка симметричной относительно побочной диагонали.

11.  Для матрицы размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце, или наоборот.

12.  В матрице n-го порядка переставить строки так, чтобы на главной диагонали матрицы были расположены элементы, наибольшие по абсолютной величине.

13.  В матрице n-го порядка найти максимальный среди элементов, лежащих ниже побочной диагонали, и минимальный среди элементов, лежащих выше главной диагонали.

14.  В матрице размером NхМ поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением.

15.  Из матрицы n-го порядка получить матрицу порядка n-1 путем удаления из исходной матрицы строки и столбца, на пересечении которых расположен элемент с наибольшим по модулю значением.


Лабораторная работа 4.

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИЙ OLE И СОМ В ВИЗУАЛЬНОМ ПРОГРАММИРОВАНИИ.

Цель работы: познакомиться на конкретных примерах с технологиями OLE и СОМ.

Основные понятия.

На протяжении многих лет программисты стремятся придумать способы, позволяющие использовать уже написанные коды. Например, если в программе нужна работа с таблицами, то зачем придумывать велосипед, если есть Microsoft Excel. Технология, позволяющая вызвать из вашей программы Excel или даже встроить это приложение в свою систему, называется OLE. Студентам предлагается познакомиться на лабораторном занятии с этой технологией.

Еще одним шагом в эволюции программирования стала технология СОМ. По сути, именно она лежит в основе технологии OLE, и именно с помощью нее реализуется сложное взаимодействие между приложениями, написанными разными программистами и на разных языках. На этом занятии предлагается рассмотреть использование СОМ-серверов Delphi для работы с Word и Excel.

Программа 1 (OLE технологии).

Шаг 1. Создайте новую форму.

Шаг 2. Расположите на ней компоненты: OLEContainer (закладка System) и кнопку (Button).

Шаг 3. Создайте файл Excel. Занесите в него свои ФИО. Сохраниете его ‘H:\l.xls’.

Шаг 4. Создайте процедуру обработки сообщения о нажатии на кнопку:

procedure TForml.ButtonlClick(Sender: TObject); begin

OLEContainerl.CreateLinkToFile('H:\1.xls',FALSE); end;

Шаг 5. Скомпилируйте приложение. Нажмите на кнопку. Убедитесь, что в OLEContainer будет загружен созданный вами файл 1 .xls.

Шаг 6. Щелкните 2 раза на OLEConatainer, и вы увидите, что будет запущен Microsoft Excel с загруженным в него вашим фалом. Внесите в файл изменения. Сохраните файл и закройте Excel. Нажмите в своем приложении кнопку и убедитесь, что в OLEContainer отобразились изменения файла (рис. 1).

Шаг 7. Измените процедуру обработки сообщения о нажатии на кнопку следующим образом:

procedure TForml.ButtonlClick(Sender: TObject);

begin

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

рефераты
Новости