Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 390

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
1.12 Mб
Скачать

Прием данных

По COM2 принимаются данные в буфер (256 символов), который выводится как строка компонентой Edit1.

TEdit *Edit1; void main()

{

HANDLE hFile; char lpBuffer[256];

DWORD lpNumberOfBytesRead; memset(lpBuffer,sizeof(lpBuffer),0);

hFile=CreateFile("COM2",GENERIC_READ,0,NULL,OPEN_EXISTIN G,NULL,NULL);

if (hFile==INVALID_HANDLE_VALUE)

{

char message[]="Ошибка открытия устройства \"COM2\" !!!\n - - ";

LPVOID lpMsgBuf;

FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMA

T_MESSAGE_FROM_SYSTEM,

NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL,SUBLANG_D EFAULT),

(LPTSTR)&lpMsgBuf,0,NULL);

strcat(message,(LPTSTR)lpMsgBuf); MessageBox(NULL,message,"Сообщение",MB_OK); LocalFree(lpMsgBuf );

}

else

{

ReadFile(hFile,lpBuffer,sizeof(lpBuffer),&lpNumberOfBytesRead,NULL );

Edit1->Text=lpBuffer;

}

CloseHandle(hFile);

}

91

6. ВЫПОЛНЕНИЕ КУРСОВОЙ РАБОТЫ

Курсовая работа состоит из пояснительной записки, содержащей основные теоретические сведения и программы, реализующей отдельные функции согласно выбранному варианту.

Пояснительная записка курсовой работы должна содержать следующие разделы:

1.Титульный лист.

2.Лист содержания.

3.Цели и задачи курсового проектирования.

4.Основные теоретические положения по организации дисковой и файловой системы Windows, назначению и организации устройств ручного ввода, видеосистемы, печатающих устройств, способам обмена данными.

5.Сведения по реализации функций WIN32 API работы

сдисковой и файловой системы Windows, устройствами ручного ввода, видеосистемой, печатающими устройствами, организации обмена данными по последовательному интерфейсу.

6.Структуру проекта, соответствующего заданию (набор взаимосвязанных программных модулей).

7.Библиографический список литературы.

8.Приложения, содержащие листинги программных средств с комментариями.

Для выполнения курсовой работы требуется среда визуального проектирования С++ Builder или другая по согласованию с преподавателем .

Курсовая работа выполняется в следующем порядке.

1.Получить задание у преподавателя. Варианты заданий приведены в табл. 1- 5.

2.Изучить описание заданных функций, включая синтаксис функций.

3.Разработать в программной среде проект, который должен включать все заданные функции согласно варианту.

Форма окна и интерфейс пользователя для вызова и

92

просмотра результатов выполнения функций определяется самостоятельно.

4.Отладить проект и получить выполняемый файл

(*.ехе).

5.Показать результаты выполнения заданных функций преподавателю.

Таблица 1 Дисковая и файловая система. Варианты заданий

 

Информация о дисках

Информация о файлах

 

Управляющие

 

 

 

и директориях

 

 

 

функции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер варианта

GetLogicalDrives

GetLogicalDriveStrings

GetDriveType

GetVolumeInformation

GetDiskFreeSpace

GetCurrentDirectory

GetFullPathName

GetFileAttributes

GetFileSize

FindFistFile

FindNextFile

CreatDirectory

RemoveDirectory

SetCurentDirectory

Set FileAttributes

CreateFile

ReadFile

WriteFile

CopyFile

MoveFile

DeleteFile

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

+

+

 

 

 

+

+

 

 

 

 

+

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

+

+

 

 

 

+

+

 

 

 

 

 

 

+

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

+

 

 

 

+

 

 

 

 

+

+

+

+

 

 

 

 

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

+

+

 

 

+

 

+

 

 

 

 

 

+

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

+

+

 

+

 

+

 

 

 

 

 

 

 

 

+

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

+

 

+

 

 

 

 

+

 

+

 

 

+

+

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

+

 

+

 

 

 

 

+

 

+

 

 

 

+

+

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

+

 

+

+

 

 

+

 

 

+

 

 

+

 

 

+

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

+

 

 

+

 

 

+

 

 

+

 

 

+

 

 

+

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

+

 

 

+

 

 

+

 

 

+

 

 

+

+

 

+

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

93

Таблица 2

Устройства ручного ввода. Варианты заданий

 

Информация о

Информация

 

Управляющие функции

 

 

клавиатуре

 

о мыше

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер варианта

GetKeyboardType

GetKeyboardState

GetKeyState

GetAsyncKeyState

 

GetCursorPos

 

GetKeyboardState

GetSystemMetrics

SystemParametersInfo

SetKeyboardState

ShowCursor

SwapMouseButton

ClipCursor

SetCursorPos

 

SystemParametersInfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

+

+

 

+

 

+

 

 

 

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

+

+

 

 

 

 

+

+

 

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

+

 

+

+

 

 

 

 

 

+

 

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

+

+

 

 

 

+

 

+

 

 

 

 

 

+

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

+

+

 

 

 

 

 

+

+

+

 

 

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

+

 

+

+

 

 

 

+

 

 

+

+

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

+

+

 

 

 

+

 

 

+

 

 

+

 

+

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

+

+

 

 

 

 

+

 

+

+

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

+

 

+

+

 

 

 

 

+

 

 

+

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

+

+

 

 

 

+

 

 

 

+

 

 

+

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

94

Таблица 3

Видеосистема. Варианты заданий

 

Информационные

 

Управляющие

 

 

функции

 

 

 

 

функции

 

Номер варианта

GetSysColor

SystemParametersInfo

GetSystemMetrics

GetDeviceCaps

EnumDisplaySetting

 

GetPixel

SetSysColors

SystemParametersInfo

ChangeDisplaySetting

BitBlt

 

 

 

 

 

 

 

 

 

 

 

 

1

+

+

+

 

 

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

+

+

 

+

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

+

+

+

 

 

 

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

+

+

+

 

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

5

+

 

+

 

+

 

 

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

6

 

+

 

+

 

 

+

+

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

7

+

+

 

 

 

 

+

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

8

 

+

 

 

+

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

+

 

+

+

 

 

 

 

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

10

+

 

 

 

+

 

+

+

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

95

Таблица 4 Организация связи с принтером. Варианты заданий

 

 

 

Функции

 

 

Номер варианта

 

 

 

 

 

 

GetProfileString

DeviceCapabilities

GetDeviceCaps

PrintDlg

WriteFile

BitBlt

 

 

 

 

 

 

 

1

+

+

+

 

+

+

 

 

 

 

 

 

 

2

 

+

+

+

+

+

 

 

 

 

 

 

 

3

+

 

+

+

+

+

 

 

 

 

 

 

 

4

+

+

 

+

+

+

 

 

 

 

 

 

 

5

+

+

+

+

 

+

 

 

 

 

 

 

 

6

+

+

+

+

+

 

 

 

 

 

 

 

 

7

+

+

+

 

+

+

 

 

 

 

 

 

 

8

 

+

+

+

+

+

 

 

 

 

 

 

 

9

+

 

+

+

+

+

 

 

 

 

 

 

 

10

+

+

 

+

+

+

 

 

 

 

 

 

 

96

Таблица 5 Организация связи по последовательному интерфейсу. Варианты заданий

 

 

Функции

 

 

Номер варианта

 

 

 

 

 

Настройка параметров передающей стороны

Настройка параметров приемной стороны

 

Передача текста

Прием текста

 

 

 

 

 

 

1

+

 

 

+

 

 

 

 

 

 

 

2

 

+

 

 

+

3

+

 

 

+

 

 

 

 

 

 

 

4

 

+

 

 

+

 

 

 

 

 

 

5

+

 

 

+

 

6

 

+

 

 

+

7

+

 

 

+

 

8

 

+

 

 

+

9

+

 

 

+

 

10

 

+

 

 

+

 

 

 

 

 

 

Символ «+» означает использование функции столбца.

97

ЗАКЛЮЧЕНИЕ

В учебном пособии рассмотрены вопросы использования функций WIN32 API для формирования процедур комплексирования, контроля, управления и связи технических средств САПР при разработке программных приложений. Актуальность данной тематики определяется тем, что в настоящее время все большее внимание уделяется организации высокоэффективного взаимодействия аппаратных средств технического обеспечения САПР в рамках всего комплекса средств САПР. Необходимо отметить, что без тщательного изучения особенностей программной реализации взаимодействия технических средств САПР, разработки рациональных программных процедур управления решить поставленную задачу не представляется возможным. Поэтому именно в указанном направлении можно предвидеть дальнейшее развитие аппаратных и программных средств САПР.

98

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Елманова, Н. З. Введение в Borland C++ Builder 4:

пособие для специалистов/ Н. З. Елманова, С. П. Кошель. М.: Диалог МИФИ, 1999. 352 с.

2.Безруков, В. А. Win32 API. Программирование: учеб. пособие/ В. А. Безруков.– СПб: СПбГУ ИТМО, 2009. – 90 с.

3.Щупак, Ю. А. Win32 API. Эффективная разработка приложений / Ю. А. Щупак. - СПб.: Питер, 2007. - 572 с.

4.Румянцев, П. В. Азбука программирования в Win32 API 3-е издание/ П. В. Румянцев.— М.: Горячая Линия -

Телеком, 2001. — 310 с.

5.Финогенов, К. Г. Win32. Основы программирования/ К. Г. Финогенов. Диалог-МИФИ, 2006. 416 с.

6.Рихтер Дж. Создание эффективных Win32приложений с учётом специфики 64-разрядной версии Windows/ Дж. Рихтер. - СПб.: Питер, 2007. - 524 с.

99

ПРИЛОЖЕНИЕ Структуры данных

Структура POINT

POINT структура координат и размеров. typedef struct tagPOINT {

LONG x; // координата x LONG y; // координата y

} POINT;

Структура DEVMODE

DEVMODE

typedef struct _devicemode {

BCHAR dmDeviceName[CCHDEVICENAME];// сокращенное имя принтера

WORD dmSpecVersion;// версия данной структуры WORD dmDriverVersion;// версия драйвера принтера WORD dmSize;// размер данной структуры в байтах

WORD dmDriverExtra;// размер данных о драйвере в байтах (может быть равен нулю)

DWORD dmFields;// содержит информацию об изменяемых полях структуры

short dmOrientation;// ориентация бумаги (DMORIENT_PORTRAIT (1) или DMORIENT_LANDSCAPE (2))

short dmPaperSize; // размер бумаги short dmPaperLength;// длина бумаги short dmPaperWidth;// ширина бумаги

short dmScale;// масштабирование в процентах (если равно 100 - вывод в натуральную величину)

short dmCopies;// количество копий при печати

short dmDefaultSource;// зарезервировано, должно быть равно нулю

short dmPrintQuality;// качество печати в единицах dpi

100