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

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

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

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

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

    Задание:
    Создать программу-каталог своих лучших работ на C#.
    Обновлять каталог после каждой созданной программы.
  • Дата отправки отчёта: 2 марта 2016 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Работать с ресурсами,открывать программно любое приложение,веб-сайт.
  • Что было сложным: Ничего
  • Комментарии: Все хорошо,очень интересный урок.
  • Оценка видео-уроку:
Отчёт от 9427 за Нанософт / Твоё портфолио


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




Оцени работу

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

5760. --
Мариша
Мариша
ответить
→  Иван Алексеевич  # Прикладные / Твоё портфолио / 2016-03-02 20:00

А где скриншот программы???


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Алексеевич  # Прикладные / Твоё портфолио / 2016-03-02 21:39

Нужно приложить скриншот программы.



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





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

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

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

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


Научился: 1) Повторил использование Process.Start для запуска приложений. 2) TabControl. 3) Самостоятельно изучал различные способы вывода информации на форму.
Трудности: Определиться с интерфейсом портфолио.
Сначала сделал все как в уроке, кроме момента, когда подключались классы из других проектов. Мне данный подход не понравился, потому что надо помнить обо всех связях, ресурсах и прочих мелочах тех проектов, которые я разрабатывал несколько месяцев назад. Вручную добавлять исходники по одному не комильфо. Поэтому я целиком импортировал свои проекты в "solution", добавил reference на них. В итоге, нет проблем с namespace, все локально и работает как надо. Далее я вернулся к первому варианту, где мы просто запускаем исполняемый файл из папки "Exec". Это решение на мой взгляд лучше подходит для портфолио. Здесь это решение можно расширить, используя вместо исполняемого файла инсталятор данного приложения или перенаправить пользователя на нужную страницу в интернете для скачивания программы. Достаточно долгое время думал над интерфейсом формы. Причина была в том, что Евгений Витольдович предложил добавлять новые приложения в портфолио. Я задумался, как это можно сделать удобнее. В итоге, перебрав разные варианты, остановился на использовании компонента ListBox для динамического вывода списка приложений. Предложенный в уроке табличный вариант я убрал, так как было неудобно вручную добавлять картинки и описание игр за границы формы. Вместо этого у меня один PictureBox, выводящий картинку той игры, которая выбрана в списке по событию SelectedIndexChanged. Описание выделил в единичный TextBox, текст которого так же зависит от выбранного элемента в списке игр. Все данные хранятся в коллекции List<>, которые по-хорошему надо бы загружать из файла конфигурации, а потом из конкретных файлов описания игр, но это я остановил на будущее. Пока что вся текстовая информация содержится в константах кода программы. Спасибо за урок)


Научился: Отработал навыки пользования Ресурсами, узнал что можно не только картинки хранить в Ресурсах сборки. Узнал некоторые примочки настройки формы.
Трудности: разобраться правильно с namespace
я вставил такую функцию: private void zapusk_exe(byte[] res) { //процедурка создает файл из солюшена, запускает его, и после его закрытия удаляет запускаемый файл File.WriteAllBytes("my_file123123123123132343222.exe",res);//чтобы не совпало с уже существующим именем Process pr=new Process(); pr.StartInfo = new ProcessStartInfo("my_file123123123123132343222.exe"); pr.Start(); pr.WaitForExit(); File.Delete("my_file123123123123132343222.exe"); } запуск происходит: zapusk_exe(Properties.Resources.SecretPicture); можете использовать мою примочку, если пригодится!