Разработка программы форматирования текстовых файлов
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
°ния и общей оценки качества разработанного ПС была составлена следующая таблица оценки качества (табл. 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