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


Листинг 4.3. Файл oem3ansi/oem3ansi.cpp


// ---------------------------------------- // Перекодировка текстового файла // из OEM в ANSI с использованием // дополнительной таблицы перекодировки // ----------------------------------------

#define STRICT #include <windows.h> #include <commdlg.h> #include <mem.h>

// Прототипы функций HFILE GetSrcFile(void); HFILE GetDstFile(void); int Oem3Ansi(HFILE, HFILE);

// Указатель на таблицу перекодировки, // которая будет загружена из ресурсов char far * lpXlatTable;

// Идентификатор копии приложения HINSTANCE hInst;

// ------------------------------- // Функция WinMain // -------------------------------

#pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { // Идентификаторы файлов HFILE hfSrc, hfDst;

// Положение ресурса в файле HRSRC hResource;

// Идентификатор таблицы перекодировки HGLOBAL hXlatTable;

// Сохраняем идентификатор копии приложения // в глобальной переменной hInst = hInstance;

// Определяем расположение ресурса hResource = FindResource(hInstance, "XlatTable", "XLAT");

// Получаем идентификатор ресурса hXlatTable = LoadResource(hInstance, hResource);

// Фиксируем ресурс в памяти, получая его адрес lpXlatTable = (char far *)LockResource(hXlatTable);

// Если адрес равен NULL, при загрузке или // фиксации ресурса произошла ошибка if(lpXlatTable == NULL) { MessageBox(NULL, "Resource loading error", NULL, MB_OK); return(-1); }

// Открываем входной файл. hfSrc = GetSrcFile(); if(!hfSrc) return 0;

// Открываем выходной файл hfDst = GetDstFile(); if(!hfDst) return 0;

// Выполняем перекодировку файла if(Oem3Ansi(hfSrc, hfDst)) { MessageBox(NULL, "Low Memory", NULL, MB_OK); }

// Закрываем входной и выходной файлы _lclose(hfSrc); _lclose(hfDst);

// Разблокируем и освобождаем ресурс UnlockResource(hXlatTable); FreeResource(hXlatTable);

return 0; }

// ------------------------------- // Функция GetSrcFile // Выбор файла для перекодировки // -------------------------------




Начало  Назад  Вперед



Книжный магазин