Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Реализация методов класса Directory ⇐ ПредыдущаяСтр 6 из 6
Реализация методов класса определена в файле “clas2.cpp”. К нему подключается файл, содержащий сам класс “clas.cpp”,в котором описываются методы и функции класса Directory. Рассмотрим некоторые из них: void Directory::vivod(){ system("cls"); cout << "Операция вывода каталога: " << name_kot << endl; cout << "_____________________________________________________________"; for (int i = 0; i < kol_file; i++){ cout << "Имя файла: " << '\t' << '\t' << "| " << KATALOG[i].name << endl; cout << "Расширение: " << '\t' << '\t' << "| " << KATALOG[i].tip << endl; cout << "Дата и время создания: " << '\t' << "| " << KATALOG[i].data_sozd[0] << "." << KATALOG[i].data_sozd[1] << "." << KATALOG[i].data_sozd[2] << " " << KATALOG[i].data_sozd[3] << ":" <<
KATALOG[i].data_sozd[4] << ":" << KATALOG[i].data_sozd[5] << endl;
cout << "Атрибут «только чтение»:" << "| " << KATALOG[i].atr_read << endl; cout << "Атрибут «скрытый»: " << '\t' << "| " << KATALOG[i].atr_skr << endl; cout << "Атрибут «системный»: " << '\t' << "| " << KATALOG[i].atr_sys << endl; cout << "Размер файла: " << '\t' << '\t' << "| " << KATALOG[i].razmer << endl; cout << "____________________________________________________________"; } cout << "Колличество файлов: " << kol_file << " | Общий размер каталога: " << size_katalog << " байт" << endl; cout << "____________________________________________________________"; system("pause"); }
В данном методе происходит вывод данных о файле, либо файлах на экран монитора. Добавлены дизайнерские качества для красоты выведенной информации. В главной программе мы сначала указываем либо вывести данные всех файлов, либо какого-нибудь конкретного. void Directory::peresechenie(Directory peresech){ USES_CONVERSION; int kol_f; string Put, BUFF, Put2; Put2 = peresech.put_katalog + "\\Пересечение с " + name_kot; LPCWSTR a1 = A2W((Put2 + "\\*.*").c_str()); WIN32_FIND_DATA FindFileData1; HANDLE hf1; hf1 = FindFirstFile(a1, &FindFileData1); if (hf1!= INVALID_HANDLE_VALUE){ do{ if ((FindFileData1.cFileName[0])!= '.'){ BUFF = W2A(FindFileData1.cFileName); remove((Put2 + "\\" + BUFF).c_str()); }
FindClose(hf1); } CreateDirectory(A2W(Put2.c_str()), NULL); Put = put_katalog + "\\Пересечение с " + peresech.name_kot; LPCWSTR a = A2W((Put + "\\*.*").c_str()); WIN32_FIND_DATA FindFileData; HANDLE hf; hf = FindFirstFile(a, &FindFileData); if (hf!= INVALID_HANDLE_VALUE){ do{ if ((FindFileData.cFileName[0])!= '.'){ BUFF = W2A(FindFileData.cFileName); remove((Put + "\\" + BUFF).c_str()); }
} while (FindNextFile(hf, &FindFileData)!= 0); FindClose(hf);
} CreateDirectory(A2W(Put.c_str()), NULL); kol_f = 0; for (int i = 0; i < kol_file; i++){ for (int j = 0; j < peresech.kol_file; j++){ if ((KATALOG[i].name == peresech.KATALOG[j].name) && (KATALOG[i].tip == peresech.KATALOG[j].tip)){ CopyFile(A2W((put_katalog + "\\" + KATALOG[i].name + "." + KATALOG[i].tip).c_str()), A2W((Put + "\\" + KATALOG[i].name + "." + KATALOG[i].tip).c_str()), true); CopyFile(A2W((put_katalog + "\\" + KATALOG[i].name + "." + KATALOG[i].tip).c_str()), A2W((Put2 + "\\" + KATALOG[i].name + "." + KATALOG[i].tip).c_str()), true); cout << "Имя файла: " << '\t' << '\t' << "| " << KATALOG[i].name << endl; cout << "Расширение: " << '\t' << '\t' << "| " << KATALOG[i].tip << endl; cout << "Дата и время создания: " << '\t' << "| " << KATALOG[i].data_sozd[0] << "." << KATALOG[i].data_sozd[1] << "." << KATALOG[i].data_sozd[2] << " " << KATALOG[i].data_sozd[3] << ":" << KATALOG[i].data_sozd[4] << ":" << KATALOG[i].data_sozd[5] << endl; cout << "Дата и время изменения: " << "| " << KATALOG[i].data_izm << endl; cout << "Атрибут «только чтение»:" << "| " << KATALOG[i].atr_read << endl; cout << "Атрибут «скрытый»: " << '\t' << "| " << KATALOG[i].atr_skr << endl; cout << "Атрибут «системный»: " << '\t' << "| " << KATALOG[i].atr_sys << endl; cout << "Размер файла: " << '\t' << '\t' << "| " << KATALOG[i].razmer << endl; cout << "____________________________________________________"; kol_f++; } } } cout << "Колличество файлов: " << kol_f << endl; cout << "____________________________________________________________"; system("pause"); }
заключение
- изучен процесс реализации классов на языке программирования C++. В - изучен материал Win-Api для работы с файлами и каталогами. - Усвоен принципы работы библиотек необходимых для выполнения задания. - Осуществлён комфортный и легкий в освоении интерфейс. Таким образом все поставленные задачи были выполнены, а цель достигнута
1. Основы объектно-ориентированного программирования [Электронный ресурс]. – Режим доступа: http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f35.html. – Заглавие с экрана. – (Дата обращения: 22.05.2015г.). 2. Объектно-ориентированное программирование – Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование#. – (Дата обращения: 22.05.2015г.). 3. Павловская, Т.А. С/C++ Программирование на языке высокого уровня / Т.А. Павловская. – СПб.: Питер, 2003. – 461с.: ил. 4. Лафоре, Р. Объектно-ориентированное программирование в С++ / О. Лафоре. – 4-е изд. – СПб.: Питер, 2004. – 923с. Date: 2016-05-23; view: 343; Нарушение авторских прав |