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


Приложение OEM2ANSI


В качестве примера приведем исходный текст приложения OEM2ANSI, выполняющего перекодировку файла из набора OEM в набор ANSI. На примере этого приложения вы узнаете о стандартных средствах Windows, позволяющих выполнять поиск файлов в каталогах и сохранение файлов под заданным именем и в заданном каталоге. Кроме этого вы узнаете о существовании в программном интерфейсе Windows специальных функций, предназначенных для работы с файлами.

Исходный текст основного файла приложения OEM2ANSI представлен в листинге 5.5.

Листинг 5.5. Файл oem2ansi\oem2ansi.cpp

// ---------------------------------------- // Перекодировка текстового файла // из OEM в ANSI // ----------------------------------------

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

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

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

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

// Открываем входной файл. // В случае ошибки или отказа от выбора // файла завершаем работу приложения hfSrc = GetSrcFile(); if(!hfSrc) return 0;

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

// Выполняем перекодировку файла Oem2Ansi(hfSrc, hfDst);

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

return 0; }

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

HFILE GetSrcFile(void) { // Структура для выбора файла OPENFILENAME ofn;

// Буфер для записи пути к выбранному файлу char szFile[256];

// Буфер для записи имени выбранного файла char szFileTitle[256];

// Фильтр расширений имени файлов char szFilter[256] = "Text Files\0*.txt;*.doc\0Any Files\0*.*\0";

// Идентификатор открываемого файла HFILE hf;




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



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