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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

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

    Задание:
    Создать программу-каталог своих лучших работ на C#.
    Обновлять каталог после каждой созданной программы.
  • Дата отправки отчёта: 5 августа 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Отработал навыки пользования Ресурсами, узнал что можно не только картинки хранить в Ресурсах сборки. Узнал некоторые примочки настройки формы.
  • Что было сложным: разобраться правильно с 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);
    можете использовать мою примочку, если пригодится!
  • Оценка видео-уроку:
Отчёт от 6452 за Нанософт / Твоё портфолио




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Кирилл Шмойлов  # Прикладные / Твоё портфолио / 2015-08-05 12:53

Это ты классно придумал.


24. Оля
Оля
ответить
→  Кирилл Шмойлов  # Прикладные / Твоё портфолио / 2015-08-05 12:18

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



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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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