// выполним перезапись через файл
handle = open(FileName, O_CREAT|O_TRUNC|O_BINARY|O_RDWR );
if(handle != -1)
{
write(handle, str, 64);
write(handle, buf, strlen(buf));
}
close(handle);
hLib=GetModuleHandle(DLL_LAB2); // проверка загрузки
if(hLib==NULL)
hLib=LoadLibrary(DLL_LAB2);// вызываем DLL
DLLPROC DinProc=(DLLPROC)GetProcAddress(hLib,"SearchConRTF");
if (DinProc != NULL)
count=DinProc();// вызов функции DLL
(void)FreeLibrary(hLib);
Edit2->Text=IntToStr(count); // вывод результата поиска
RichEdit1->Lines->LoadFromFile(FileName);
// удалить буфер
delete buf;
}
//---------------------------------------------------------------------------
22. В заголовочном файле <unit>.hpp ввести имя DLL-модуля. Пример приведен ниже.
#define DLL_LAB2 "Lab2d.dll" //
23. Выполнить компиляцию. Устранить ошибки и проверить правильность выполнения функции.
24. Для отладки DLL-модуля выполнить действия по п.12.
Контрольные задания и вопросы:
1. Привести алгоритмы загрузки DLL-модулей в адресное пространство приложения.
2. Каким образом осуществляется передача переменных между ЕХЕ-модулей и DLL-модулем?
3. Разработать обмен переменными между «динамическим» DLL-модулей и ЕХЕ-модулем через вызов функции.
4. Разработать обмен переменными между «динамическим» DLL-модулей и ЕХЕ-модулем через буфер обмена Clipboard [3].
5. Предусмотреть активизацию кнопки «Преобразовать в Ansi» только в том случае, если русский текст не читаем.
6. Предусмотреть блокировки кнопок управления программой от неправильных действий оператора (защита от «дурака»).
Требования к отчету:
Отчет должен содержать:
титульный лист;
задание;
алгоритмы проецирования DLL-модуля на адресное пространство приложения;
листинги основных процедур;
структуру приложения с учетом DLL-модулей;
ответы на контрольные задания и вопросы.
Отчет должен быть выполнен чисто и аккуратно. При оформлении отчета рекомендуется использовать различные текстовые и графические редакторы. Студент, допустивший отклонения от требований, к защите работы не допускается.
Целью данной работы является изучение способов интеграции компонентов ActiveX в разрабатываемое приложение и использование стандартных компонентов ActiveX для построения разнообразных диаграмм и графиков.
Задание
Разработать приложение, обеспечивающее просмотр частотно-модулированного сигнала оцифрованного 8-разрядным АЦП. На экран необходимо вывести осциллограмму сигнала длительностью 512 точек и спектр отображаемого сигнала.
Компонента ChartFX
Для построения на форме разнообразных графиков и диаграмм используется компонента ChartFX вкладки ActiveX.
Дважды щелкнув мышью по компоненте или выбрав опцию Properties из ее контекстного меню, вы откроете диалоговое окно установок вида и множества других характеристик диаграммы. Свойства, методы и события компоненты ChartFX обеспечивают выполнение следующих основных операций над диаграммами и графиками:
· создание простых диаграмм;
· передача исходных данных в новую диаграмму;
· редактирование данных в существующей диаграмме;
· изменение легенд, заголовок и других визуальных атрибутов диаграммы (видов, цветов, орнаментов заливки, шрифтов, координатных сеток и т.д.);
· создание инструментов и других визуальных элементов управления диаграммой.
Подробное руководство по использованию компоненты ChartFX можно вызвать из справочной службы при нажатии клавиши Ctrl+F1 (файл справки – с:\…\Borland\Cbuilder5\OCX\CHARTFX\cfx2ocx.hlp).
Порядок выполнения лабораторной работы №8
Лабораторная работа должна выполняться в следующем порядке:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.