русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ввод - вывод данных посредством передачи сообщений

Альтернативой в использовании функций SetDlgItemText ( ) и GetWindowText ( ) является ввод - вывод данных с помощью функции

SendDlgItemMessage ( HWND hDlg,

int ID,

UINT uMessage,

WPARAM wParam,

LPARAM lParam);

где

hDlg – дескриптор окна диалога;

iID – идентификатор органа управления;

uMessage – передаваемое сообщение;

wParam , lParam – параметры, соответствующие сообщению.

Например, для того чтобы вывести десятичное целое число 25 ( int a=25 ) в статическое поле с идентификатором ID_TEXT, расположенном в окне с дескриптором hDlg необходимо преобразовать число к символьному виду и поместить в символьный массив s:

sprintf (s, « %d », a );

а затем передать сообщение WM_SETTEXT:

SendDlgItemMessage ( hDlg, ID_TEXT, WM_SETTEXT, 0, long (s) );

Для считывания числа из редактируемого поля с идентификатором ID_EDIT необходимо передать сообщение WM_GETTEXT:

SendDlgItemMessage ( hDlg, ID_EDIT, WM_GETTEXT, 0, long (s));

а затем преобразовать символьную строку s к соответствующему типу данных, например,

int a = atoi (s) ;

Очевидно, что вместо функции SendDlgItemMessage( ) можно использовать сочетание функций SendMessage ( ) и GetDlgItem ( ), рассмотренное ранее.

Следует отметить, что для ввода - вывода данных можно пользоваться также и макросами Edit_SetText ( ) и Edit_GetText ( ), определенными в windowsx.h .

Функция CreateFile ( )

HANDLE CreateFile (

LPCTSTR lpFileName, // имя файла

DWORD dwDesiredAccess, // доступ чтение / запись

DWORD dwShereMode, // доступен для другого

// приложения

LPSECURITY_ATTRIBUTES lpSecurity, // безопасность

DWORD dwCreation, // перезапись

DWORD dwFlag, // скрытый, системный и т. д.

HANDLE hTemplateFile ); // файл с атрибутами копирование

Функция CreateFile() используется для открытия и закрытия файлов, для создания нового файла.

Первый параметр – указатель на символьную строку, содержащую имя файла.

Второй параметр может иметь следующие значения :

0 – запрашивает устройство без осуществления фактического доступа к нему;

GENERIC_READ – можно читать файл и перемещать указатель файла;

GENERIC_WRITE – можно записывать файл и перемещать его указатель;

Третий параметр может принимать одно из следующих значений:

0 – неразделяемый файл;

FILE_SHARE_READ – доступен другим приложениям для чтения;

FILE_SHARE_WRITE – доступен другим приложениям для записи.

Четвертому параметру в Windows 95 можно присваивать значение NULL. Этот параметр имеет смысл в Windows NT .

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

CREATE_NEW – вызывает отказ в случае, если файл существует;

CREATE_ALWAYS – перезаписывает существующий файл;

OPEN_EXISTING – отказ в случае, если файл не существует;

OPEN_ALWAYS – создает файл, если он не существует;

TRONCATE_EXISTING – файл усекается до 0 байт ( используется вместе со значением второго параметра GENERIC_WRITE ).

Шестой параметр dwFla :

FILE_ATTRIBUTE_ARCHIVE – архивный файл;

FILE_ATTRIBUTE_COMPRESSED – файл или каталог сжаты;

FILE_ATTRIBUTE_NORMAL – нет атрибутов;

FILE_ATTRIBUTE_HIDDEN – скрытый файл;

FILE_ATTRIBUTE_READONLY – файл только для чтения;

FILE_ATTRIBUTE_SYSTEM – используется только операционной системой.

Пример:

HANDLE CreateFile ( «NameFile .txt»,

GENERIC_READ | GENERIC_WRITE,

0, NULL, CREATE_ALWAYS,

FILE_ATTRIBUTE_NORMAL, NULL );

Функция WriteFile ( )

BOOL WriteFile ( HANDLE hFile, // дескриптор файла

LPCVOID lpBuffer, // данные, подлежащие выводу

DWORD NumberBytes , // число выводимых байт

LPDWORD lpBytesWritten, // число записанных байт

LPOVERLAPPED lpOverlapped ) ; // структура для

//перекрываемого

// ввода – вывода

Первый параметр hFile – дескриптор файла, который возвращен функцией

CreateFile().

Второй параметр – указатель на символьную строку, подлежащую выводу.

Третий параметр – число выводимых байт, т.е. .длина символьной строки.

Четвертый параметр – число выведенных байт.

Пятый параметр – должен быть задействован в асинхронном вводе - выводе при работе с каналами, коммуникационными устройствами и т.д.

В случае успешного выполнения функция WriteFile() возвращает значение TRUE.

Просмотров: 473


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.