Изучение интерфейса прикладного программирования Win32, разработка приложения, демонстрирующего возможности ОС по работе с файлами

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 18:55, курсовая работа

Описание

В данной пояснительной записке приведено описание алгоритма и исходного кода программы, демонстрирующей возможности ОС по работе с файлами. Разработаны схемы алгоритмов решения задачи. В среде Microsoft Visual Studio 2005 (C++) разработана и отлажена программа, реализующая представленные алгоритмы. Также представлены результаты решения контрольных примеров, выполненные с помощью разработанной программы.
В приложении приведён текст программы.

Содержание

Описание программы
1.1. Общие сведения о файлах
1.2. Общие сведения о программе
1.3. Функциональное назначение
1.4. Описание логической структуры
1.5. Структурная схема основной программы
1.6. Описание элементов программы
2. Программа в процессе работы
2.1. Создание и редактирование файлов
2.2. Копирование, переименование и удаление файлов
2.3. Поиск файлов
2.4. Просмотр и изменение атрибутов файлов
2.5. Создание ссылок на файлы
2.6. Получение информации о файле
3. Заключение
4. Список используемой литературы
5. Приложение

Работа состоит из  1 файл

ПЗ по ОС.doc

— 652.00 Кб (Скачать документ)

                                          case ID_SEARCH_1:

                                                        {

                                                                      ffd.cFileName[0]=0;

                                                                      SetWindowText(GetDlgItem(hwnd,IDC_EDIT1_5),0);                                                                      GetWindowText(GetDlgItem(hwnd,IDC_EDIT1_4),szDir,10000);

                                                                      hFind = FindFirstFile(szDir, &ffd);

                                                                      do

                                                                      {

                                                                                    if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)

                                                                                    {

                                                                                                  sprintf(buf,"<DIR> %s\r\n",ffd.cFileName);                                                                                                  SendMessage(GetDlgItem(hwnd,IDC_EDIT1_5),EM_REPLACESEL,0,(LPARAM)buf);

                                                                                    }

                                                                                    else

                                                                                    {                                                                                                  if(GetWindowText(GetDlgItem(hwnd,IDC_EDIT1_4),buf,512)==NULL)

                                                                                                  {

                                                                                                                MessageBox(hwnd,"Введите имя файла!","Ошибка",MB_OK);

                                                                                                                break;

                                                                                                  }

                                                                                                  else

                                                                                                  {

                                                                                                                filesize.LowPart = ffd.nFileSizeLow;

                                                                                                                filesize.HighPart = ffd.nFileSizeHigh;

                                                                                                                if(ffd.cFileName[0]!=0)

                                                                                                                {

                                                                                                                              sprintf(buf,"%s размер файла: %d bytes\r\n",ffd.cFileName,filesize.QuadPart);                                                                                    SendMessage(GetDlgItem(hwnd,IDC_EDIT1_5),EM_REPLACESEL,0,(LPARAM)buf);

                                                                                                                }

                                                                                                                else

                                                                                                                              MessageBox(hwnd,"Файл не найден!","Готово",MB_OK);

                                                                                                  }

                                                                                    }

                                                                      }

                                                                      while (FindNextFile(hFind,&ffd)!=0);

                                                                      FindClose(hFind);

                                                                      break;

                                                        }

                                          case ID_SAVE:

                                                        {

                                                                      GetWindowText(GetDlgItem(hwnd,IDC_EDIT2),buffer,512);

                                                                      GetWindowText(GetDlgItem(hwnd,IDC_EDIT1),buf,512);

                                                                      hFile = CreateFile(buf,GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);                                                                      if(WriteFile(hFile,buffer,sizeof(buffer),&dwByte,NULL))

                                                                      {

                                                                                    MessageBox(hwnd,"Файл успешно сохранен!","Готово",MB_OK);

                                                                                    CloseHandle(hFile);

                                                                                    EnableWindow(GetDlgItem(hwnd,IDC_EDIT2),false);

                                                                                    for(int i=0;i<sizeof(buffer);*(buffer+i)=0,i++);

                                                                      }

                                                                      else

                                                                      {

                                                                                    CloseHandle(hFile);

                                                                                    MessageBox(hwnd,"Невозможно сохранить файл!","Ошибка",MB_OK);

                                                                      }

                                                                      SetWindowText(GetDlgItem(hwnd,IDC_EDIT2),0);

                                                                      break;

                                                        }

                                          case ID_CLEAR:

                                                        {

                                                                      SetWindowText(GetDlgItem(hwnd,IDC_EDIT2),0);

                                                                      break;

                                                        }

                                          case ID_ABOUT:                                                        MessageBox(hwnd,"***************************************************\r\n************ FileMen v1.0 Release ************\r\nАвторы: гр.08ВА1 А.Авдонин, Р.Куряев\r\n******** E-Mail: Triple-X7@yandex.ru *******\r\n***************************************************\r\n********** ® 2010 FileMen Release **********","О программе...",MB_OK);

                                                        break;

                                          default:return 0;

                                          }

                                          break;

case WM_PAINT:

              {

                            HDC hdc;

                  PAINTSTRUCT ps;

                            hdc=BeginPaint(hwnd,&ps);

                            HGDIOBJ hOld = SelectObject(hdc, GetStockObject(DC_PEN));

                            for (int i = 0; i < 256; ++i)

                            {

                                          SetDCPenColor(hdc, RGB(0, 0, 0));

                                          MoveToEx(hdc, 0, i*1.5, NULL);

                                          LineTo(hdc, 900, i*1.5);

                            }

                            for (int i = 0; i < 256; ++i)

                            {

                                          SetDCPenColor(hdc, RGB(255-i, 0, i));

                                          MoveToEx(hdc, 0, i*1.5+2, NULL);

                                          LineTo(hdc, 900, i*1.5+2);

                            }

                            SelectObject(hdc, hOld);

                            EndPaint(hwnd,&ps);

        break;

                                          }

                            default:return 0;

              }

              return 1;                    

}

int WINAPI WinMain(

  HINSTANCE hInstance,     

  HINSTANCE hPrevInstance, 

  LPSTR lpCmdLine,         

  int nCmdShow          

)

{

              DialogBox(0,MAKEINTRESOURCE(IDD_MYDIALOG),0,MyDlgProc);

              _CrtDumpMemoryLeaks();

}

- 20 -

 



Информация о работе Изучение интерфейса прикладного программирования Win32, разработка приложения, демонстрирующего возможности ОС по работе с файлами