Несколько прикладных программ для ознакомления.
Каждая программа пишется с нуля.
Доступ к урокам последовательный.
Во время прохождения курса вы самостоятельно
напишете несколько прикладных программ.
# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Добро пожаловать на видеокурсы по созданию программ на языке C#. На этом уроке я расскажу о проекте, в чём идея, миссия, как тут всё работает. Есть текстовый вариант этого видео Первое задание: 1. Установить Visual Studio: Community последней версии | 2008 версии. 2. Напиши, какую последнюю программу ты создал. 3. Приложи скриншот своей последней программы. 4. Напиши, что ты ожидаешь от этих курсов. Мы начинаем! |
|||||
2 |
![]() |
5 тестов |
|||
На этом уроке мы будем писать программу «Двенадцать месяцев». Нам потребуется дюжина картинок, на каждый месяц года. Задание: Создать программу с календарём, которая меняет фоновый рисунок в зависимости от выбранного месяца. Отчёт отправил: 10588. kalobyte Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Работать с компонентами календаря и полем картинок. Ну засовывать и читать картинки в сам исполняемый файл. Сложности: Доработать код, чтобы читал картинки из ресурсов. Комментарии: Насколько я знаю - в исполняемый файл можно вложить ресурсы в виде картинок и тогда не нужны будут исключения. Я потратил еще час на поиск решения - как прочитать динамически из ресурсов. Как работает? 1. Создаем переменную img с универсальным типом object. 2. Получаем некие данные из ресурсов. img = Properties.Resources.ResourceManager.GetObject("_" + month); Сами картинки имеют имена в виде свойсв вида Properties.Resources. _1, Properties.Resources._2... Однако можно получить содержимое в виде набора данных через дополнительный класс ResourceManager и его метод GetObject с именем ресурса. 3. Сконвертировать общий тип object в тип Image при помощи оператора as. pictureBox.Image = img as Image; https://msdn.microsoft.com/en-us/library/cscsdfbt.aspx |
|||||
3 |
![]() |
2 теста |
|||
На этом уроке мы будем переключать карточки и воспроизводить медиа-файлы. Задание: Написать программу для изучения английских слов. Отчёт отправил: 10588. kalobyte Выполнено за 7 час. 00 мин. [Показать отчёт] Научился: Боле менее следить и держать весь проект в голове. Гуглить альтернативные решения, ответы на ошибки компилятора. Добивать проект до конца после многочасовой работы. Уже 13 часов, а встал я в 19 часов прошлого дня. Это вторая задача за это время + перерывы на еду и отвлечение. Сложности: Разобраться с компонентом vlc плеера и правильно задать ему путь к файлу + выставить опции компиляции и интеграции. Комментарии: Плохо, что изначально не было карты с переменными и функциями, чтобы понимать заранее, как будет устроена программа. Иначе уже из головы вылетает, какие типы данных приходят У меня стоит 8.1, обработанная winreducer перед установкой. Медиаплеер с его хламом был удален, как и многие компоненты. Отдельно он не устанавливается, т.к. просто не существует. Поэтому было решено найти альтернативу и она нашлась в виде activex vlc. Потрачены часы на поимку ошибок и разбор с правильным формированием пути к файлу. Путь к файлу начинается с указания протокола file:/// и только потом идет имя файла. file:///d:\\aaa\\bbb\\ccc.mp4" Не перепутайте слеши, а то они аж в глазах мелькают. Компонент добавляется как обычно + нужно добавить ссылки (references). В solution explorer есть пункт references, там правой кнопкой мыши "add reference", в разделе com найти поиском vlc. После этого добавятся 2 ссылки. Потом в коде form1.cs надо добавить using AxAXVLC; Потом самое главное - выставить настройки компиляции в свойствах проекта, раздел build. Для дебага и релиза надо указать платформу х86 в platform target. У кого система 64, нужно принудительно компилировать 86, т.к. обертка для длл влц есть только 32бит. Второй шаг - свойства линковки. В solution explorer в разделе preferences есть 2 ссылки AxAXVLC и AXVLC. Правой кнопкой мыши выбрать свойства и там в embed interop tipes поставить false. А копировать локально - true. После компиляции в папке с .ехе будут 2 файла: Interop.AXVLC.dll и AxInterop.AXVLC.dll Это обертки для axvlc.dll, что лежит в папке самого влц и является activex компонентом. При установке плеера надо выбрать там этот компонент для браузера internet explorer. |
|||||
4 |
![]() |
1 тест |
|||
На этом уроке мы будем работать с буфером обмена и открывать сайты в браузере по умолчанию. Задание: Создать программу для хранения паролей. Отчёт отправил: 10588. kalobyte Выполнено за 10 час. 00 мин. [Показать отчёт] Научился: Работать с новыми контролами. Читать из файла .csv. Рисовать нужное количество контролов в зависимости от данных в файле. Сложности: Ничего. Комментарии: Пришел к пониманию, что нужно переписать код так, чтобы было разделение вида от логики. Вроде как подсказали, что нужен паттерн одиночка, но я его пока не реализовал. На гугление потратил порядка 20 часов по паттернам. Скорей всего нужна будет платная консультация. В этот раз придется забить на этот урок и дальше пробовать, т.к. уже появляются запросы на изготовление софта, а я еще не настолько крут. |
|||||
5 |
![]() |
|
|||
На этом уроке мы познакомимся с компонентами OpenFileDialog, SaveFileDialog. Мы будем их использовать для создания небольшого текстового процессора. Дополнительные возможности - поиск и замена в тексте. Задание: Написать простой текстовый редактор. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: 1. Изучил новый компонент textbox в его более расширенном виде. Думал для многострочного есть textarea. 2. Как заменять текст. Думал это по-другому будет, через функцию замены и она точно никак не связана с textbox типа text_editor.Text.Replace. Сложности: Ничего. Комментарии: Я бы вместо кнопок сделал бы нормальное меню компонентом menuestrip. Так же можно было бы растянуть урок и сделать стандартные функции текстового редактора с отменюй, буфером обмена, то се. Хотя конечно это не ключевые пункты и можно самому уже дома навороты прилепить. |
|||||
6 |
![]() |
|
|||
На этом уроке мы будем работать с графикой. На панели нарисуем графические примитивы и симметрично их многократно дублируем. Прежде чем начать писать программу, почитай о Калейдоскопе на Википедии. Задание: Написать квадратный калейдоскоп. Отчёт отправил: 10588. kalobyte Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Рисовать фигуры. Сложности: Понимание сути отражения фигур. Честно говоря я до сих пор не понял. Матан терпеть не могу. По мне так проще управлять железом или работать с сетью. Поэтому я не стал проходить уроки с играми. Терпеть не могу игры. Комментарии: 1. Слишком сложно. Насколько я понял - цель урока была в реализации алгоритма отражения фигур. Если бв я это делал, то создал бы одну фигуру, размножил бы и показал. Потом бы уже поворачивал. А лучше сделать рисунок анимированный с переменными и чтобы можно было видеть изменения этих значений. Но это конечно возни много с динамическими рисунками. 2 Почему функция init() пишется в файле form1.cs? Получился кусок кода не в том месте, насколько я понимаю. 3 Не понравилось. Названия переменных не отражают их суть. Не знаю как у других, а у меня в голове на протяжении всего урока не было _полной картины_ того, что должно быть сделано, что мы делаем сейчас, что уже сделано и какие переменные когда изменяются. Поэтому понять алгоритм я так и не смог. 4. Предложение. Нужно перед началом урока делать вводную теоретическую часть с рисунками. Не знаю как там другие, а я мыслю образами в голове, поэтому я должен понимать целую картину и держать в голове все эти переменные. Т.е. их как бы предварительно надо инициализировать в голове и выделить под них память. А так они появлялись по ходу написания программы. Я понимаю, что с точки зрения ведущего - это было все очевидно, какая переменная за что отвечает, тем более до этого был вебинар. А вот кто с нуля стал делать по ролику, тому врят ли было понятно. (Когда я учился в высшей технической школе, на экзамене было задание и смысл его был в косметической переделке задания, которое мы делали на лабе 3 часа и кто не был на лабе, тот не смог сдать экзамен по с++, т.к. задание было такое, что без опыта его просто нереально сделать из-за непонимания способа представления реальных вещей в виде кода) Так же надо указывать, в каких пределах переменная поменяется. Т.е. взять размер квадратика 100х100 и нарисовать второй квадратик и показать, что переменная со 100 увеличилась например на 150 и теперь это уже начало или середина второго квадратика. --- Почему-то пропустил этот урок или же он появился недавно? Чисто случайно заметил, что не 100% набрал в этом разделе и решил доделать. Купил курс по ооп еще. |
|||||
7 |
![]() |
1 тест |
|||
ВЫ ПРИНЯТЫ В КЛУБ ТЧК Дорогие друзья! Приглашаю подключиться к нашему Telegram-каналу: Telegram.Me/VideoSharp Это современный и удобный способ получать важные уведомления и новости нашего проекта. Что такое "канал" в телеграмме? Это не чат, здесь не будет никакого флуда, это односторонний канал, в котором публикуются только самые важные новости нашего проекта, приглашения на вебинар, и прочее, всего несколько сообщений в неделю. Ваши контактные данные не будут никому переданы, пока вы сами этого не пожелаете. Всё безопасно и удобно, это новый век, новые технологии. Установите Telegram на свой смартфон и подключайтесь к нам! |
|||||
8 |
![]() |
без видео |
|||
Приглашение на бесплатную консультацию. |
|||||
Итого: 8 видеоуроков |
4 час. 01 мин. 12 тестов |
63 чел. | |||
Финалисты: LINKI, zhikharevav, vip, DbIM, Anton, Александр, Ramzan, Степан, superGrover, Андрей, Вова Завісляк, Snepper, Александр Балбашов, Denis, FireWolf, Кирилл, AlliZzeN, Rise, Dima, Mikhail Vasilev, Айдар, Николай, Павел Демьянов, Dmitry Sinitsin, Chip, Александр, Даниил Лаутеншлегер, Дмитрий, Ivan, DimanDOS, Алексей В., Геннадий Кравцов, Роман, Артём Нагорный, no name, New programist, Сергей Тирпиц, Андрей, Никита Рублев, Владимир, Евгений, ES35, Илья, Daniil, Shahlo, Денис, Эльмир, MaxB, Anatoli, Konstantin, Den Andreevich, falexo, Толстых Александр, AndreyGr, Tim, Иван, София, Владислав Майоров, Grigory, Tom, Евгений Смирнов, Антон, Александр Шлома . |