Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы должно адекватно отражать суть решаемой проблемы/задачи!
Старый 28.02.2013, 19:57   #1
Arheangel
 
Регистрация: 28.02.2013
Сообщений: 5
По умолчанию Написание программы на C# (с нуля)

Здраствуйте,скажу сразу,я отнюдь не программист,а лишь хочу им стать в будущем,точнее пойти на курсы,но абсолютно без знаний не вижу смысла туда идти,посему пытаюсь хоть немного освоить С# ,почему то именно он мне интересен).Собственно с предисловием покончено,теперь суть) хотел сотворить программу,но абсолютно ничего не вышло,ибо банально не знаю как это написать,затем и сдесь.
Хотелось бы увидеть уже готовый код(если не трудно),или хотя бы подсказки по созданию.
Суть программы которая у меня в голове:
Запуск программы,в которой только две кнопки "Очистить" и "Выход".
"Очистка" просто должна удалить все файлы(которые возможно,ибо у меня например один файл просто не может удалиться) из папки "Temp".вот собственно всё) про смысл этой программы-не спрашивайте,скажем это будет один "+" на пути к становлению программистом.Заранее спасибо.
Arheangel вне форума Ответить с цитированием
Старый 03.03.2013, 15:32   #2
Arheangel
 
Регистрация: 28.02.2013
Сообщений: 5
По умолчанию

Ап. (Меня наверно не правильно поняли,я не хотел что бы программу писали за меня,просто например подсказать каким именно образом это можно сделать.И желательно какими командами руководствоваться.
Arheangel вне форума Ответить с цитированием
Старый 03.03.2013, 15:54   #3
includer
 
Регистрация: 29.01.2013
Сообщений: 8
По умолчанию

Цитата:
Запуск программы,в которой только две кнопки "Очистить" и "Выход".
Создаешь в VS новый проект типа "WindowsFormsApplication", кидаешь на форму 2 кнопки, обзываешь как нужно, щелкаешь по ним 2 раза, подаешь в редактор кода, с созданым обработчиком нажатия кнопки, там пишешь необходимый код.

Цитата:
"Очистка" просто должна удалить все файлы(которые возможно,ибо у меня например один файл просто не может удалиться) из папки "Temp"
Про удаление файлов:
MSDN наше все

Обработки нажатия кнопки "Очистка" может выглядеть так:
Код:
            string sourceDir = @"C:\Temp"; //Каталог для очистки
            try
            {
                string[] fileList = Directory.GetFiles(sourceDir, "*.*"); //Получение списка файлов
                foreach (string file in fileList) //Перебор  полученного списка файлов
                {
                    File.Delete(file); //Удаление  файла
                }
            }catch(Exception ex){
                MessageBox.Show(ex.Message);
            }

Последний раз редактировалось includer; 03.03.2013 в 16:13.
includer вне форума Ответить с цитированием
Старый 04.03.2013, 18:59   #4
Arheangel
 
Регистрация: 28.02.2013
Сообщений: 5
По умолчанию

Огромное спасибо(теперь знаю команды)
правда всё же пару проблем появилось,сделал как ты написал,но осталось две ошибки. а именно:
Ошибка 1 Элемент "Directory" не существует в текущем контексте.
Ошибка 2 Элемент "File" не существует в текущем контексте.
был бы очень благодарен,за ещё одну помощь с вашей стороны)
Arheangel вне форума Ответить с цитированием
Старый 05.03.2013, 11:41   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Обратите внимание на пространства имён в MSDN. "Полное" имя метода Directory.GetFiles - System.IO.Directory.GetFiles. Чтобы не писать System.IO на каждый чих, рекомендуется вместо этого дописать в блок using-объявлений в начале файла using System.IO;. Аналогично с именем File, оно тоже "живёт" в пространстве имён System.IO.
Abstraction вне форума Ответить с цитированием
Старый 05.03.2013, 19:28   #6
Arheangel
 
Регистрация: 28.02.2013
Сообщений: 5
По умолчанию

"using System.IO" Помогло,убрав ошибки,программа работает,ура). Только столкнулся с иной проблемой,как я писал выше,у меня есть файлы которые не удаляются.И проблема состоит в том что когда программа натыкается на эти файлы,она выдаёт ошибку и стопориться,не продолжая работу(очистку)
так что хотелось бы узнать"Как заставить программу,пропускать такие файлы,и чистить то,что возможно",попытался полазить по инету,но так ничего дельного не нашёл,увы. разве что как я понял,делаться это с помощью комманды "сath"
Arheangel вне форума Ответить с цитированием
Старый 05.03.2013, 23:21   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Lonami, если Вы окажетесь в состоянии объяснить, почему Ваше сообщение является уместным в данной теме, то помогу, не вопрос. Нет - не обессудьте.

Arheangel, File.Delete().
Как вариант, использовать внутренний try-catch блок, действительно. Вместо File.Delete(file); пишем
Код:
try {
  File.Delete(file); 
}
catch(IOException){
  continue;//Игнорируем
}
catch(UnauthorizedAccessException){
  continue; //Игнорируем
}
Можно игнорировать и все исключения подряд, конечно, но это не очень правильно (рискуете пропустить логические ошибки в собственной программе).
Abstraction вне форума Ответить с цитированием
Старый 06.03.2013, 18:56   #8
Arheangel
 
Регистрация: 28.02.2013
Сообщений: 5
По умолчанию

"catch,continue" помогло) ещё не подскажете какое разрешение у папок? ибо файлы программа удаляет,да, поиск фалов для удаления выглядет как уже писали в коде выше а именно : "*.*" (тобиш по точке.) Но вот папки она даже не старается удалять)
Arheangel вне форума Ответить с цитированием
Старый 06.03.2013, 19:25   #9
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Посмотрите на справку MSDN по GetFiles. То ли есть второй вариант метода, то ли ещё что-то в этом духе - но, насколько помню, в такой форме GetFiles директории просто не перебирает. Опять же, директория в Windows удаляется Directory.Delete().
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написание программы akmal25 Помощь студентам 4 12.06.2012 22:54
Написание программы Dj Troy Общие вопросы C/C++ 1 17.04.2011 16:19
Исправить ошибки в 2-х программах на сортировку массивов и написать 2 программы с нуля (паскаль) ArsGo Фриланс 3 14.10.2010 09:39
Написание программы на С++ Перфаратар Помощь студентам 8 18.09.2010 19:18