Курсы по программированию

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Новые технологии / Обои рабочего стола

  • Составляем программу - менеджер фоновых рисунков для рабочего стола.
  • Дата отправки отчёта: 10 ноября 2014 г.
  • Задание выполнено: за 1 час. 15 мин.
  • Что было сложным: До сих пор не удалось выяснить, почему не удается установить стиль размещения изображения: значения в реестре меняются при смене item'а в ComboBox'e, у меня Win 7 и все числа совпадают. Может, помимо этих двух ключей что-то еще нужно подковырнуть... Потестирую еще на другом компе )
  • Комментарии: "Все пропало" на 42:50. Меня тоже бесит эта "фича" вижуалки. Нужно про неё помнить, стоит напоминать о пользе реализации событий в отдельных функциях :)

    Вместо "path = dir + name" лучше использовать Path.Combine(), вместо ".Add(filename.Replace(dir, ""))" - Path.GetFileName(). Последний вытащит имя в т.ч. и из URL ;)

    Понятно, что время в этом уроке поджимало, но все-таки, такие вещи, как загрузка файла - безусловно должны быть асинхронными. И try-catch для webclient.download, file.delete ну по-любому должен был быть...
  • Оценка видео-уроку:
Отчёт от 1726 за Новые технологии / Обои рабочего стола




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    6452Кирилл Шмойлов+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Взаимодействию с Windows API.
Трудности: Подружиться с Windows API. Да, и почему то в редакторе реестра, в том параметре, где указывается путь к скриншоту, у меня написан короткий путь к файлу, а не полный. Поэтому у меня вместо фона устанавливался черный фон. Пришлось немного пошаманить с переменной dir, чтобы в этот параметр заносился полный путь. Я добился своего, но обратной стороной медали стало то, что теперь в перечне скриншотов в самой программе я не могу избавиться от косой черты в именах файлов. Но основную задачу я при этом выполнил - файлы успешно скачиваются по ссылке и устанавливаются в виде фона. Если будет время и настраение - буду думать как избавиться от косой черты. Спасибо за интересный, хоть и сложный урок.



Научился: Управлять обоями рабочего стола, управлять файлами, создавать папки.
Трудности: Вывести обои рабочего стола (потребовалось указать полный путь)
1) При попытке установить фоновый рисунок экран закрашивался в черный цвет. В реестре путь выглядел как paper/file.jpg. Пришлось прописать полный путь следующим образом: string dir = Environment.CurrentDirectory + "\\paper\\"; Может, конечно, в уроке это место просмотрела. 2) Я не стала удалять PictureBox, а просто освободила ресурсы перед удалением файла, и все получилось: private void list_picture_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Delete) { if (list_picture.SelectedIndex < 0) return; try { picture.Image.Dispose(); // вот эта строка высвобождает ресурсы picture.Image = null; File.Delete(dir + list_picture.SelectedItem.ToString()); ReloadPictures(); } catch { } } }