Разработка программы форматирования текстовых файлов

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

°ния и общей оценки качества разработанного ПС была составлена следующая таблица оценки качества (табл. 2):

 

Табл. 2 Оценка качества ПС

№Наименование групп и комплексных показателей качестваОценка1Показатели надежности ПС1.1.Устойчивость функционирования+1.2.Работоспособность+2Показатели сопровождения2.1.Структурность-2.2.Простота конструкции+2.3.Наглядность-2.4.Повторяемость-3Показателя удобства применения3.1.Легкость освоения+3.2.Доступность эксплуатационных программных документов-3.3.Удобство эксплуатации и обслуживания-4Показатели эффективности4.1.Уровень автоматизации+4.2.Временная эффективность+4.3.Ресурсоемкость+5Показатели универсальности5.1.Гибкость+5.2.Мобильность-5.3.Модифицируемость+6Показатели корректности6.1.Полнота реализации-6.2.Согласованность-6.3.Логическая корректность+6.4.Проверенность+Существенным недостатком данного средства является недостаточная визуальность процесса выбора параметров форматирования. Так при выборе параметров форматирования текста можно было сделать отображение влияния параметров на вид текста в реальном времени (по выбору пункта) или выбор отступов и границ текста с помощью мыши, однако программирование такого рода интерфейса желательно делать с использованием средств разработки более высокого уровня нежели WinAPI для ускорения процесса программирования.

В дальнейшем в программное средство возможно добавление возможности передачи параметров работы (файлы, параметры форматирования) в виде аргументов командной строки. Созданное программное изделие, как и многие другие, допускает внесение определенных изменений, дополнений с целью дальнейшей модернизации, усовершенствования (например, в плане внешнего интерфейса или функциональности).

 

Заключение

 

. Результатом данной работы является разработанное приложение txt Formater. Разработанный продукт является полностью функциональным (все необходимые функции в нем реализованы). Несмотря на это, допускается его дальнейшая модернизация как в плане интерфейса, так и в плане функциональных возможностей.

. При разработке программы были использованы современные методологии и технологии, позволяющие в сжатые сроки получить качественный продукт. Программа реализована с помощью среды программирования Microsoft Visual Studio С++ 6.0.

 

Библиографический список

 

1.MSDN.

2.Глушаков С.В., Коваль А.В., Смирнов С.В. Язык программирования С++: Учебный курс. - Харьков: Фолио; М.: ООО "Издательство АСТ", 2001. - 500 с.

.Петзолд. Ч. Программирование для Windows 95 в двух томах. BHV - Санкт-Петербург С. 242.

.Шкарина Л.Н. Методические рекомендации по выполнению научно-исследовательских работ для студентов информационных специальностей университета. // Вестник Хакасского государственного университета им. Н.Ф. Катанова. Выпуск 4. Серия 1: Информатика. - Абакан; Издательство Хакасского государственного университета им. Н.Ф. Катанова, 2000. - С. 232-235.

 

Приложение

 

main.cpp

#include

#include

#include

#include

#include "resource.h"CALLBACK WindowFunc(HWND, UINT, WPARAM, LPARAM);CALLBACK Dlg1Func (HWND Dlg1, UINT message, WPARAM wParam, LPARAM lParam);CALLBACK Dlg2Func (HWND Dlg2, UINT message, WPARAM wParam, LPARAM lParam);CALLBACK DlgAFunc (HWND DlgA, UINT message, WPARAM wParam, LPARAM lParam);ofn;buf[260]="";long fs=0;buf1[260]="";ext[]="txt";

char szWinName[] = "Lab4";hdc;

bool doit=false;Turn;hInst;hwnd,Dlg1,Dlg2,DlgA;* result;number;aa;hfile,hfile1,hfile2;mem,mem1;txtctrl;con=75,aftcon,sp,nd=1,alg=1;sfile[],rfile[],tfile[];cppbs[2048]=" ";spase[2]=" ";WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInstance, LPSTR lpszArgs, int nWinMode)

{msg;wcl;.hInstance=hThisInst;.lpszClassName=szWinName;.lpfnWndProc=WindowFunc;.style=0;.hIcon=LoadIcon(NULL, IDI_APPLICATION);.hCursor=LoadCursor(NULL, IDC_ARROW);.lpszMenuName=(LPCTSTR)IDR_MENU1;.cbClsExtra=0;.cbWndExtra=0;.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);(!RegisterClass(&wcl)) return 0;((unsigned)time(NULL));=CreateWindow(szWinName, "txt Formater",_SYSMENU,_USEDEFAULT,_USEDEFAULT,

,

,_DESKTOP,,,);(hwnd, nWinMode);(hwnd);(GetMessage(&msg, NULL, 0, 0))

{(&msg);(&msg);

}msg.wParam;

}CALLBACK WindowFunc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{(message)

{WM_MOUSEMOVE:;WM_DESTROY:(0);

break;

//обрабатываем команды от главного меню

case WM_COMMAND:(wParam) {

//отображаем диалоговое окно форматированияID_MENUITEM40002:

{=CreateDialog(NULL,(LPCTSTR) IDD_Format, hwnd, Dlg1Func);(Dlg1,SW_SHOW);

};ID_MENUITEM40004:

{=CreateDialog(NULL,(LPCTSTR) IDD_DIALOG1, hwnd, DlgAFunc);(DlgA,SW_SHOW);

};ID_MENUITEM40003:

{=CreateDialog(NULL,(LPCTSTR) IDD_F, hwnd, Dlg2Func);(Dlg2,SW_SHOW);

};

//обрабатываем закрытие приложение через команду менюIDCLOSE:

{(0);

};

//обрабатываем открытие файла пользователемIDFILEOPEN:{

//открываем текстовый файл и отображаем его в окне предварительного просмотра

//заполняем поля структуры, описывающей открываемый файл

ofn.lStructSize=sizeof(OPENFILENAME);.hwndOwner=hwnd;.lpstrFile=buf;.nMaxFile=260;.Flags=OFN_FILEMUSTEXIST;.lpstrDefExt=ext;(!GetOpenFileName(&ofn)) ExitProcess(76);

//открываем файл=CreateFile(buf,GENERIC_READ,0,0,OPEN_EXISTING,0,0);

//создаём область памяти для того чтобы в неё можно было считать файл

mem=VirtualAlloc(0,GetFileSize(hfile,0),MEM_COMMIT,PAGE_READWRITE);

//считываем файл в созданную область памяти

ReadFile(hfile,mem,GetFileSize(hfile,0),&aa,0);

((BYTE*)mem)[GetFileSize(hfile,0)]=0;

//закрываем файл

CloseHandle(hfile);

//выводим содержимое файла в EDIT(txtctrl,(LPCSTR)mem);

//освобождаем область памяти(mem,0,MEM_RELEASE);

//устанавливаем фокус ввода на окно редактирования(txtctrl);

//открываем диалог сохранения файла

ofn.lStructSize=sizeof(OPENFILENAME);.hwndOwner=hwnd;.lpstrFile=buf1; ofn.nMaxFile=260;.Flags=OFN_NOREADONLYRETURN;.lpstrDefExt=ext;(!GetSaveFileName(&ofn)) ExitProcess(76);

//выкидываем пользователю окно диалога(hwnd,WM_COMMAND,ID_MENUITEM40002,0); //и в завершении окно диалога начала форматирования

//MessageBox(NULL,"Задайте параметры форматирования текста и оцените результат в окне предварительного просмотра","Error",MB_OK);

};

}WM_SIZE:(txtctrl,0,0,495,456,1);;WM_SETFOCUS:(txtctrl);;WM_CREATE:=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHIL