Операционная система Microsoft Windows 3.1 для программиста -том 2

Файл string\string.cpp


// ---------------------------------------- // Работа с таблицей строк // ----------------------------------------

#define STRICT #include <windows.h>
#include "string.hpp"

// Прототип функции обработки ошибки void Error(void);

#pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { // Буфера для работы со строками BYTE szAppName[20]; BYTE szWindowName[80]; BYTE szMsg[80]; BYTE szBuf[80]; int cb;

// Загружаем строку с идентификатором IDS_APPNAME cb = LoadString(hInstance, IDS_APPNAME, szAppName, sizeof(szAppName));

// Если в буфер записано 0 символов, // это означает, что ресурс не найден. // В этом случае мы вызываем функцию обработки // ошибки и завершаем работу приложения if(!cb) { Error();
return -1; }

// Загружаем строку с идентификатором IDS_WINDOWNAME cb = LoadString(hInstance, IDS_WINDOWNAME, szWindowName, sizeof(szWindowName));

if(!cb) { Error();
return -1; }

// Загружаем строку с идентификатором IDS_MESSAGE cb = LoadString(hInstance, IDS_MESSAGE, szMsg, sizeof(szMsg));

if(!cb) { Error();
return -1; }

// Подготавливаем буфер для вывода сообщения wsprintf(szBuf, szMsg, (LPSTR)szAppName, 1994);

// Выводим сообщение, составленное из строк // и числа 1994 MessageBox(NULL, szBuf, szWindowName, MB_OK | MB_ICONINFORMATION);

return 0; }

// -------------------------------------------- // Функция обработки ошибки загрузки ресурса // -------------------------------------------- void Error(void) { MessageBox(NULL, "Ошибка при загрузке ресурса", "Error", MB_OK | MB_ICONSTOP);
}

В главный файл исходного текста приложения включается include-файл string.hpp (листинг 1.2), в котором описаны символические константы для идентификации строк.



Содержание раздела