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

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

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

Нанософт / Твоё портфолио

  • Хочешь создать свой собственный, крупный проект?
    На этом уроке мы заложим основу твоей супер-программы —
    Портфолио, которое соберёт в себя все твои лучшие программы.
    Этот проект будет расширяться по мере создания новых программ.

    Задание:
    Создать программу-каталог своих лучших работ на C#.
    Обновлять каталог после каждой созданной программы.
  • Дата отправки отчёта: 17 декабря 2015 г.
  • Задание выполнено: за 2 час. 40 мин.
  • Чему научился: 1) Повторил использование Process.Start для запуска приложений.
    2) TabControl.
    3) Самостоятельно изучал различные способы вывода информации на форму.
  • Что было сложным: Определиться с интерфейсом портфолио.
  • Комментарии: Сначала сделал все как в уроке, кроме момента, когда подключались классы из других проектов. Мне данный подход не понравился, потому что надо помнить обо всех связях, ресурсах и прочих мелочах тех проектов, которые я разрабатывал несколько месяцев назад. Вручную добавлять исходники по одному не комильфо. Поэтому я целиком импортировал свои проекты в "solution", добавил reference на них. В итоге, нет проблем с namespace, все локально и работает как надо.

    Далее я вернулся к первому варианту, где мы просто запускаем исполняемый файл из папки "Exec". Это решение на мой взгляд лучше подходит для портфолио. Здесь это решение можно расширить, используя вместо исполняемого файла инсталятор данного приложения или перенаправить пользователя на нужную страницу в интернете для скачивания программы.

    Достаточно долгое время думал над интерфейсом формы. Причина была в том, что Евгений Витольдович предложил добавлять новые приложения в портфолио. Я задумался, как это можно сделать удобнее. В итоге, перебрав разные варианты, остановился на использовании компонента ListBox для динамического вывода списка приложений. Предложенный в уроке табличный вариант я убрал, так как было неудобно вручную добавлять картинки и описание игр за границы формы. Вместо этого у меня один PictureBox, выводящий картинку той игры, которая выбрана в списке по событию SelectedIndexChanged. Описание выделил в единичный TextBox, текст которого так же зависит от выбранного элемента в списке игр. Все данные хранятся в коллекции List<>, которые по-хорошему надо бы загружать из файла конфигурации, а потом из конкретных файлов описания игр, но это я остановил на будущее. Пока что вся текстовая информация содержится в константах кода программы.

    Спасибо за урок)
  • Оценка видео-уроку:
Отчёт от 7276 за Нанософт / Твоё портфолио


Отчёт от 7276 за Нанософт / Твоё портфолио




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-17 19:26

Ильшат, молодец, отлично проработанный урок!


7276. --
Ильшат
Ильшат
ответить
→  Евгений Волосатов  # Прикладные / Твоё портфолио / 2015-12-17 19:28

Спасибо, Евгений Витольдович)


8. --
Василевская Елена
Василевская Елена
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-17 20:44

Ильшат! Всегда восхищаюсь твоими работами и радуюсь твоим успехам.


7276. --
Ильшат
Ильшат
ответить
→  Василевская Елена  # Прикладные / Твоё портфолио / 2015-12-17 20:48

Спасибо, Елена. Проект Евгения Витольдовича хорошо прокачивает)


6391. --
Владимир
Владимир
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-17 23:19

Хорошо поработал, Ильшат! Комментарий прямо как руководство! Молодец!


6391. --
Владимир
Владимир
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-17 23:19

Хорошо поработал, Ильшат! Комментарий прямо как руководство! Молодец!


7276. --
Ильшат
Ильшат
ответить
→  Владимир  # Прикладные / Твоё портфолио / 2015-12-17 23:25

Спасибо, Владимир)


2146. --
Иван
Иван
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-18 02:29

У вас в каждой программе есть что-то свое: очень интересное и ценное! Спасибо, очень нравится ваш подход к программированию! Есть чему поучится!


7276. --
Ильшат
Ильшат
ответить
→  Иван  # Прикладные / Твоё портфолио / 2015-12-18 13:24

Спасибо, Иван. Секрет прост - сначала делаю так, как предложено на уроке, чтобы понять материал, потом что-то добавляю от себя)


24. --
Олюшка
Олюшка
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-18 17:16

Ильшат, я в восторге от твоей реализации, если честно хотела бы видеообзор твоего творения! :)


7276. --
Ильшат
Ильшат
ответить
→  Олюшка  # Прикладные / Твоё портфолио / 2015-12-18 17:19

Спасибо, Оля, приятно. На самом деле тут все простенько, твои работы гораздо красочнее)


1901. --
Neverwinter 2
Neverwinter 2
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-19 07:08

Супер всё сделал! Держи 20й балл!
Возьму твою идею на вооружение))
Кстати, на счет видеообзора согласен - было бы здорово его увидеть!!


7276. --
Ильшат
Ильшат
ответить
→  Neverwinter 2  # Прикладные / Твоё портфолио / 2015-12-19 15:50

Спасибо) Хорошо, по вашим с Олей просьбах записал небольшой обзор youtu.be/3ZxDZf1XZOc


7276. --
Ильшат
Ильшат
ответить
→  Олюшка  # Прикладные / Твоё портфолио / 2015-12-19 15:50

Оля, записал обзор, посмотри) youtu.be/3ZxDZf1XZOc


24. --
Олюшка
Олюшка
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-19 16:38

Спасибо Огромное, Ильшат! :)
Отличный обзор, теперь я поняла что как ты интересно придумал и реализовал! :)
Молодец! :)


2146. --
Иван
Иван
ответить
→  Ильшат  # Прикладные / Твоё портфолио / 2015-12-19 22:49

Спасибо за обзор, тоже посмотрел. Очень понравилось! Особенно понравилось приведение object tostring, а потом спарсить в инт! Наверное, сам бы до такого не додумался. Теперь буду знать, что так можно делать.


7276. --
Ильшат
Ильшат
ответить
→  Иван  # Прикладные / Твоё портфолио / 2015-12-19 23:29

Спасибо, Иван, за отзыв и за помощь с компонентом календарь)



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





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

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

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

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


Научился: Внедрять решения в проект. И то, не до конца. Принцип понял. Круто конечно иметь свою библиотеку собственных программ.
Трудности: Внедрить решения в проект, настроить, чтобы все работало.
Очень полезный видеоурок. У меня есть один вопрос, может кто сталкивался с такой проблемой. Я создал папку, добавил файлы, прописал пространства имен (namespace), но при запуске выдает ошибку: "Необработанное исключение типа "System.Resources.MissingManifestResourceException" в mscorlib.dll Дополнительные сведения: Не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре. Проверьте правильность внедрения или связывания "Portfolio.Balda.FormBalda.resources" со сборкой "Portfolio" во время компиляции, или убедитесь, что все необходимые сопутствующие сборки полностью подписаны и могут быть загружены." Ошибка в строке: this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); (Designer.cs). Я просто закомментировал эту строку и все работает, НО! иконка не показывается при открытии программы (см. рисунок 2). Такой казус при добавлении игры "Бот для игры Балда", а вот добавлял аналогично игру "Пятнашки (игра 15)", все работает, и иконка отображается. Я там конечно сначала namespace переименовывал, потом еще что-то помудрил и, вуаля, иконка программы есть. А в игре "бот для игры Балда" не хочет. Может кто сталкивался с подобной вещью? И я где-то видел у кого-то в отчете такую "фишку" - увеличение размера картинки при наведении мыши. Захотелось сделать так же - добавил обработчики событий при наведении и убирании (не смог подобрать антоним) мышки с PictureBox (события MouseHover и MouseLeave), получилось довольно неплохо). И сделал это через sender, так гораздо удобнее, так как не надо каждый раз создавать событие при клике на нужный PictureBox. p.s. Прошу прощения за так много буковок)


Научился: Получил небольшой опыт по созданию больших программ.
Трудности: Все было очень доступно и понятно.